@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600,700");
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #2d3748;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 1rem;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: 0.875rem;
}

p {
  margin-bottom: 1rem;
}

a {
  color: #005f5f;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:focus {
  outline: 2px solid #005f5f;
  outline-offset: 2px;
}

ul,
ol {
  list-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

input,
textarea,
select {
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}
img.country-flag, img.flag-sm, img.flag-md, img.flag-lg {
  max-width: none !important;
  height: auto;
  display: inline-block;
}

button:focus {
  outline: none;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.text-xs {
  font-size: 0.75rem;
}

.text-sm {
  font-size: 0.875rem;
}

.text-base {
  font-size: 1rem;
}

.text-lg {
  font-size: 1.25rem;
}

.text-xl {
  font-size: 1.5rem;
}

.text-xxl {
  font-size: 2rem;
}

.text-xxxl {
  font-size: 2.5rem;
}

.font-light {
  font-weight: 300;
}

.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-bold {
  font-weight: 700;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.truncate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.text-primary {
  color: #005f5f;
}

.text-secondary {
  color: #4a5568;
}

.text-muted {
  color: #4a5568 !important;
}

.text-success {
  color: #22c55e;
}

.text-warning {
  color: #f59e0b;
}

.text-error {
  color: #dc2626;
}

.leading-tight {
  line-height: 1.2;
}

.leading-normal {
  line-height: 1.5;
}

.leading-relaxed {
  line-height: 1.75;
}

/*
Irish Healthcare Bootstrap Theme for EU NCP Portal
Based on Irish Healthcare Digital Design Standards
Generated: September 16, 2025
*/
/* Irish Healthcare Official Color Palette - HSE.ie Inspired */
:root {
  /* HSE Primary Healthcare Colors */
  --healthcare-blue: #005eb8; /* HSE Primary Blue */
  --healthcare-dark-blue: #003d7a; /* HSE Dark Blue */
  --healthcare-light-blue: #005f5f; /* Accessible darker teal for headers (7.2:1 contrast) */
  --healthcare-light-blue-original: #e8f4fd; /* Original light blue (accessibility issue) */
  --healthcare-navy: #1c3d72; /* HSE Navy */
  /* HSE Secondary Colors */
  --healthcare-green: #006747; /* HSE Dark Green */
  --healthcare-light-green: #e8f5f0; /* HSE Light Green */
  --healthcare-orange: #e17000; /* HSE Orange - more muted */
  --healthcare-red: #c5282f; /* HSE Red - less aggressive */
  /* HSE Neutral Colors */
  --healthcare-white: #ffffff;
  --healthcare-light-grey: #f8f9fa;
  --healthcare-grey: #6c757d;
  --healthcare-dark-grey: #495057;
  --healthcare-charcoal: #212529;
  /* HSE Accessible Colors for Better Contrast */
  --healthcare-text-dark: #1d1d1b; /* High contrast text */
  --healthcare-text-light: #ffffff;
  --healthcare-text-grey: #6c757d; /* Grey text for headers */
  --healthcare-border: #d4d4d4;
  --healthcare-background: #f7f7f7;
  /* Enhanced HSE.ie Color Palette 2025 */
  --healthcare-blue-accent: #4a90e2; /* Lighter blue for variety */
  --healthcare-green-accent: #27ae60; /* Brighter green */
  --healthcare-red-accent: #e74c3c; /* Vibrant red */
  --healthcare-orange-accent: #f39c12; /* Warm orange */
  --healthcare-purple: #8e44ad; /* Professional purple */
  --healthcare-teal: #005f5f; /* Healthcare Organisation teal - Professional dark teal for accessibility */
  --healthcare-bright-green: #00ff3a; /* Bright green for hover/active effects */
  /* Typography */
  --healthcare-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif;
  --healthcare-heading-weight: 600;
  --healthcare-body-weight: 400;
}

/* Global Bootstrap Overrides */
body {
  font-family: var(--healthcare-font-family) !important;
  color: var(--healthcare-charcoal) !important;
  background-color: var(--healthcare-white) !important;
  line-height: 1.6 !important;
}

/* Healthcare Primary Colors - Override Bootstrap Primary */
.btn-primary,
.bg-primary {
  background-color: var(--healthcare-blue) !important;
  border-color: var(--healthcare-blue) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--healthcare-dark-blue) !important;
  border-color: var(--healthcare-dark-blue) !important;
}

/* Ensure Font Awesome icons in primary buttons are white */
.btn-primary i,
.btn-primary .fa-solid,
.btn-primary .far,
.btn-primary .fal,
.btn-primary .fab,
.btn-primary .fa {
  color: white !important;
}

.btn-primary:hover i,
.btn-primary:focus i,
.btn-primary:hover .fa-solid,
.btn-primary:focus .fa-solid,
.btn-primary:hover .far,
.btn-primary:focus .far,
.btn-primary:hover .fal,
.btn-primary:focus .fal,
.btn-primary:hover .fab,
.btn-primary:focus .fab,
.btn-primary:hover .fa,
.btn-primary:focus .fa {
  color: white !important;
}

.text-primary {
  color: var(--healthcare-blue) !important;
}

.border-primary {
  border-color: var(--healthcare-blue) !important;
}

/* Healthcare Success Colors */
.btn-success,
.bg-success {
  background-color: var(--healthcare-green) !important;
  border-color: var(--healthcare-green) !important;
}

.text-success {
  color: var(--healthcare-green) !important;
}

/* Healthcare Warning Colors */
.btn-warning,
.bg-warning {
  background-color: var(--healthcare-orange) !important;
  border-color: var(--healthcare-orange) !important;
  color: var(--healthcare-white) !important;
}

.text-warning {
  color: var(--healthcare-orange) !important;
}

/* Healthcare Danger Colors */
.btn-danger,
.bg-danger {
  background-color: var(--healthcare-red) !important;
  border-color: var(--healthcare-red) !important;
}

.text-danger {
  color: var(--healthcare-red) !important;
}

/* Healthcare Grey Badge - Professional document badge styling */
.bg-healthcare-grey {
  background-color: var(--healthcare-grey) !important;
  color: var(--healthcare-white) !important;
  border-color: var(--healthcare-grey) !important;
}

/* Healthcare Navigation Styling - Only for pages without custom navigation */
.navbar:not(#main-navigation) {
  background-color: var(--healthcare-white) !important;
  border-bottom: 3px solid var(--healthcare-blue);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.navbar-brand {
  color: var(--healthcare-blue) !important;
  font-weight: var(--healthcare-heading-weight);
  font-size: 1.5rem;
}

.navbar-brand:hover {
  color: var(--healthcare-dark-blue) !important;
}

.nav-link {
  color: var(--healthcare-dark-grey) !important;
  font-weight: 500;
  padding: 0.75rem 1rem;
  border-radius: 4px;
  margin: 0 0.25rem;
  transition: all 0.2s ease;
}

.nav-link:hover,
.nav-link.active {
  color: var(--healthcare-white) !important;
  background-color: var(--healthcare-blue);
}

.nav-link i {
  margin-right: 0.5rem;
  width: 16px;
}

/* Healthcare Card Styling - HSE Colors */
.card {
  border: 1px solid var(--healthcare-border);
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s ease;
}

.card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.card-header {
  background-color: var(--healthcare-light-blue);
  border-bottom: 1px solid #004a4a;
  color: var(--healthcare-text-light) !important;
  font-weight: var(--healthcare-heading-weight);
}
.card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6,
.card-header p, .card-header span, .card-header div, .card-header .card-title, .card-header .card-description {
  color: var(--healthcare-text-light) !important;
}
.card-header i, .card-header .fa, .card-header .fas, .card-header .far, .card-header .fab {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.card-header .card-title i.fa-search,
.card-header .card-title i.fa-solid.fa-search {
  color: var(--healthcare-text-light) !important;
  font-size: 1.2em !important;
  margin-right: 0.75rem !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

/* HSE Card Header Color Updates */
.card-header.bg-primary {
  background-color: #005f5f !important;
  color: var(--healthcare-text-light) !important;
  border-bottom-color: #004a4a;
}

.card-header.bg-success {
  background-color: var(--healthcare-green) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom-color: #004d35;
}

.card-header.bg-info {
  background-color: var(--healthcare-blue) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom-color: var(--healthcare-dark-blue);
}

.card-header.bg-warning {
  background-color: var(--healthcare-orange) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom-color: #b55a00;
}

.card-header.bg-danger {
  background-color: var(--healthcare-red) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom-color: #a71e22;
}

.card-header.bg-secondary {
  background-color: var(--healthcare-grey) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom-color: var(--healthcare-dark-grey);
}

.card-header.bg-dark {
  background-color: var(--healthcare-navy) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom-color: #0f2a52;
}

/* Healthcare Button Styling */
.btn {
  border-radius: 6px;
  font-weight: 500;
  padding: 0.6rem 1.2rem;
  transition: all 0.2s ease;
  border-width: 2px;
}

.btn-outline-primary {
  color: var(--healthcare-teal, #005f5f) !important;
  border-color: var(--healthcare-teal, #005f5f) !important;
  background-color: transparent !important;
}
.btn-outline-primary i, .btn-outline-primary .fa, .btn-outline-primary .fas, .btn-outline-primary .far, .btn-outline-primary .fab {
  color: var(--healthcare-teal, #005f5f) !important;
}

.btn-outline-primary:hover {
  background-color: var(--healthcare-teal, #005f5f) !important;
  border-color: var(--healthcare-teal, #005f5f) !important;
  color: var(--healthcare-white, #ffffff) !important;
}
.btn-outline-primary:hover i, .btn-outline-primary:hover .fa, .btn-outline-primary:hover .fas, .btn-outline-primary:hover .far, .btn-outline-primary:hover .fab {
  color: var(--healthcare-white, #ffffff) !important;
}

.btn[href*=logout]:hover i, .btn[href*=logout]:hover .fa, .btn[href*=logout]:hover .fas, .btn[href*=logout]:hover .far, .btn[href*=logout]:hover .fab,
a.btn[href*=logout]:hover i,
a.btn[href*=logout]:hover .fa,
a.btn[href*=logout]:hover .fas,
a.btn[href*=logout]:hover .far,
a.btn[href*=logout]:hover .fab {
  color: var(--healthcare-teal, #005f5f) !important;
}

/* Healthcare Table Styling */
.table {
  border-radius: 8px;
  overflow: hidden;
}

.table thead th {
  background-color: var(--healthcare-blue);
  color: var(--healthcare-white);
  border: none;
  font-weight: var(--healthcare-heading-weight);
  letter-spacing: 0.5px;
}

.table tbody tr:hover {
  background-color: var(--healthcare-light-blue);
}

/* Healthcare Alert Styling */
.alert {
  border-radius: 8px;
  border-width: 1px;
  font-weight: 500;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: relative;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

/* Icons are handled by template FontAwesome elements, not CSS pseudo-elements */
/* This prevents duplicate icons in success/warning/error alerts */
.alert.alert-primary {
  background-color: var(--healthcare-light-blue);
  border-color: var(--healthcare-blue);
  color: white; /* White text for dark teal background (#005f5f) - 7.2:1 contrast */
  padding: 1.25rem;
  border-left: 4px solid var(--healthcare-blue);
  border-radius: 0.375rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.alert.alert-primary .alert-heading {
  color: white; /* White heading on dark background - WCAG AAA compliant */
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

.alert.alert-primary .alert-icon {
  color: white; /* White icon on dark background for consistency */
}

.alert.alert-primary::before {
  content: none; /* Remove pseudo-element since we use actual icon */
}

.alert.alert-success {
  background-color: #e8f8f0;
  border-color: var(--healthcare-green);
  color: #155724;
}

.alert.alert-warning {
  background-color: #fff3e0;
  border-color: var(--healthcare-orange);
  color: #856404;
}

.alert.alert-danger,
.alert.alert-error {
  background-color: #f8e8e9;
  border-color: var(--healthcare-red);
  color: #2d0e0f; /* Much darker for WCAG AAA compliance (8.5:1 contrast ratio) */
}

.alert.alert-info {
  background-color: #e1f5fe;
  border-color: #0288d1;
  color: #01579b;
}

/* Alternative: Use actual Font Awesome icons instead of pseudo-elements */
.alert .alert-icon {
  font-size: 1.1rem;
  margin-right: 0.75rem;
  flex-shrink: 0;
}

.alert.alert-primary .alert-icon {
  color: var(--healthcare-blue);
}

.alert.alert-success .alert-icon {
  color: var(--healthcare-green);
}

.alert.alert-warning .alert-icon {
  color: var(--healthcare-orange);
}

.alert.alert-danger .alert-icon,
.alert.alert-error .alert-icon {
  color: var(--healthcare-red);
}

.alert.alert-info .alert-icon {
  color: #0288d1;
}

/* Alert Headings */
.alert-heading {
  font-weight: var(--healthcare-heading-weight);
  margin-bottom: 0.5rem;
  color: inherit;
  font-size: 1rem;
}

/* Alert Close Button Styling */
.alert .btn-close {
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  z-index: 2;
  padding: 0.375rem;
}

.alert .btn-close:focus {
  box-shadow: 0 0 0 0.25rem rgba(0, 120, 212, 0.25);
}

/* Flash Message Specific Styling */
.flash-messages {
  position: relative;
  z-index: 1050;
}

.flash-messages .alert {
  animation: slideInDown 0.3s ease-out;
}

@keyframes slideInDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/* Responsive Alert Styling */
@media (max-width: 768px) {
  .alert {
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    padding-left: 2.5rem;
  }
  .alert::before {
    left: 0.75rem;
    font-size: 1rem;
    top: 1rem;
  }
  .alert .btn-close {
    top: 0.5rem;
    right: 0.75rem;
  }
}
/* Healthcare Navigation Tabs - Clean Dashboard Style */
.nav-tabs-healthcare {
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 0;
  background: transparent;
}

.nav-tabs-healthcare .nav-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 1rem !important;
  text-align: center !important;
  position: relative !important;
}
.nav-tabs-healthcare .nav-link .tab-content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.25rem !important;
}
.nav-tabs-healthcare .nav-link .tab-content i {
  font-size: 1rem !important;
  line-height: 1 !important;
}
.nav-tabs-healthcare .nav-link .tab-content .tab-text {
  font-size: 0.9rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.nav-tabs-healthcare .nav-link .badge {
  align-self: center !important;
  margin-top: 0 !important;
}
.nav-tabs-healthcare .nav-link {
  color: #6b7280;
  background-color: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  margin-right: 0.75rem;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  font-size: 0.875rem;
}

.nav-tabs-healthcare .nav-link:hover {
  color: #374151;
  background-color: #ffffff;
  border-color: #d1d5db;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}

.nav-tabs-healthcare .nav-link.active {
  color: #005f5f;
  background-color: #ffffff;
  border-color: #005f5f;
  font-weight: 600;
  box-shadow: 0 3px 8px rgba(0, 95, 95, 0.2);
}

.nav-tabs-healthcare .nav-link.active:hover {
  color: #005f5f;
  background-color: #ffffff;
  transform: translateY(-1px);
}

.nav-tabs-healthcare .nav-link i {
  color: inherit;
  transition: color 0.2s ease;
  font-size: 1rem;
}

.nav-tabs-healthcare .badge {
  background-color: #6b7280;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
}

/* Integrated Patient Header Tabs - Clean Dashboard Style */
.card .nav-tabs-healthcare {
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 1rem;
  background: #f8f9fa;
  border-radius: 0;
  padding: 1rem;
  box-shadow: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.card .nav-tabs-healthcare .nav-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 1rem !important;
  text-align: center !important;
  position: relative !important;
}
.card .nav-tabs-healthcare .nav-link .tab-content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.25rem !important;
}
.card .nav-tabs-healthcare .nav-link .tab-content i {
  font-size: 1rem !important;
  line-height: 1 !important;
}
.card .nav-tabs-healthcare .nav-link .tab-content .tab-text {
  font-size: 0.9rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.card .nav-tabs-healthcare .nav-link .badge {
  align-self: center !important;
  margin-top: 0 !important;
}
.card .nav-tabs-healthcare .nav-link {
  color: #6b7280;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  font-weight: 500;
  margin-bottom: 0;
  margin-right: 0;
  transition: all 0.2s ease;
  position: relative;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  text-shadow: none;
  min-width: 160px;
  justify-content: center;
  padding: 0.75rem 1rem;
}

.card .nav-tabs-healthcare .nav-link:hover {
  color: #374151;
  background-color: #ffffff;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.card .nav-tabs-healthcare .nav-link.active {
  color: #005f5f;
  background-color: #ffffff;
  border-color: #005f5f;
  font-weight: 600;
  box-shadow: 0 3px 8px rgba(0, 95, 95, 0.2);
}

.card .nav-tabs-healthcare .nav-link.active:hover {
  color: #005f5f;
  background-color: #ffffff;
  border-color: #005f5f;
  transform: translateY(-1px);
}

/* Clean Badge Styling in Tabs - Dashboard Style */
.card .nav-tabs-healthcare .nav-link .badge {
  border-radius: 12px !important;
  box-shadow: none;
  border: none;
  /* Clean default inactive tab badges */
  background-color: #6b7280 !important; /* Muted gray */
  color: white !important;
  font-weight: 600;
  font-size: 0.75rem;
  min-width: 20px;
  min-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.375rem;
}

/* Active tab badges - Healthcare Organisation teal */
.card .nav-tabs-healthcare .nav-link.active .badge {
  background-color: #005f5f !important; /* Healthcare Organisation teal */
  color: white !important;
  border: none !important;
  font-weight: 700;
  box-shadow: none;
}

/* Hover states for interactive feedback */
.card .nav-tabs-healthcare .nav-link:hover .badge {
  background-color: #374151 !important; /* Darker gray for hover */
  color: white !important;
  transform: none; /* No scaling for cleaner look */
  transition: all 0.2s ease;
}

/* Active tab hover state */
.card .nav-tabs-healthcare .nav-link.active:hover .badge {
  background-color: #004a4a !important; /* Darker teal for active hover */
  color: white !important;
  border: none !important;
  transform: none;
}

/* Disabled tab badges - muted */
.card .nav-tabs-healthcare .nav-link:disabled .badge,
.card .nav-tabs-healthcare .nav-link[disabled] .badge {
  background-color: #d1d5db !important; /* Light gray background */
  color: #9ca3af !important; /* Muted gray text */
  border: none !important;
  font-weight: 500;
  opacity: 0.8; /* Slight transparency to indicate disabled state */
}

/* WCAG 2.2 COMPLIANT: Disabled tab hover state - maintain contrast */
.card .nav-tabs-healthcare .nav-link:disabled:hover .badge,
.card .nav-tabs-healthcare .nav-link[disabled]:hover .badge {
  background-color: #004a9f !important; /* Darker blue on hover */
  color: white !important; /* Maintain white text */
  border-color: rgba(255, 255, 255, 0.9) !important; /* Stronger border on hover */
}

/* Clean override for bg-info badge in tabs */
.card .nav-tabs-healthcare .nav-link.active .badge.bg-info {
  color: white !important;
  background-color: #005f5f !important; /* Healthcare Organisation teal */
  border: none !important;
}

/* Clean Tab Icons */
.card .nav-tabs-healthcare .nav-link i {
  color: inherit;
  transition: color 0.2s ease;
  font-size: 1rem;
}

/* Extended Patient Information Custom Tab Buttons - Clean Dashboard Style */
.tab-navigation {
  display: flex;
  margin-bottom: 1rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
  padding: 0.75rem;
  gap: 0.5rem;
  box-shadow: none;
  border: 1px solid #e5e7eb;
}

.tab-button {
  background-color: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  cursor: pointer;
  font-weight: 500 !important;
  color: #6b7280 !important;
  border-radius: 0.375rem !important;
  transition: all 0.2s ease !important;
  position: relative;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  text-shadow: none !important;
  margin-right: 0 !important;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}
.tab-button .badge {
  vertical-align: middle;
  margin-left: 0.5rem;
  background-color: #6b7280;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0.375rem;
  padding: 0.25rem 0.5rem;
}
.tab-button i {
  margin-right: 0.5rem;
  vertical-align: middle;
  color: inherit;
}

.tab-button:hover {
  color: #374151 !important;
  background-color: #ffffff !important;
  border-color: #d1d5db !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  text-shadow: none !important;
}

.tab-button.active,
.nav-tabs .tab-button.active,
.nav-tabs .nav-link.tab-button.active {
  color: #005f5f !important;
  background-color: #ffffff !important;
  border-color: #005f5f !important;
  font-weight: 600 !important;
  transform: none !important;
  box-shadow: 0 3px 8px rgba(0, 95, 95, 0.2) !important;
  text-shadow: none !important;
  z-index: 10;
}

/* CRITICAL: Override Bootstrap nav-tabs rule that forces white text */
.nav-tabs .nav-link.active.tab-button,
.nav-tabs .nav-link.tab-button.active,
.nav-tabs .tab-button.nav-link.active {
  color: #005f5f !important;
  background-color: #ffffff !important;
}

.tab-button.active:hover,
.nav-tabs .tab-button.active:hover,
.nav-tabs .nav-link.tab-button.active:hover,
.nav-tabs .nav-link.active.tab-button:hover,
.nav-tabs .tab-button.nav-link.active:hover {
  color: #005f5f !important;
  background-color: #ffffff !important;
  border-color: #005f5f !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(0, 95, 95, 0.25) !important;
}

.tab-button.active .badge {
  background-color: #005f5f !important;
  color: #ffffff !important;
}

/* Clean Tab Button Icons */
.tab-button i {
  margin-right: 0.5rem !important;
  font-size: 1rem !important;
  transition: color 0.2s ease !important;
}

/* Tab Content Styling */
.tab-content {
  background-color: transparent;
  border: none;
  min-height: 200px;
}

.tab-pane {
  padding: 0;
}

/* Integrated Patient Header Tab Content */
#patientTabContent .tab-pane {
  background-color: white;
}

#patientTabContent .tab-pane .p-4 {
  border-top: 1px solid #dee2e6;
}

/* Primary Tab Content - Full Width Cards */
#primaryTabContent .tab-pane .card {
  width: 100%;
  margin-bottom: 0;
}

#primaryTabContent .tab-pane .card-body {
  padding: 2rem;
}

/* Secondary Tab Content (Extended Patient Info) */
#extendedInfoTabContent .tab-pane {
  padding: 1.5rem;
  background-color: white;
  border: 1px solid #dee2e6;
  border-top: none;
  border-radius: 0 0 0.5rem 0.5rem;
}

/* Extended Patient Information Cards */
.card.border-primary {
  border-color: var(--healthcare-blue) !important;
}

.card.border-success {
  border-color: var(--healthcare-green) !important;
}

.card.border-info {
  border-color: #0dcaf0 !important;
}

.card.border-warning {
  border-color: var(--healthcare-orange) !important;
}

.card.border-secondary {
  border-color: #6c757d !important;
}

.card.border-dark {
  border-color: var(--healthcare-navy) !important;
}

/* Card Header Styling for Extended Patient Info */
.card-header.bg-primary {
  background-color: var(--healthcare-blue) !important;
}

.card-header.bg-success {
  background-color: var(--healthcare-green) !important;
}

.card-header.bg-info {
  background-color: #0dcaf0 !important;
}

.card-header.bg-warning {
  background-color: var(--healthcare-orange) !important;
  color: var(--healthcare-navy) !important;
}

.card-header.bg-secondary {
  background-color: #6c757d !important;
}

.card-header.bg-dark {
  background-color: var(--healthcare-navy) !important;
}

/* Responsive Tab Design */
@media (max-width: 768px) {
  .nav-tabs-healthcare .nav-link {
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
  }
  .nav-tabs-healthcare .nav-link i {
    font-size: 0.9rem;
    margin-right: 0.25rem;
  }
  #primaryTabContent .tab-pane .card-body {
    padding: 1.5rem;
  }
  #extendedInfoTabContent .tab-pane {
    padding: 1rem;
  }
  .nav-tabs-healthcare .badge {
    font-size: 0.6rem;
    padding: 0.2rem 0.4rem;
  }
  /* Stack patient info cards vertically on mobile */
  #primaryTabContent .row .col-lg-6 {
    margin-bottom: 1.5rem;
  }
} /* Healthcare Form Styling */
.form-control {
  border-radius: 6px;
  border: 2px solid #dee2e6;
  transition: border-color 0.2s ease;
}

.form-control:focus {
  border-color: var(--healthcare-blue);
  box-shadow: 0 0 0 0.2rem rgba(0, 120, 212, 0.25);
}

.form-label {
  font-weight: 500;
  color: var(--healthcare-navy);
  margin-bottom: 0.5rem;
}

/* Healthcare Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--healthcare-navy);
  font-weight: var(--healthcare-heading-weight);
  line-height: 1.3;
}

.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6 {
  color: var(--healthcare-navy);
  font-weight: var(--healthcare-heading-weight);
}

/* Healthcare Badge Styling - See _badges-and-animations.scss for complete badge system */
.badge {
  border-radius: 4px;
  font-weight: 500;
  letter-spacing: 0.5px;
}

/* Note: Badge colors are now centrally managed in _badges-and-animations.scss */
/* The following styles override specific badge types for healthcare theming */
/* Language Flag Badge Styling - Special case for enhanced visual appeal */
.badge.bg-info {
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%) !important;
  color: white !important;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.badge.bg-info:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 123, 255, 0.4);
  transition: all 0.2s ease;
}

/* Healthcare Loading and Status Indicators */
.spinner-border-primary {
  color: var(--healthcare-blue);
}

/* Healthcare Patient Portal Specific Styling */
.patient-header {
  background: linear-gradient(135deg, var(--healthcare-blue), var(--healthcare-dark-blue));
  color: var(--healthcare-white);
  padding: 2rem 0;
  margin-bottom: 2rem;
}

/* Enhanced Patient Banner Header - Better Text Contrast */
.card-header.bg-primary {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%) !important;
  border-bottom: 3px solid #80bebf;
  box-shadow: 0 2px 8px rgba(0, 95, 95, 0.3);
}

.card-header.bg-primary h2 {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  font-size: 1.75rem;
  letter-spacing: 0.5px;
}

.card-header.bg-primary h2 i {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  margin-right: 0.75rem;
}

.card-header.bg-primary .badge {
  border: 1px solid rgba(255, 255, 255, 0.3);
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  font-size: 0.85rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.patient-card {
  border-left: 4px solid var(--healthcare-blue);
}

.patient-card .card-header {
  background-color: var(--healthcare-light-blue);
  color: var(--healthcare-navy);
}

/* Enhanced Card Background with Subtle Tint */
.card.shadow {
  background: linear-gradient(135deg, #ffffff 0%, #fdfdfd 50%, #f9f9f9 100%);
  border: 1px solid rgba(0, 94, 184, 0.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 94, 184, 0.05);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* Page Background Enhancement */
body {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 50%, #f1f3f4 100%);
  min-height: 100vh;
}

/* Container Enhancement for Better Card Contrast */
.container,
.container-fluid {
  background: rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  border-radius: 1rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Healthcare Footer Styling */
.footer {
  background-color: var(--healthcare-charcoal);
  color: var(--healthcare-white);
  padding: 2rem 0;
  margin-top: 3rem;
}

.footer a {
  color: var(--healthcare-light-blue);
  text-decoration: none;
}

.footer a:hover {
  color: var(--healthcare-white);
  text-decoration: underline;
}

/* Footer Dark Background Enhancement */
footer.bg-dark {
  background-color: var(--healthcare-teal) !important;
  color: var(--healthcare-white) !important;
}

footer.bg-dark .text-light {
  color: var(--healthcare-white) !important;
}

footer.bg-dark .text-primary {
  color: var(--healthcare-light-blue) !important;
}

footer.bg-dark a {
  color: var(--healthcare-light-blue) !important;
  text-decoration: none;
}

footer.bg-dark a:hover {
  color: var(--healthcare-white) !important;
  text-decoration: underline;
}

/* Healthcare Responsive Design */
@media (max-width: 768px) {
  .navbar-brand {
    font-size: 1.2rem;
  }
  .nav-link {
    padding: 0.5rem;
    margin: 0.1rem;
  }
  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
  }
}
/* Healthcare Accessibility Enhancements */
.btn:focus,
.form-control:focus,
.nav-link:focus {
  outline: 2px solid var(--healthcare-blue);
  outline-offset: 2px;
}

/* Healthcare Print Styles */
@media print {
  .navbar,
  .footer,
  .btn {
    display: none !important;
  }
  .card {
    border: 1px solid #000 !important;
    box-shadow: none !important;
  }
  body {
    color: #000 !important;
    background: #fff !important;
  }
}
/* Healthcare High Contrast Mode Support */
@media (prefers-contrast: high) {
  :root {
    --healthcare-blue: #003366;
    --healthcare-dark-blue: #001122;
    --healthcare-light-blue: #f0f8ff;
  }
}
/* Healthcare Dark Mode Support */
@media (prefers-color-scheme: dark) {
  :root {
    --healthcare-white: #1a1a1a;
    --healthcare-light-grey: #2d2d2d;
    --healthcare-charcoal: #e8e8e8;
  }
  body {
    background-color: var(--healthcare-white);
    color: var(--healthcare-charcoal);
  }
  .card {
    background-color: var(--healthcare-light-grey);
    border-color: #444;
  }
}
/* Footer Layout Fix - Sticky Footer Solution */
html,
body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
  margin-top: auto !important;
}

/* Mobile-First Clinical Table Optimization */
.table-responsive-wrapper {
  background: white;
  border-radius: 0.375rem;
  overflow: hidden;
}

.clinical-table {
  margin-bottom: 0;
  font-size: 0.9rem;
}

.clinical-table th.primary-field {
  background-color: var(--healthcare-blue) !important;
  color: var(--healthcare-text-light);
  font-weight: 600;
  min-width: 200px;
}

/* Clinical tables - consistent primary field styling */
.table-primary .clinical-table th.primary-field {
  background-color: var(--healthcare-blue) !important;
  color: var(--healthcare-text-light);
}

/* HSE Clinical Section Headers - Enhanced Professional Styling */
.clinical-section-card .section-header.bg-info,
.card-header.bg-info,
h4.bg-info,
h5.bg-info,
h6.bg-info,
.section-header.bg-info {
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom: 3px solid var(--healthcare-light-blue);
  box-shadow: 0 2px 8px rgba(0, 94, 184, 0.3);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  letter-spacing: 0.3px;
}

.clinical-section-card .section-header.bg-success,
.card-header.bg-success,
h4.bg-success,
h5.bg-success,
h6.bg-success,
.section-header.bg-success {
  background: linear-gradient(135deg, var(--healthcare-green) 0%, #218838 100%) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom: 3px solid #a3d977;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  letter-spacing: 0.3px;
}

.clinical-section-card .section-header.bg-danger,
.card-header.bg-danger,
h4.bg-danger,
h5.bg-danger,
h6.bg-danger,
.section-header.bg-danger {
  background: linear-gradient(135deg, var(--healthcare-red) 0%, #c82333 100%) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom: 3px solid #f5c6cb;
  box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  letter-spacing: 0.3px;
}

.clinical-section-card .section-header.bg-warning,
.card-header.bg-warning,
h4.bg-warning,
h5.bg-warning,
h6.bg-warning,
.section-header.bg-warning {
  background: linear-gradient(135deg, var(--healthcare-orange) 0%, #e0a800 100%) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom: 3px solid #fff3cd;
  box-shadow: 0 2px 8px rgba(255, 193, 7, 0.3);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  letter-spacing: 0.3px;
}

.clinical-section-card .section-header.bg-dark,
.card-header.bg-dark,
h4.bg-dark,
h5.bg-dark,
h6.bg-dark,
.section-header.bg-dark {
  background: linear-gradient(135deg, var(--healthcare-navy) 0%, #1d1f21 100%) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom: 3px solid #6c757d;
  box-shadow: 0 2px 8px rgba(52, 58, 64, 0.3);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* Enhanced Teal/Cyan Headers (for Other Contacts, etc.) */
.card-header.bg-teal,
.section-header.bg-teal,
h4.bg-teal,
h5.bg-teal,
h6.bg-teal,
.bg-teal {
  background: linear-gradient(135deg, #20c997 0%, #17a2b8 100%) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom: 3px solid #b8daff;
  box-shadow: 0 2px 8px rgba(23, 162, 184, 0.3);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* Enhanced Secondary/Gray Headers */
.card-header.bg-secondary,
.section-header.bg-secondary,
h4.bg-secondary,
h5.bg-secondary,
h6.bg-secondary {
  background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%) !important;
  color: var(--healthcare-text-light) !important;
  border-bottom: 3px solid #c6c8ca;
  box-shadow: 0 2px 8px rgba(108, 117, 125, 0.3);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* Fix Blue Text on Colored Backgrounds - Use HSE-compliant white text for better contrast */
.accordion-header h4,
.accordion-header h5,
.accordion-header h6,
.accordion-button,
.clinical-accordion-item .accordion-button,
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6,
.section-header h1,
.section-header h2,
.section-header h3,
.section-header h4,
.section-header h5,
.section-header h6,
.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-info h1,
.bg-info h2,
.bg-info h3,
.bg-info h4,
.bg-info h5,
.bg-info h6,
.bg-secondary h1,
.bg-secondary h2,
.bg-secondary h3,
.bg-secondary h4,
.bg-secondary h5,
.bg-secondary h6 {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.accordion-header h4 i,
.accordion-header h4 .fa-solid,
.accordion-header h4 .fa-regular,
.accordion-header h4 .fa-light,
.accordion-header h4 .fa-brands,
.accordion-header h5 i,
.accordion-header h5 .fa-solid,
.accordion-header h5 .fa-regular,
.accordion-header h5 .fa-light,
.accordion-header h5 .fa-brands,
.accordion-header h6 i,
.accordion-header h6 .fa-solid,
.accordion-header h6 .fa-regular,
.accordion-header h6 .fa-light,
.accordion-header h6 .fa-brands,
.accordion-button i,
.accordion-button .fa-solid,
.accordion-button .fa-regular,
.accordion-button .fa-light,
.accordion-button .fa-brands,
.clinical-accordion-item .accordion-button i,
.clinical-accordion-item .accordion-button .fa-solid,
.clinical-accordion-item .accordion-button .fa-regular,
.clinical-accordion-item .accordion-button .fa-light,
.clinical-accordion-item .accordion-button .fa-brands,
.card-header h1 i,
.card-header h1 .fa-solid,
.card-header h1 .fa-regular,
.card-header h1 .fa-light,
.card-header h1 .fa-brands,
.card-header h2 i,
.card-header h2 .fa-solid,
.card-header h2 .fa-regular,
.card-header h2 .fa-light,
.card-header h2 .fa-brands,
.card-header h3 i,
.card-header h3 .fa-solid,
.card-header h3 .fa-regular,
.card-header h3 .fa-light,
.card-header h3 .fa-brands,
.card-header h4 i,
.card-header h4 .fa-solid,
.card-header h4 .fa-regular,
.card-header h4 .fa-light,
.card-header h4 .fa-brands,
.card-header h5 i,
.card-header h5 .fa-solid,
.card-header h5 .fa-regular,
.card-header h5 .fa-light,
.card-header h5 .fa-brands,
.card-header h6 i,
.card-header h6 .fa-solid,
.card-header h6 .fa-regular,
.card-header h6 .fa-light,
.card-header h6 .fa-brands,
.section-header h1 i,
.section-header h1 .fa-solid,
.section-header h1 .fa-regular,
.section-header h1 .fa-light,
.section-header h1 .fa-brands,
.section-header h2 i,
.section-header h2 .fa-solid,
.section-header h2 .fa-regular,
.section-header h2 .fa-light,
.section-header h2 .fa-brands,
.section-header h3 i,
.section-header h3 .fa-solid,
.section-header h3 .fa-regular,
.section-header h3 .fa-light,
.section-header h3 .fa-brands,
.section-header h4 i,
.section-header h4 .fa-solid,
.section-header h4 .fa-regular,
.section-header h4 .fa-light,
.section-header h4 .fa-brands,
.section-header h5 i,
.section-header h5 .fa-solid,
.section-header h5 .fa-regular,
.section-header h5 .fa-light,
.section-header h5 .fa-brands,
.section-header h6 i,
.section-header h6 .fa-solid,
.section-header h6 .fa-regular,
.section-header h6 .fa-light,
.section-header h6 .fa-brands,
.bg-primary h1 i,
.bg-primary h1 .fa-solid,
.bg-primary h1 .fa-regular,
.bg-primary h1 .fa-light,
.bg-primary h1 .fa-brands,
.bg-primary h2 i,
.bg-primary h2 .fa-solid,
.bg-primary h2 .fa-regular,
.bg-primary h2 .fa-light,
.bg-primary h2 .fa-brands,
.bg-primary h3 i,
.bg-primary h3 .fa-solid,
.bg-primary h3 .fa-regular,
.bg-primary h3 .fa-light,
.bg-primary h3 .fa-brands,
.bg-primary h4 i,
.bg-primary h4 .fa-solid,
.bg-primary h4 .fa-regular,
.bg-primary h4 .fa-light,
.bg-primary h4 .fa-brands,
.bg-primary h5 i,
.bg-primary h5 .fa-solid,
.bg-primary h5 .fa-regular,
.bg-primary h5 .fa-light,
.bg-primary h5 .fa-brands,
.bg-primary h6 i,
.bg-primary h6 .fa-solid,
.bg-primary h6 .fa-regular,
.bg-primary h6 .fa-light,
.bg-primary h6 .fa-brands,
.bg-info h1 i,
.bg-info h1 .fa-solid,
.bg-info h1 .fa-regular,
.bg-info h1 .fa-light,
.bg-info h1 .fa-brands,
.bg-info h2 i,
.bg-info h2 .fa-solid,
.bg-info h2 .fa-regular,
.bg-info h2 .fa-light,
.bg-info h2 .fa-brands,
.bg-info h3 i,
.bg-info h3 .fa-solid,
.bg-info h3 .fa-regular,
.bg-info h3 .fa-light,
.bg-info h3 .fa-brands,
.bg-info h4 i,
.bg-info h4 .fa-solid,
.bg-info h4 .fa-regular,
.bg-info h4 .fa-light,
.bg-info h4 .fa-brands,
.bg-info h5 i,
.bg-info h5 .fa-solid,
.bg-info h5 .fa-regular,
.bg-info h5 .fa-light,
.bg-info h5 .fa-brands,
.bg-info h6 i,
.bg-info h6 .fa-solid,
.bg-info h6 .fa-regular,
.bg-info h6 .fa-light,
.bg-info h6 .fa-brands,
.bg-secondary h1 i,
.bg-secondary h1 .fa-solid,
.bg-secondary h1 .fa-regular,
.bg-secondary h1 .fa-light,
.bg-secondary h1 .fa-brands,
.bg-secondary h2 i,
.bg-secondary h2 .fa-solid,
.bg-secondary h2 .fa-regular,
.bg-secondary h2 .fa-light,
.bg-secondary h2 .fa-brands,
.bg-secondary h3 i,
.bg-secondary h3 .fa-solid,
.bg-secondary h3 .fa-regular,
.bg-secondary h3 .fa-light,
.bg-secondary h3 .fa-brands,
.bg-secondary h4 i,
.bg-secondary h4 .fa-solid,
.bg-secondary h4 .fa-regular,
.bg-secondary h4 .fa-light,
.bg-secondary h4 .fa-brands,
.bg-secondary h5 i,
.bg-secondary h5 .fa-solid,
.bg-secondary h5 .fa-regular,
.bg-secondary h5 .fa-light,
.bg-secondary h5 .fa-brands,
.bg-secondary h6 i,
.bg-secondary h6 .fa-solid,
.bg-secondary h6 .fa-regular,
.bg-secondary h6 .fa-light,
.bg-secondary h6 .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.accordion-header h4:hover,
.accordion-header h5:hover,
.accordion-header h6:hover,
.accordion-button:hover,
.clinical-accordion-item .accordion-button:hover,
.card-header h1:hover,
.card-header h2:hover,
.card-header h3:hover,
.card-header h4:hover,
.card-header h5:hover,
.card-header h6:hover,
.section-header h1:hover,
.section-header h2:hover,
.section-header h3:hover,
.section-header h4:hover,
.section-header h5:hover,
.section-header h6:hover,
.bg-primary h1:hover,
.bg-primary h2:hover,
.bg-primary h3:hover,
.bg-primary h4:hover,
.bg-primary h5:hover,
.bg-primary h6:hover,
.bg-info h1:hover,
.bg-info h2:hover,
.bg-info h3:hover,
.bg-info h4:hover,
.bg-info h5:hover,
.bg-info h6:hover,
.bg-secondary h1:hover,
.bg-secondary h2:hover,
.bg-secondary h3:hover,
.bg-secondary h4:hover,
.bg-secondary h5:hover,
.bg-secondary h6:hover {
  color: var(--healthcare-text-light) !important;
}
.accordion-header h4:hover i,
.accordion-header h4:hover .fa-solid,
.accordion-header h4:hover .fa-regular,
.accordion-header h4:hover .fa-light,
.accordion-header h4:hover .fa-brands,
.accordion-header h5:hover i,
.accordion-header h5:hover .fa-solid,
.accordion-header h5:hover .fa-regular,
.accordion-header h5:hover .fa-light,
.accordion-header h5:hover .fa-brands,
.accordion-header h6:hover i,
.accordion-header h6:hover .fa-solid,
.accordion-header h6:hover .fa-regular,
.accordion-header h6:hover .fa-light,
.accordion-header h6:hover .fa-brands,
.accordion-button:hover i,
.accordion-button:hover .fa-solid,
.accordion-button:hover .fa-regular,
.accordion-button:hover .fa-light,
.accordion-button:hover .fa-brands,
.clinical-accordion-item .accordion-button:hover i,
.clinical-accordion-item .accordion-button:hover .fa-solid,
.clinical-accordion-item .accordion-button:hover .fa-regular,
.clinical-accordion-item .accordion-button:hover .fa-light,
.clinical-accordion-item .accordion-button:hover .fa-brands,
.card-header h1:hover i,
.card-header h1:hover .fa-solid,
.card-header h1:hover .fa-regular,
.card-header h1:hover .fa-light,
.card-header h1:hover .fa-brands,
.card-header h2:hover i,
.card-header h2:hover .fa-solid,
.card-header h2:hover .fa-regular,
.card-header h2:hover .fa-light,
.card-header h2:hover .fa-brands,
.card-header h3:hover i,
.card-header h3:hover .fa-solid,
.card-header h3:hover .fa-regular,
.card-header h3:hover .fa-light,
.card-header h3:hover .fa-brands,
.card-header h4:hover i,
.card-header h4:hover .fa-solid,
.card-header h4:hover .fa-regular,
.card-header h4:hover .fa-light,
.card-header h4:hover .fa-brands,
.card-header h5:hover i,
.card-header h5:hover .fa-solid,
.card-header h5:hover .fa-regular,
.card-header h5:hover .fa-light,
.card-header h5:hover .fa-brands,
.card-header h6:hover i,
.card-header h6:hover .fa-solid,
.card-header h6:hover .fa-regular,
.card-header h6:hover .fa-light,
.card-header h6:hover .fa-brands,
.section-header h1:hover i,
.section-header h1:hover .fa-solid,
.section-header h1:hover .fa-regular,
.section-header h1:hover .fa-light,
.section-header h1:hover .fa-brands,
.section-header h2:hover i,
.section-header h2:hover .fa-solid,
.section-header h2:hover .fa-regular,
.section-header h2:hover .fa-light,
.section-header h2:hover .fa-brands,
.section-header h3:hover i,
.section-header h3:hover .fa-solid,
.section-header h3:hover .fa-regular,
.section-header h3:hover .fa-light,
.section-header h3:hover .fa-brands,
.section-header h4:hover i,
.section-header h4:hover .fa-solid,
.section-header h4:hover .fa-regular,
.section-header h4:hover .fa-light,
.section-header h4:hover .fa-brands,
.section-header h5:hover i,
.section-header h5:hover .fa-solid,
.section-header h5:hover .fa-regular,
.section-header h5:hover .fa-light,
.section-header h5:hover .fa-brands,
.section-header h6:hover i,
.section-header h6:hover .fa-solid,
.section-header h6:hover .fa-regular,
.section-header h6:hover .fa-light,
.section-header h6:hover .fa-brands,
.bg-primary h1:hover i,
.bg-primary h1:hover .fa-solid,
.bg-primary h1:hover .fa-regular,
.bg-primary h1:hover .fa-light,
.bg-primary h1:hover .fa-brands,
.bg-primary h2:hover i,
.bg-primary h2:hover .fa-solid,
.bg-primary h2:hover .fa-regular,
.bg-primary h2:hover .fa-light,
.bg-primary h2:hover .fa-brands,
.bg-primary h3:hover i,
.bg-primary h3:hover .fa-solid,
.bg-primary h3:hover .fa-regular,
.bg-primary h3:hover .fa-light,
.bg-primary h3:hover .fa-brands,
.bg-primary h4:hover i,
.bg-primary h4:hover .fa-solid,
.bg-primary h4:hover .fa-regular,
.bg-primary h4:hover .fa-light,
.bg-primary h4:hover .fa-brands,
.bg-primary h5:hover i,
.bg-primary h5:hover .fa-solid,
.bg-primary h5:hover .fa-regular,
.bg-primary h5:hover .fa-light,
.bg-primary h5:hover .fa-brands,
.bg-primary h6:hover i,
.bg-primary h6:hover .fa-solid,
.bg-primary h6:hover .fa-regular,
.bg-primary h6:hover .fa-light,
.bg-primary h6:hover .fa-brands,
.bg-info h1:hover i,
.bg-info h1:hover .fa-solid,
.bg-info h1:hover .fa-regular,
.bg-info h1:hover .fa-light,
.bg-info h1:hover .fa-brands,
.bg-info h2:hover i,
.bg-info h2:hover .fa-solid,
.bg-info h2:hover .fa-regular,
.bg-info h2:hover .fa-light,
.bg-info h2:hover .fa-brands,
.bg-info h3:hover i,
.bg-info h3:hover .fa-solid,
.bg-info h3:hover .fa-regular,
.bg-info h3:hover .fa-light,
.bg-info h3:hover .fa-brands,
.bg-info h4:hover i,
.bg-info h4:hover .fa-solid,
.bg-info h4:hover .fa-regular,
.bg-info h4:hover .fa-light,
.bg-info h4:hover .fa-brands,
.bg-info h5:hover i,
.bg-info h5:hover .fa-solid,
.bg-info h5:hover .fa-regular,
.bg-info h5:hover .fa-light,
.bg-info h5:hover .fa-brands,
.bg-info h6:hover i,
.bg-info h6:hover .fa-solid,
.bg-info h6:hover .fa-regular,
.bg-info h6:hover .fa-light,
.bg-info h6:hover .fa-brands,
.bg-secondary h1:hover i,
.bg-secondary h1:hover .fa-solid,
.bg-secondary h1:hover .fa-regular,
.bg-secondary h1:hover .fa-light,
.bg-secondary h1:hover .fa-brands,
.bg-secondary h2:hover i,
.bg-secondary h2:hover .fa-solid,
.bg-secondary h2:hover .fa-regular,
.bg-secondary h2:hover .fa-light,
.bg-secondary h2:hover .fa-brands,
.bg-secondary h3:hover i,
.bg-secondary h3:hover .fa-solid,
.bg-secondary h3:hover .fa-regular,
.bg-secondary h3:hover .fa-light,
.bg-secondary h3:hover .fa-brands,
.bg-secondary h4:hover i,
.bg-secondary h4:hover .fa-solid,
.bg-secondary h4:hover .fa-regular,
.bg-secondary h4:hover .fa-light,
.bg-secondary h4:hover .fa-brands,
.bg-secondary h5:hover i,
.bg-secondary h5:hover .fa-solid,
.bg-secondary h5:hover .fa-regular,
.bg-secondary h5:hover .fa-light,
.bg-secondary h5:hover .fa-brands,
.bg-secondary h6:hover i,
.bg-secondary h6:hover .fa-solid,
.bg-secondary h6:hover .fa-regular,
.bg-secondary h6:hover .fa-light,
.bg-secondary h6:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}

/* FontAwesome Icons - Enhanced Styling with Context-Aware Colors */
/* Icons in dark backgrounds (headers with colored backgrounds) */
.bg-primary i.fa-solid,
.bg-primary i.far,
.bg-primary i.fab,
.bg-secondary i.fa-solid,
.bg-secondary i.far,
.bg-secondary i.fab,
.bg-success i.fa-solid,
.bg-success i.far,
.bg-success i.fab,
.bg-info i.fa-solid,
.bg-info i.far,
.bg-info i.fab,
.bg-warning i.fa-solid,
.bg-warning i.far,
.bg-warning i.fab,
.bg-danger i.fa-solid,
.bg-danger i.far,
.bg-danger i.fab,
.bg-dark i.fa-solid,
.bg-dark i.far,
.bg-dark i.fab,
.bg-teal i.fa-solid,
.bg-teal i.far,
.bg-teal i.fab,
.card-header.bg-teal i.fa-solid,
.card-header.bg-teal i.far,
.card-header.bg-teal i.fab,
.card-header.bg-primary i.fa-solid,
.card-header.bg-primary i.far,
.card-header.bg-primary i.fab,
.clinical-section-card .section-header i.fa-solid,
.clinical-section-card .section-header i.far,
.clinical-section-card .section-header i.fab {
  color: var(--healthcare-text-light) !important;
  margin-right: 0.75rem;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}

/* Disable hover transitions for green header icons */
.bg-success:hover i.fa-solid,
.bg-success:hover i.far,
.bg-success:hover i.fab,
.card-header.bg-success:hover i.fa-solid,
.card-header.bg-success:hover i.far,
.card-header.bg-success:hover i.fab {
  transition: none !important;
  transform: none !important;
  color: var(--healthcare-text-light) !important;
}

/* Additional white icon rules for any element with dark healthcare colors */
[style*="background-color: var(--healthcare-green)"] i,
[style*="background: var(--healthcare-green)"] i,
[class*=bg-green] i,
[class*=healthcare-green] i {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Icons in light backgrounds (general usage) */
.card-header i.fa-solid:not(.bg-primary *):not(.bg-secondary *):not(.bg-success *):not(.bg-info *):not(.bg-warning *):not(.bg-danger *):not(.bg-dark *),
.card-header i.far:not(.bg-primary *):not(.bg-secondary *):not(.bg-success *):not(.bg-info *):not(.bg-warning *):not(.bg-danger *):not(.bg-dark *),
.card-header i.fab:not(.bg-primary *):not(.bg-secondary *):not(.bg-success *):not(.bg-info *):not(.bg-warning *):not(.bg-danger *):not(.bg-dark *),
.card-body i.fa-solid,
.card-body i.far,
.card-body i.fab,
.breadcrumb i.fa-solid,
.breadcrumb i.far,
.breadcrumb i.fab,
.btn i.fa-solid,
.btn i.far,
.btn i.fab,
.alert i.fa-solid,
.alert i.far,
.alert i.fab,
h4 i.fa-solid,
h4 i.far,
h4 i.fab,
h5 i.fa-solid,
h5 i.far,
h5 i.fab,
h6 i.fa-solid,
h6 i.far,
h6 i.fab,
i.fa-solid,
i.far,
i.fab {
  color: var(--healthcare-blue) !important;
  margin-right: 0.5rem;
  font-size: 1rem;
  transition: transform 0.3s ease, color 0.3s ease;
}

/* Color-specific icon styling */
.text-info i.fa-solid,
.text-info i.far,
.text-info i.fab,
.card-title.text-info i.fa-solid,
.card-title.text-info i.far,
.card-title.text-info i.fab {
  color: var(--healthcare-blue) !important;
}

.text-success i.fa-solid,
.text-success i.far,
.text-success i.fab,
.card-title.text-success i.fa-solid,
.card-title.text-success i.far,
.card-title.text-success i.fab {
  color: var(--healthcare-green) !important;
}

.text-warning i.fa-solid,
.text-warning i.far,
.text-warning i.fab,
.card-title.text-warning i.fa-solid,
.card-title.text-warning i.far,
.card-title.text-warning i.fab {
  color: var(--healthcare-orange) !important;
}

.text-danger i.fa-solid,
.text-danger i.far,
.text-danger i.fab,
.card-title.text-danger i.fa-solid,
.card-title.text-danger i.far,
.card-title.text-danger i.fab {
  color: var(--healthcare-red) !important;
}

/* Specific styling for light background card headers */
.bg-light i.fa-solid,
.bg-light i.far,
.bg-light i.fab,
.card-header.bg-light i.fa-solid,
.card-header.bg-light i.far,
.card-header.bg-light i.fab {
  color: var(--healthcare-blue) !important;
  margin-right: 0.75rem;
  font-size: 1.1rem;
  font-weight: 600;
  transition: transform 0.3s ease, color 0.3s ease;
}

/* Enhanced styling for country flag icons specifically */
.card-header.bg-light .fa-solid.fa-flag {
  color: var(--healthcare-green) !important;
  font-size: 1.2rem;
  margin-right: 0.5rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Icon hover effects for interactive elements - exclude navigation, tab buttons, and colored backgrounds */
.card-header:not(.tab-button):not(.bg-primary):not(.bg-secondary):not(.bg-info):hover i.fa-solid,
.card-header:not(.tab-button):not(.bg-primary):not(.bg-secondary):not(.bg-info):hover i.far,
.card-header:not(.tab-button):not(.bg-primary):not(.bg-secondary):not(.bg-info):hover i.fab,
.section-header:not(.tab-button):not(.bg-primary):not(.bg-secondary):not(.bg-info):hover i.fa-solid,
.section-header:not(.tab-button):not(.bg-primary):not(.bg-secondary):not(.bg-info):hover i.far,
.section-header:not(.tab-button):not(.bg-primary):not(.bg-secondary):not(.bg-info):hover i.fab,
.breadcrumb-link:hover i.fa-solid,
.breadcrumb-link:hover i.far,
.breadcrumb-link:hover i.fab {
  transform: scale(1.1);
  color: var(--healthcare-dark-blue) !important;
}

/* Specific button hover effects - exclude navbar buttons, tab buttons, and logout buttons */
.btn:not(.navbar *):not(.tab-button):not([href*=logout]):not(.logout-btn):hover i.fa-solid,
.btn:not(.navbar *):not(.tab-button):not([href*=logout]):not(.logout-btn):hover i.far,
.btn:not(.navbar *):not(.tab-button):not([href*=logout]):not(.logout-btn):hover i.fab {
  transform: scale(1.1);
  color: var(--healthcare-white, #ffffff) !important;
}

/* Navigation Badge Icon Default Colors - WCAG 2.2 Accessibility Fix */
.navbar .badge i.fa-solid,
.navbar .badge i.far,
.navbar .badge i.fab,
nav .badge i.fa-solid,
nav .badge i.far,
nav .badge i.fab,
body nav .badge i.fa-solid,
body nav .badge i.far,
body nav .badge i.fab {
  color: #2d3748 !important; /* Dark gray for high contrast on light badges */
}

/* Navigation Badge Icon Colors for Dark Badge Backgrounds */
.navbar .badge.bg-primary i.fa-solid,
.navbar .badge.bg-primary i.far,
.navbar .badge.bg-primary i.fab,
.navbar .badge.bg-secondary i.fa-solid,
.navbar .badge.bg-secondary i.far,
.navbar .badge.bg-secondary i.fab,
.navbar .badge.bg-success i.fa-solid,
.navbar .badge.bg-success i.far,
.navbar .badge.bg-success i.fab,
.navbar .badge.bg-danger i.fa-solid,
.navbar .badge.bg-danger i.far,
.navbar .badge.bg-danger i.fab,
.navbar .badge.bg-info i.fa-solid,
.navbar .badge.bg-info i.far,
.navbar .badge.bg-info i.fab,
nav .badge.bg-primary i.fa-solid,
nav .badge.bg-primary i.far,
nav .badge.bg-primary i.fab,
nav .badge.bg-secondary i.fa-solid,
nav .badge.bg-secondary i.far,
nav .badge.bg-secondary i.fab,
nav .badge.bg-success i.fa-solid,
nav .badge.bg-success i.far,
nav .badge.bg-success i.fab,
nav .badge.bg-danger i.fa-solid,
nav .badge.bg-danger i.far,
nav .badge.bg-danger i.fab,
nav .badge.bg-info i.fa-solid,
nav .badge.bg-info i.far,
nav .badge.bg-info i.fab {
  color: #ffffff !important; /* White for dark badge backgrounds */
}

/* Override for navigation elements - highest specificity */
.navbar .badge:hover i.fa-solid,
.navbar .badge:hover i.far,
.navbar .badge:hover i.fab,
.navbar .nav-link:hover i.fa-solid,
.navbar .nav-link:hover i.far,
.navbar .nav-link:hover i.fab,
.navbar .btn:hover i.fa-solid,
.navbar .btn:hover i.far,
.navbar .btn:hover i.fab,
nav .badge:hover i.fa-solid,
nav .badge:hover i.far,
nav .badge:hover i.fab,
body nav .badge:hover i.fa-solid,
body nav .badge:hover i.far,
body nav .badge:hover i.fab,
body nav .badge:hover i.fa-user-injured,
.badge.bg-success:hover i.fa-solid,
.badge.bg-success:hover i.far,
.badge.bg-success:hover i.fab,
.badge.bg-success:hover i.fa-user-injured,
.badge.bg-warning:hover i.fa-solid,
.badge.bg-warning:hover i.far,
.badge.bg-warning:hover i.fab,
.btn[href*=logout]:hover i.fa-solid,
.btn[href*=logout]:hover i.far,
.btn[href*=logout]:hover i.fab,
.logout-btn:hover i.fa-solid,
.logout-btn:hover i.far,
.logout-btn:hover i.fab {
  color: inherit !important;
  transform: none !important;
}

/* Override for patient header card with badges - prevent icon color change */
.card-header.bg-primary.text-white:hover .badge i.fa-solid,
.card-header.bg-primary.text-white:hover .badge i.far,
.card-header.bg-primary.text-white:hover .badge i.fab,
.card-header.bg-primary:hover .badge i.fa-solid,
.card-header.bg-primary:hover .badge i.far,
.card-header.bg-primary:hover .badge i.fab,
.card-header.bg-primary.text-white .badge:hover i.fa-solid,
.card-header.bg-primary.text-white .badge:hover i.far,
.card-header.bg-primary.text-white .badge:hover i.fab,
.card-header.bg-primary .badge:hover i.fa-solid,
.card-header.bg-primary .badge:hover i.far,
.card-header.bg-primary .badge:hover i.fab {
  color: inherit !important;
  transform: none !important;
}

/* Override for section header cards with shadow - prevent icon color change */
.card.shadow:hover i.fa-solid,
.card.shadow:hover i.far,
.card.shadow:hover i.fab,
.card.shadow .card-header:hover i.fa-solid,
.card.shadow .card-header:hover i.far,
.card.shadow .card-header:hover i.fab,
.card.shadow:hover .badge i.fa-solid,
.card.shadow:hover .badge i.far,
.card.shadow:hover .badge i.fab {
  color: inherit !important;
  transform: none !important;
}

/* Enhanced Data Display Tabs (Structured Data, Original Content, etc.) */
.nav-pills .nav-link,
.nav-tabs .nav-link {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-weight: 500;
  color: #6b7280;
  margin-right: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.nav-pills .nav-link:hover,
.nav-tabs .nav-link:hover {
  color: #374151;
  background-color: #ffffff;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.nav-pills .nav-link.active,
.nav-tabs .nav-link.active {
  color: var(--healthcare-text-light) !important;
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%) !important;
  border-color: var(--healthcare-blue) !important;
  font-weight: 700;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 94, 184, 0.4), 0 2px 6px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Specific styling for data display tabs to ensure white text on blue backgrounds */
.nav-pills .nav-link[class*=bg-],
.nav-tabs .nav-link[class*=bg-],
.nav-link.bg-primary,
.nav-link.bg-info,
.nav-link.bg-blue {
  color: var(--healthcare-text-light) !important;
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%) !important;
  border-color: var(--healthcare-blue) !important;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 12px rgba(0, 94, 184, 0.4), 0 2px 6px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.nav-pills .nav-link.active:hover,
.nav-tabs .nav-link.active:hover {
  background: linear-gradient(135deg, var(--healthcare-dark-blue) 0%, var(--healthcare-blue) 100%) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 94, 184, 0.5), 0 3px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* FontAwesome Icons with Bootstrap Color Classes - Healthcare Context */
.clinical-accordion-item i.fa-solid.text-primary,
.clinical-accordion-item i.far.text-primary,
.clinical-accordion-item i.fab.text-primary,
.clinical-section-card i.fa-solid.text-primary,
.clinical-section-card i.far.text-primary,
.clinical-section-card i.fab.text-primary {
  color: var(--healthcare-blue) !important;
}

.clinical-accordion-item i.fa-solid.text-danger,
.clinical-accordion-item i.far.text-danger,
.clinical-accordion-item i.fab.text-danger,
.clinical-section-card i.fa-solid.text-danger,
.clinical-section-card i.far.text-danger,
.clinical-section-card i.fab.text-danger {
  color: var(--healthcare-red) !important;
}

.clinical-accordion-item i.fa-solid.text-warning,
.clinical-accordion-item i.far.text-warning,
.clinical-accordion-item i.fab.text-warning,
.clinical-section-card i.fa-solid.text-warning,
.clinical-section-card i.far.text-warning,
.clinical-section-card i.fab.text-warning {
  color: var(--healthcare-orange) !important;
}

.clinical-accordion-item i.fa-solid.text-success,
.clinical-accordion-item i.far.text-success,
.clinical-accordion-item i.fab.text-success,
.clinical-section-card i.fa-solid.text-success,
.clinical-section-card i.far.text-success,
.clinical-section-card i.fab.text-success {
  color: var(--healthcare-green) !important;
}

.clinical-accordion-item i.fa-solid.text-info,
.clinical-accordion-item i.far.text-info,
.clinical-accordion-item i.fab.text-info,
.clinical-section-card i.fa-solid.text-info,
.clinical-section-card i.far.text-info,
.clinical-section-card i.fab.text-info {
  color: var(--healthcare-blue) !important;
}

.clinical-accordion-item i.fa-solid.text-secondary,
.clinical-accordion-item i.far.text-secondary,
.clinical-accordion-item i.fab.text-secondary,
.clinical-section-card i.fa-solid.text-secondary,
.clinical-section-card i.far.text-secondary,
.clinical-section-card i.fab.text-secondary {
  color: var(--healthcare-navy) !important;
}

.clinical-accordion-item i.fa-solid.text-dark,
.clinical-accordion-item i.far.text-dark,
.clinical-accordion-item i.fab.text-dark,
.clinical-section-card i.fa-solid.text-dark,
.clinical-section-card i.far.text-dark,
.clinical-section-card i.fab.text-dark {
  color: var(--healthcare-text-dark) !important;
}

/* Clinical Table Headers - HSE Colors */
.table-primary thead th {
  background-color: var(--healthcare-blue) !important;
  color: var(--healthcare-text-light) !important;
  border-color: var(--healthcare-dark-blue) !important;
}

.table-danger thead th {
  background-color: var(--healthcare-red) !important;
  color: var(--healthcare-text-light) !important;
  border-color: #a71e22 !important;
}

.table-success thead th {
  background-color: var(--healthcare-green) !important;
  color: var(--healthcare-text-light) !important;
  border-color: #004d35 !important;
}

.table-warning thead th {
  background-color: var(--healthcare-orange) !important;
  color: var(--healthcare-text-light) !important;
  border-color: #b55a00 !important;
}

.table-info thead th {
  background-color: var(--healthcare-light-blue) !important;
  color: var(--healthcare-text-dark) !important;
  border-color: var(--healthcare-blue) !important;
}

.clinical-table .th-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.clinical-table .th-label {
  font-weight: 600;
  white-space: nowrap;
}

.clinical-table .terminology-indicator {
  font-size: 0.8rem;
  opacity: 0.8;
}

.clinical-table .primary-field strong {
  color: var(--healthcare-blue) !important;
  font-weight: 600;
}

.clinical-table .medical-codes-container {
  max-width: 200px;
}

.clinical-table .medical-codes-container .badge {
  font-size: 0.7rem;
  padding: 0.25rem 0.4rem;
}

/* Mobile-specific table styling */
@media (max-width: 768px) {
  .table-responsive-wrapper {
    margin: 0 -15px;
    border-radius: 0;
  }
  .clinical-table {
    font-size: 0.8rem;
  }
  .clinical-table th,
  .clinical-table td {
    padding: 0.5rem 0.25rem;
    vertical-align: middle;
  }
  .clinical-table th.primary-field {
    min-width: 150px;
    position: sticky;
    left: 0;
    z-index: 10;
    background-color: var(--healthcare-blue) !important;
  }
  /* Mobile clinical table primary field - consistent blue */
  .table-primary .clinical-table th.primary-field {
    background-color: var(--healthcare-blue) !important;
  }
  .clinical-table .th-label {
    font-size: 0.75rem;
    line-height: 1.2;
  }
  .clinical-table .terminology-indicator {
    font-size: 0.7rem;
    margin-left: 0.25rem !important;
  }
  .clinical-table .medical-codes-container {
    max-width: 150px;
  }
  .clinical-table .medical-codes-container .badge {
    font-size: 0.6rem;
    padding: 0.15rem 0.3rem;
    margin-right: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .clinical-table .cell-content {
    font-size: 0.8rem;
    line-height: 1.3;
  }
}
/* Extra small screens - Stack table data */
@media (max-width: 576px) {
  .clinical-table thead {
    font-size: 0.75rem;
  }
  .clinical-table th,
  .clinical-table td {
    padding: 0.4rem 0.2rem;
  }
  .clinical-table .th-label {
    font-size: 0.7rem;
  }
  .clinical-table .medical-codes-container {
    max-width: 120px;
  }
  .clinical-table .badge {
    font-size: 0.55rem !important;
    padding: 0.1rem 0.25rem !important;
  }
}
/* Clinical Section Spacing & Visual Separation */
.individual-clinical-section {
  position: relative;
  margin-bottom: 2rem !important;
  padding-bottom: 1rem;
}

.individual-clinical-section:not(:last-child) {
  border-bottom: 1px solid var(--healthcare-border);
  margin-bottom: 2.5rem !important;
  padding-bottom: 1.5rem;
}

/* Add subtle spacing for better visual hierarchy */
.individual-clinical-section .card {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}

.individual-clinical-section .card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  transform: translateY(-1px);
}

/* Enhanced spacing for clinical cards */
.clinical-section-card {
  margin-bottom: 2rem !important;
}

/* Better spacing in section content */
.clinical-information-container > .clinical-section-card:not(:last-child) {
  margin-bottom: 2.5rem !important;
}

/* Mobile spacing adjustments */
@media (max-width: 768px) {
  .individual-clinical-section {
    margin-bottom: 1.5rem !important;
    padding-bottom: 0.75rem;
  }
  .individual-clinical-section:not(:last-child) {
    margin-bottom: 2rem !important;
    padding-bottom: 1rem;
  }
  .clinical-section-card {
    margin-bottom: 1.5rem !important;
  }
  .clinical-information-container > .clinical-section-card:not(:last-child) {
    margin-bottom: 2rem !important;
  }
}
/* =======================================================================
   Clinical Information Accordion Styles - HSE.ie Theme
======================================================================= */
/* Accordion Container */
.accordion {
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Accordion Items */
.clinical-accordion-item {
  border: 1px solid var(--healthcare-border);
  border-bottom: none;
  transition: all 0.3s ease;
}

.clinical-accordion-item:last-child {
  border-bottom: 1px solid var(--healthcare-border);
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.clinical-accordion-item:first-child {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

/* Accordion Headers */
.clinical-accordion-item .accordion-header {
  margin-bottom: 0;
}

.clinical-accordion-item .accordion-button {
  background: linear-gradient(135deg, var(--healthcare-light-blue) 0%, #f0f8ff 100%);
  border: none;
  color: var(--healthcare-text-dark);
  font-weight: var(--healthcare-heading-weight);
  font-size: 1.1rem;
  padding: 1.25rem 1.5rem;
  transition: all 0.3s ease;
  position: relative;
  border-radius: 0;
}

.clinical-accordion-item .accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%);
  color: var(--healthcare-text-light);
  box-shadow: 0 2px 4px rgba(0, 94, 184, 0.2);
}

.clinical-accordion-item .accordion-button:hover {
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%);
  color: var(--healthcare-text-light);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 94, 184, 0.15);
}

.clinical-accordion-item .accordion-button:focus {
  border-color: var(--healthcare-blue);
  box-shadow: 0 0 0 0.25rem rgba(0, 94, 184, 0.25);
}

/* Accordion Button Icons */
.clinical-accordion-item .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23005eb8'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transition: transform 0.3s ease;
}

.clinical-accordion-item .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(180deg);
}

/* Accordion Body */
.clinical-accordion-item .accordion-body {
  background: var(--healthcare-white);
  padding: 1.5rem;
  border-top: 2px solid var(--healthcare-light-blue);
}

/* Badge Styling in Accordion Headers */
.clinical-accordion-item .accordion-button .badge {
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 0.375rem;
  padding: 0.35rem 0.65rem;
}

.clinical-accordion-item .accordion-button:not(.collapsed) .badge.bg-info,
.clinical-accordion-item .accordion-button:not(.collapsed) .badge.bg-primary,
.clinical-accordion-item .accordion-button:not(.collapsed) .badge.bg-secondary {
  background-color: var(--healthcare-light-blue) !important;
  color: var(--healthcare-blue) !important;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.clinical-accordion-item .accordion-button:not(.collapsed) .badge.bg-danger {
  background-color: var(--healthcare-red) !important;
  color: var(--healthcare-text-light) !important;
}

.clinical-accordion-item .accordion-button:not(.collapsed) .badge.bg-warning {
  background-color: var(--healthcare-orange) !important;
  color: var(--healthcare-text-light) !important;
}

.clinical-accordion-item .accordion-button:not(.collapsed) .badge.bg-success {
  background-color: var(--healthcare-green) !important;
  color: var(--healthcare-text-light) !important;
}

/* FontAwesome Icons in Accordion Headers */
.clinical-accordion-item .accordion-button i.fa-solid,
.clinical-accordion-item .accordion-button i.far,
.clinical-accordion-item .accordion-button i.fab {
  color: var(--healthcare-blue);
  margin-right: 0.75rem;
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.clinical-accordion-item .accordion-button:not(.collapsed) i.fa-solid,
.clinical-accordion-item .accordion-button:not(.collapsed) i.far,
.clinical-accordion-item .accordion-button:not(.collapsed) i.fab {
  color: var(--healthcare-text-light);
}

.clinical-accordion-item .accordion-button:hover i.fa-solid,
.clinical-accordion-item .accordion-button:hover i.far,
.clinical-accordion-item .accordion-button:hover i.fab {
  color: var(--healthcare-text-light);
}

/* Hover Effects for Badges */
.clinical-accordion-item .accordion-button:hover .badge {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}

/* Accordion Content Items */
.clinical-accordion-item .medication-entry,
.clinical-accordion-item .allergy-item,
.clinical-accordion-item .problem-item,
.clinical-accordion-item .vital-item,
.clinical-accordion-item .procedure-item {
  background: var(--healthcare-white);
  border: 1px solid var(--healthcare-border);
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.clinical-accordion-item .medication-entry:hover,
.clinical-accordion-item .allergy-item:hover,
.clinical-accordion-item .problem-item:hover,
.clinical-accordion-item .vital-item:hover,
.clinical-accordion-item .procedure-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 94, 184, 0.15);
  border-color: var(--healthcare-blue);
}

/* Special Styling for Critical Sections */
.clinical-accordion-item .allergy-item {
  border-left: 4px solid var(--healthcare-blue);
}

.clinical-accordion-item .allergy-item:hover {
  border-left-color: var(--healthcare-blue);
  box-shadow: 0 4px 12px rgba(0, 94, 184, 0.15);
}

/* Mobile Responsiveness for Accordions */
@media (max-width: 768px) {
  .clinical-accordion-item .accordion-button {
    font-size: 1rem;
    padding: 1rem 1.25rem;
  }
  .clinical-accordion-item .accordion-body {
    padding: 1.25rem;
  }
  .clinical-accordion-item .accordion-button .badge {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
    margin-left: 0.5rem !important;
  }
  /* Stack badges on mobile for better readability */
  .clinical-accordion-item .accordion-button {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .clinical-accordion-item .accordion-button .badge {
    margin-top: 0.25rem;
  }
}
/* Animation for Accordion Collapse */
.accordion-collapse {
  transition: height 0.4s ease, opacity 0.3s ease;
}

.accordion-collapse:not(.show) {
  opacity: 0;
}

.accordion-collapse.show {
  opacity: 1;
}

/* Focus States for Accessibility */
.clinical-accordion-item .accordion-button:focus-visible {
  outline: 2px solid var(--healthcare-blue);
  outline-offset: 2px;
}

/* Print Styles for Accordions */
@media print {
  .clinical-accordion-item .accordion-collapse {
    display: block !important;
    height: auto !important;
  }
  .clinical-accordion-item .accordion-button::after {
    display: none;
  }
  .clinical-accordion-item .accordion-button {
    background: var(--healthcare-light-grey) !important;
    color: var(--healthcare-text-dark) !important;
  }
}
/* =======================================================================
   Clinical Information Master Controls
======================================================================= */
/* Master Controls Container */
.clinical-master-controls {
  background: linear-gradient(135deg, var(--healthcare-light-blue) 0%, #f8f9fa 100%);
  border: 1px solid var(--healthcare-border);
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Control Buttons */
.clinical-master-controls .control-buttons .btn {
  font-weight: 500;
  border-width: 1.5px;
  transition: all 0.3s ease;
  padding: 0.5rem 1rem;
}

.clinical-master-controls .btn-outline-primary {
  border-color: var(--healthcare-blue);
  color: var(--healthcare-blue);
}

.clinical-master-controls .btn-outline-primary:hover {
  background-color: var(--healthcare-blue);
  border-color: var(--healthcare-blue);
  color: var(--healthcare-text-light);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 94, 184, 0.2);
}

.clinical-master-controls .btn-outline-secondary {
  border-color: var(--healthcare-grey);
  color: var(--healthcare-grey);
}

.clinical-master-controls .btn-outline-secondary:hover {
  background-color: var(--healthcare-grey);
  border-color: var(--healthcare-grey);
  color: var(--healthcare-text-light);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(108, 117, 125, 0.2);
}

/* Section Count Text */
.clinical-master-controls .section-count {
  font-size: 0.9rem;
  color: var(--healthcare-dark-grey);
}

.clinical-master-controls .section-count .fa-solid {
  color: var(--healthcare-blue);
}

/* Mobile Responsiveness for Master Controls */
@media (max-width: 768px) {
  .clinical-master-controls {
    flex-direction: column !important;
    text-align: center;
  }
  .clinical-master-controls .control-buttons {
    margin-bottom: 0.75rem;
  }
  .clinical-master-controls .control-buttons .btn {
    font-size: 0.9rem;
    padding: 0.4rem 0.8rem;
    margin-right: 0.5rem !important;
  }
  .clinical-master-controls .section-count {
    font-size: 0.8rem;
  }
}
/* Button Success State Animation */
.clinical-master-controls .btn .fa-solid.fa-check {
  color: var(--healthcare-green);
}

/* Hover Animation for Icons */
.clinical-master-controls .btn:hover .fa-solid {
  transform: scale(1.1);
  transition: transform 0.2s ease;
}

/* =========================
   Section Toggle Icon Styling
   ========================= */
.clinical-accordion-item .section-toggle-icon {
  font-size: 0.9em;
  font-weight: bold;
  color: var(--healthcare-text-light);
  transition: transform 0.2s ease;
  display: inline-block;
  width: 16px;
  text-align: center;
  margin-right: 0.5rem;
}

.clinical-accordion-item .accordion-button::after {
  display: none; /* Hide Bootstrap's default arrow since we use custom icons */
}

.clinical-accordion-item .accordion-button.collapsed {
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%);
  color: var(--healthcare-text-light);
  border-radius: 8px !important;
  box-shadow: 0 2px 4px rgba(0, 94, 184, 0.1);
}

.clinical-accordion-item .accordion-button.collapsed:hover {
  background: linear-gradient(135deg, var(--healthcare-dark-blue) 0%, #002952 100%);
  box-shadow: 0 4px 12px rgba(0, 94, 184, 0.25);
  transform: translateY(-1px);
}

.clinical-accordion-item .accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-green) 0%, #004d35 100%);
  color: var(--healthcare-text-light);
  border-radius: 8px 8px 0 0 !important;
  box-shadow: 0 2px 6px rgba(0, 103, 71, 0.2);
}

/* =========================
   Section-Specific HSE.ie Color Theming
   ========================= */
/* Medications Section - HSE Blue (Primary Medical) */
.clinical-accordion-item:has(button[aria-controls*=Medications]) .accordion-button:not(.collapsed),
.clinical-accordion-item button[aria-controls*=collapseMedications]:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(0, 94, 184, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=Medications]) .accordion-button.collapsed,
.clinical-accordion-item button[aria-controls*=collapseMedications].collapsed {
  background: linear-gradient(135deg, #4a90e2 0%, var(--healthcare-blue) 100%) !important;
  color: var(--healthcare-text-light);
}

/* Allergies Section - HSE Blue (Consistent with other clinical sections) */
.clinical-accordion-item:has(button[aria-controls*=Allergies]) .accordion-button:not(.collapsed),
.clinical-accordion-item button[aria-controls*=collapseAllergies]:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(0, 94, 184, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=Allergies]) .accordion-button.collapsed,
.clinical-accordion-item button[aria-controls*=collapseAllergies].collapsed {
  background: linear-gradient(135deg, #4a90e2 0%, var(--healthcare-blue) 100%) !important;
  color: var(--healthcare-text-light);
}

/* Problems/Conditions Section - HSE Orange (Medical Conditions) */
.clinical-accordion-item:has(button[aria-controls*=Problems]) .accordion-button:not(.collapsed),
.clinical-accordion-item button[aria-controls*=collapseProblems]:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-orange) 0%, #b55a00 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(225, 112, 0, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=Problems]) .accordion-button.collapsed,
.clinical-accordion-item button[aria-controls*=collapseProblems].collapsed {
  background: linear-gradient(135deg, #f39c12 0%, var(--healthcare-orange) 100%) !important;
  color: var(--healthcare-text-light);
}

/* Vital Signs Section - HSE Green (Health/Wellness) */
.clinical-accordion-item:has(button[aria-controls*=Vitals]) .accordion-button:not(.collapsed),
.clinical-accordion-item button[aria-controls*=collapseVitals]:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-green) 0%, #004d35 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(0, 103, 71, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=Vitals]) .accordion-button.collapsed,
.clinical-accordion-item button[aria-controls*=collapseVitals].collapsed {
  background: linear-gradient(135deg, #27ae60 0%, var(--healthcare-green) 100%) !important;
  color: var(--healthcare-text-light);
}

/* Procedures Section - HSE Navy (Professional/Technical) */
.clinical-accordion-item:has(button[aria-controls*=Procedures]) .accordion-button:not(.collapsed),
.clinical-accordion-item button[aria-controls*=collapseProcedures]:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-navy) 0%, #0f2a52 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(28, 61, 114, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=Procedures]) .accordion-button.collapsed,
.clinical-accordion-item button[aria-controls*=collapseProcedures].collapsed {
  background: linear-gradient(135deg, #34495e 0%, var(--healthcare-navy) 100%) !important;
  color: var(--healthcare-text-light);
}

/* Enhanced Clinical Sections - HSE Primary Blue */
.clinical-accordion-item:has(button[aria-controls*=collapse-]) .accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-blue) 0%, var(--healthcare-dark-blue) 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(0, 94, 184, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=collapse-]) .accordion-button.collapsed {
  background: linear-gradient(135deg, #4a90e2 0%, var(--healthcare-blue) 100%) !important;
  color: var(--healthcare-text-light);
}

/* Additional Clinical Information - HSE Light Blue */
.clinical-accordion-item:has(button[aria-controls*=OtherClinical]) .accordion-button:not(.collapsed),
.clinical-accordion-item button[aria-controls*=collapseOtherClinical]:not(.collapsed) {
  background: linear-gradient(135deg, #3498db 0%, var(--healthcare-blue) 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(52, 152, 219, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=OtherClinical]) .accordion-button.collapsed,
.clinical-accordion-item button[aria-controls*=collapseOtherClinical].collapsed {
  background: linear-gradient(135deg, #5dade2 0%, #3498db 100%) !important;
  color: var(--healthcare-text-light);
}

/* Processing Summary - HSE Dark Grey (Analytics) */
.clinical-accordion-item:has(button[aria-controls*=Stats]) .accordion-button:not(.collapsed),
.clinical-accordion-item button[aria-controls*=collapseStats]:not(.collapsed) {
  background: linear-gradient(135deg, var(--healthcare-dark-grey) 0%, var(--healthcare-charcoal) 100%) !important;
  color: var(--healthcare-text-light);
  box-shadow: 0 3px 8px rgba(73, 80, 87, 0.25);
}

.clinical-accordion-item:has(button[aria-controls*=Stats]) .accordion-button.collapsed,
.clinical-accordion-item button[aria-controls*=collapseStats].collapsed {
  background: linear-gradient(135deg, #6c757d 0%, var(--healthcare-dark-grey) 100%) !important;
  color: var(--healthcare-text-light);
}

/* Enhanced Hover Effects for All Sections */
.clinical-accordion-item .accordion-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.clinical-accordion-item .accordion-button.collapsed:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
}

/* Enhanced Focus States for Accessibility */
.clinical-accordion-item .accordion-button:focus-visible {
  outline: 3px solid var(--healthcare-orange) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(225, 112, 0, 0.2) !important;
}

/* Section Icon Color Coordination */
.clinical-accordion-item .accordion-button:not(.collapsed) .fa-solid {
  color: rgba(255, 255, 255, 0.9);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

.clinical-accordion-item .accordion-button.collapsed .fa-solid {
  color: rgba(255, 255, 255, 0.8);
}

/* UI Improvements - Hero Button Spacing and Text Contrast */
/* Fix 1: Hero Button Spacing for better icon/text layout */
.hero-nav-link {
  min-width: 200px !important;
  gap: 1rem !important;
}
@media (max-width: 768px) {
  .hero-nav-link {
    min-width: 160px !important;
    padding: 0.75rem 1rem !important;
    gap: 0.75rem !important;
  }
}
@media (max-width: 576px) {
  .hero-nav-link {
    min-width: 140px !important;
    padding: 0.5rem 0.75rem !important;
    gap: 0.5rem !important;
    font-size: 0.875rem !important;
  }
}

/* Fix 2: Improve text contrast for washed out card text */
.card .text-muted,
.text-muted {
  color: var(--healthcare-dark-blue) !important;
  opacity: 0.8;
}

/* Specific fix for Personal Information and similar cards */
.card-body .text-muted,
.card-header .text-muted,
.card-title + .text-muted {
  color: #2d3748 !important;
  opacity: 0.75;
}

/* Enhanced contrast for card content with badges */
.card .d-flex .text-muted {
  color: #4a5568 !important;
  font-weight: 500;
}
.card .d-flex .text-muted.fa-solid {
  font-weight: 900 !important;
}

/* Fix missing Font Awesome chevron-right icon definition */
.fa-chevron-right::before {
  content: "\f054" !important;
}

/* Fix 3: Selected Tab Button Text Contrast and Icon Color Issues */
/* Override washed out active tab styling with darker text */
/* Fix icon colors for active tab buttons - darker icons on light background */
.tab-button.active i.fa-solid,
.tab-button.active i.far,
.tab-button.active i.fab {
  color: var(--healthcare-blue) !important;
  transform: scale(1.1) !important;
}

/* Fix badge visibility on active tab buttons */
.tab-button.active .badge {
  background-color: var(--healthcare-blue) !important;
  color: var(--healthcare-text-light) !important;
  border: 2px solid var(--healthcare-text-light) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* Prevent our general hover effects from affecting tab buttons */
.tab-button:hover i.fa-solid,
.tab-button:hover i.far,
.tab-button:hover i.fab,
.tab-button i.fa-solid,
.tab-button i.far,
.tab-button i.fab {
  color: inherit !important;
  transform: scale(1.1) !important;
}

/* Unselected tab button styling removed - using Enhanced CDA approach */
/* Badge styling is now handled by static/scss/pages/_enhanced_cda.scss */
/* Stop ALL icon color changes on hover for clinical sections */
.collapsible-label-title:hover i,
.collapsible-label-title:hover .fa-solid,
.collapsible-label-title:hover .fa-regular,
.collapsible-label-title:hover .fa-light,
.collapsible-label-title:hover .fa-brands,
.collapsible-label-title i:hover,
.collapsible-label-title .fa-solid:hover,
.collapsible-label-title .fa-regular:hover,
.collapsible-label-title .fa-light:hover,
.collapsible-label-title .fa-brands:hover {
  color: white !important;
  fill: white !important;
  transform: none !important;
  transition: none !important;
}

/* Override any global hover effects specifically for clinical sections */
.clinical-section .collapsible-label-title:hover i,
.clinical-section .collapsible-label-title:hover .fa-solid,
.clinical-section .collapsible-label-title:hover .fa-regular,
.clinical-section .collapsible-label-title:hover .fa-light,
.clinical-section .collapsible-label-title:hover .fa-brands {
  color: white !important;
  fill: white !important;
  transform: none !important;
}

/* Performance & Accessibility Enhancements */
/* Lazy loading image transitions */
img[data-src] {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

img.loaded {
  opacity: 1;
}

img.fade-in {
  animation: fadeInImage 0.5s ease-in-out;
}

@keyframes fadeInImage {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Skip links styling */
.skip-links {
  position: absolute;
  top: -40px;
  left: 6px;
  z-index: 9999;
}

.skip-link {
  position: absolute;
  padding: 8px 12px;
  background-color: #005eb8;
  color: white;
  text-decoration: none;
  border-radius: 0 0 4px 4px;
  font-weight: bold;
  font-size: 14px;
  transition: top 0.2s ease;
  border: 2px solid transparent;
}

.skip-link:hover,
.skip-link:focus {
  top: 0;
  outline: 3px solid #ff6900;
  outline-offset: 2px;
  color: white;
  text-decoration: none;
}

/* Enhanced focus indicators */
.user-is-tabbing *:focus {
  outline: 3px solid #ff6900 !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}

/* Button focus enhancements */
.btn:focus {
  box-shadow: 0 0 0 3px rgba(255, 105, 0, 0.4) !important;
}

/* Form input focus enhancements */
.form-control:focus,
.form-select:focus {
  border-color: #005eb8;
  box-shadow: 0 0 0 3px rgba(0, 94, 184, 0.25);
}

/* High contrast mode */
:root {
  /* Default (normal) color scheme */
  --hc-bg-primary: inherit;
  --hc-bg-secondary: inherit;
  --hc-text-primary: inherit;
  --hc-text-secondary: inherit;
  --hc-border-primary: inherit;
  --hc-border-secondary: inherit;
  --hc-link-color: inherit;
  --hc-btn-bg: inherit;
  --hc-btn-text: inherit;
  --hc-btn-border: inherit;
}

.high-contrast {
  /* High contrast color scheme */
  --hc-bg-primary: #000000;
  --hc-bg-secondary: #333333;
  --hc-text-primary: #ffffff;
  --hc-text-secondary: #ffffff;
  --hc-border-primary: #ffffff;
  --hc-border-secondary: #ffffff;
  --hc-link-color: #ffffff;
  --hc-btn-bg: #ffffff;
  --hc-btn-text: #000000;
  --hc-btn-border: #000000;
  /* Override background and text colors for true high contrast */
  background-color: var(--hc-bg-primary) !important;
  color: var(--hc-text-primary) !important;
}

/* Base component classes for high contrast */
.hc-bg-primary {
  background-color: var(--hc-bg-primary) !important;
}

.hc-bg-secondary {
  background-color: var(--hc-bg-secondary) !important;
}

.hc-text-primary {
  color: var(--hc-text-primary) !important;
}

.hc-text-secondary {
  color: var(--hc-text-secondary) !important;
}

.hc-border-primary {
  border-color: var(--hc-border-primary) !important;
}

.hc-border-secondary {
  border-color: var(--hc-border-secondary) !important;
}

/* Apply high contrast to common elements */
.high-contrast .hero-section,
.high-contrast .services-section,
.high-contrast .container,
.high-contrast .container-fluid {
  background-color: var(--hc-bg-primary) !important;
}

.high-contrast .hero-content,
.high-contrast .hero-title,
.high-contrast .hero-subtitle {
  color: var(--hc-text-primary) !important;
}

.high-contrast .card,
.high-contrast .service-card {
  background-color: var(--hc-bg-primary) !important;
  color: var(--hc-text-primary) !important;
  border: 2px solid var(--hc-border-primary) !important;
}

.high-contrast .badge {
  background-color: var(--hc-btn-bg) !important;
  color: var(--hc-btn-text) !important;
  border: 1px solid var(--hc-btn-border) !important;
}

.high-contrast .btn {
  background-color: var(--hc-btn-bg) !important;
  color: var(--hc-btn-text) !important;
  border: 2px solid var(--hc-btn-border) !important;
  font-weight: bold;
}

.high-contrast .btn:hover,
.high-contrast .btn:focus {
  background-color: var(--hc-btn-bg) !important;
  color: var(--hc-btn-text) !important;
  border: 3px solid var(--hc-btn-border) !important;
  box-shadow: 0 0 0 3px var(--hc-border-primary) !important;
}

.high-contrast .stat-item,
.high-contrast .stat-number,
.high-contrast .stat-label {
  color: var(--hc-text-primary) !important;
}

.high-contrast .section-title,
.high-contrast .section-subtitle,
.high-contrast .service-title,
.high-contrast .service-description {
  color: var(--hc-text-primary) !important;
}

.high-contrast .service-icon,
.high-contrast .stat-icon,
.high-contrast .hero-icon {
  background-color: var(--hc-btn-bg) !important;
  color: var(--hc-btn-text) !important;
  border: 2px solid var(--hc-btn-border) !important;
}

.high-contrast .service-icon i,
.high-contrast .stat-icon i,
.high-contrast .hero-icon i {
  color: var(--hc-btn-text) !important;
}

.high-contrast .stat-item {
  color: var(--hc-text-primary) !important;
}

.high-contrast .stat-item .stat-icon {
  background-color: var(--hc-btn-bg) !important;
  border: 2px solid var(--hc-btn-border) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.high-contrast .stat-item .stat-icon i {
  color: var(--hc-btn-text) !important;
  margin: 0 !important;
}

.high-contrast .container,
.high-contrast .container-fluid {
  background-color: #000000 !important;
}

.high-contrast p,
.high-contrast span,
.high-contrast div,
.high-contrast h1,
.high-contrast h2,
.high-contrast h3,
.high-contrast h4,
.high-contrast h5,
.high-contrast h6 {
  color: #ffffff !important;
}

.high-contrast .text-dark,
.high-contrast .text-muted {
  color: #ffffff !important;
}

/* Fix high contrast toggle button visibility */
.high-contrast #contrast-toggle {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 3px solid #ffffff !important;
}

.high-contrast #contrast-toggle:hover,
.high-contrast #contrast-toggle:focus {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 3px solid #000000 !important;
}

.high-contrast img:not(.no-contrast) {
  filter: contrast(120%);
}

.high-contrast .services-section,
.high-contrast .hero-section {
  background-color: #000000 !important;
}

.high-contrast .service-features li {
  color: #ffffff !important;
}

.high-contrast .service-features li i {
  color: #ffffff !important;
}

/* Navigation Bar High Contrast Styling */
.high-contrast .navbar,
.high-contrast .navbar-nav,
.high-contrast .nav {
  background-color: #000000 !important;
  border-bottom: 3px solid #ffffff !important;
}

.high-contrast .navbar-brand,
.high-contrast .nav-link,
.high-contrast .navbar-nav .nav-link {
  color: #ffffff !important;
  font-weight: bold;
}

.high-contrast .navbar-brand:hover,
.high-contrast .navbar-brand:focus,
.high-contrast .nav-link:hover,
.high-contrast .nav-link:focus {
  color: #ffffff !important;
  background-color: #333333 !important;
  border: 2px solid #ffffff !important;
  border-radius: 4px;
}

.high-contrast .navbar-toggler {
  background-color: #ffffff !important;
  border: 2px solid #000000 !important;
}

.high-contrast .navbar-toggler-icon {
  background-color: #000000 !important;
}

/* Card Content Areas - Fix Hidden Descriptions */
.high-contrast .card-body,
.high-contrast .card-text,
.high-contrast .card-content {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.high-contrast .service-card .card-body,
.high-contrast .service-card .service-description {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
  padding: 15px !important;
}

/* Ensure all service card content is visible */
.high-contrast .service-card p,
.high-contrast .service-card .card-text,
.high-contrast .service-card .service-description,
.high-contrast .service-card ul,
.high-contrast .service-card li {
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* Fix service card headers and titles */
.high-contrast .service-card .card-header,
.high-contrast .service-card h3,
.high-contrast .service-card h4,
.high-contrast .service-card h5 {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-bottom: 1px solid #ffffff !important;
}

.high-contrast .external-service-card,
.high-contrast .external-service-card .card-body {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

.high-contrast .external-service-card .service-description,
.high-contrast .external-service-card p,
.high-contrast .external-service-card .card-text {
  color: #ffffff !important;
  background-color: #000000 !important;
}

/* Ensure external service links are visible */
.high-contrast .external-service-card .btn,
.high-contrast .external-service-card a.btn {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  font-weight: bold;
}

.high-contrast .external-service-card .btn:hover,
.high-contrast .external-service-card .btn:focus,
.high-contrast .external-service-card a.btn:hover,
.high-contrast .external-service-card a.btn:focus {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 3px solid #000000 !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}

/* Footer and Settings Areas */
.high-contrast footer,
.high-contrast .footer {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-top: 3px solid #ffffff !important;
}

.high-contrast footer a,
.high-contrast .footer a,
.high-contrast footer .nav-link,
.high-contrast .footer .nav-link {
  color: #ffffff !important;
  text-decoration: underline;
}

.high-contrast footer a:hover,
.high-contrast footer a:focus,
.high-contrast .footer a:hover,
.high-contrast .footer a:focus {
  color: #ffffff !important;
  background-color: #333333 !important;
  border: 1px solid #ffffff !important;
  border-radius: 4px;
  padding: 2px 4px;
}

/* Settings and Utility Icons */
.high-contrast .settings-icon,
.high-contrast .utility-icon,
.high-contrast .gear-icon {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  border-radius: 4px;
}

/* Link Styling */
.high-contrast a:not(.btn),
.high-contrast .link {
  color: #ffffff !important;
  text-decoration: underline !important;
}

.high-contrast a:not(.btn):hover,
.high-contrast a:not(.btn):focus {
  color: #ffffff !important;
  background-color: #333333 !important;
  border: 1px solid #ffffff !important;
  border-radius: 4px;
  padding: 2px 4px;
}

/* List and Menu Items */
.high-contrast .list-group-item,
.high-contrast .dropdown-item {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}

.high-contrast .list-group-item:hover,
.high-contrast .list-group-item:focus,
.high-contrast .dropdown-item:hover,
.high-contrast .dropdown-item:focus {
  background-color: #333333 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

/* Form Elements in High Contrast */
.high-contrast .form-control,
.high-contrast .form-select,
.high-contrast input,
.high-contrast textarea,
.high-contrast select {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

.high-contrast .form-control:focus,
.high-contrast .form-select:focus,
.high-contrast input:focus,
.high-contrast textarea:focus,
.high-contrast select:focus {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}

.high-contrast label,
.high-contrast .form-label {
  color: #ffffff !important;
  font-weight: bold;
}

/* Alert and Message Styling */
.high-contrast .alert {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 3px solid #ffffff !important;
}

.high-contrast .alert-success {
  border-color: #ffffff !important;
}

.high-contrast .alert-warning {
  border-color: #ffffff !important;
}

.high-contrast .alert-danger {
  border-color: #ffffff !important;
}

/* Breadcrumb and Navigation Aids */
.high-contrast .breadcrumb, .high-contrast .breadcrumb-enhanced,
.high-contrast .breadcrumb-item {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.high-contrast .breadcrumb-item a {
  color: #ffffff !important;
  text-decoration: underline;
}

.high-contrast .breadcrumb-item.active {
  color: #ffffff !important;
}

/* Table High Contrast */
.high-contrast table,
.high-contrast th,
.high-contrast td {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

.high-contrast th {
  background-color: #333333 !important;
  font-weight: bold;
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .fade-in {
    animation: none;
  }
}
/* Required field indicators */
.required-indicator {
  color: #dc3545;
  font-weight: bold;
  margin-left: 2px;
}

/* Screen reader only content */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Focus trap for modals */
.modal.show {
  outline: none;
}

.modal-content:focus {
  outline: 3px solid #ff6900;
  outline-offset: -3px;
}

/* High contrast toggle button */
#contrast-toggle {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 1050;
  background-color: rgba(255, 255, 255, 0.9);
  border: 2px solid #005eb8;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

#contrast-toggle:hover,
#contrast-toggle:focus {
  background-color: #005eb8;
  color: white;
  transform: scale(1.1);
}

/* Improve table accessibility */
table {
  border-collapse: collapse;
}

th {
  background-color: #f8f9fa;
  font-weight: bold;
  text-align: left;
  padding: 12px;
  border: 1px solid #dee2e6;
}

td {
  padding: 12px;
  border: 1px solid #dee2e6;
  vertical-align: top;
}

/* Better spacing for form elements */
.form-group {
  margin-bottom: 1.5rem;
}

label {
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: block;
}

/* Enhanced card accessibility */
.card {
  border: 1px solid #dee2e6;
  transition: box-shadow 0.2s ease;
}

.card:hover,
.card:focus {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.card[tabindex="0"]:focus {
  outline: 3px solid #ff6900;
  outline-offset: 2px;
}

/* Improve list accessibility */
.list-group-item[tabindex="0"]:focus {
  outline: 3px solid #ff6900;
  outline-offset: -2px;
  z-index: 1;
}

/* Error message styling */
.error-message {
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: 0.25rem;
  display: block;
}

.form-control.is-invalid {
  border-color: #dc3545;
}

/* Success message styling */
.success-message {
  color: #198754;
  font-size: 0.875rem;
  margin-top: 0.25rem;
  display: block;
}

/* Loading state for lazy images */
img[data-src]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  background: linear-gradient(90deg, #f0f0f0 25%, transparent 37%, #f0f0f0 63%);
  background-size: 400% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
}

@keyframes shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}
/* Print styles for better accessibility */
@media print {
  .skip-links,
  #contrast-toggle,
  .btn,
  .navbar,
  footer {
    display: none !important;
  }
  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
  img {
    max-width: 100% !important;
    height: auto !important;
  }
}
/* Dark mode support (respects system preference) */
@media (prefers-color-scheme: dark) {
  :root {
    --bs-body-bg: #212529;
    --bs-body-color: #ffffff;
  }
  .bg-white {
    background-color: #343a40 !important;
  }
  .text-dark {
    color: #ffffff !important;
  }
  .border {
    border-color: #495057 !important;
  }
}
/* Responsive design enhancements */
@media (max-width: 768px) {
  .skip-links {
    left: 3px;
  }
  .skip-link {
    font-size: 12px;
    padding: 6px 10px;
  }
  #contrast-toggle {
    top: 5px;
    right: 5px;
    width: 35px;
    height: 35px;
  }
}
/* Language direction support */
[dir=rtl] .skip-links {
  left: auto;
  right: 6px;
}

[dir=rtl] #contrast-toggle {
  right: auto;
  left: 10px;
}

/* Animation utilities for accessibility */
.no-animation * {
  animation: none !important;
  transition: none !important;
}

/* Focus management utilities */
.focus-trap {
  outline: none;
}

.focus-trap:focus-within {
  outline: 3px solid #ff6900;
  outline-offset: 2px;
}

.container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .container {
    padding: 0 1.5rem;
  }
}

.container-fluid {
  width: 100%;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .container-fluid {
    padding: 0 1.5rem;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.5rem;
}
.row.row-no-gutters {
  margin: 0;
}
.row.row-no-gutters .col {
  padding: 0;
}
.row.row-lg-gutters {
  margin: 0 -1rem;
}
.row.row-lg-gutters .col {
  padding: 0 1rem;
}

.col {
  flex: 1;
  padding: 0 0.5rem;
  min-width: 0;
}
.col.col-auto {
  flex: 0 0 auto;
  width: auto;
}
.col.col-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}
.col.col-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}
.col.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col.col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.col.col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}
.col.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col.col-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}
.col.col-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}
.col.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col.col-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}
.col.col-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}
.col.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}
@media (min-width: 640px) {
  .col.col-sm-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col.col-sm-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col.col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col.col-sm-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col.col-sm-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col.col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col.col-sm-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col.col-sm-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col.col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col.col-sm-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col.col-sm-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col.col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .col.col-md-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col.col-md-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col.col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col.col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col.col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col.col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col.col-md-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col.col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col.col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col.col-md-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col.col-md-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col.col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 1024px) {
  .col.col-lg-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col.col-lg-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col.col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col.col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col.col-lg-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col.col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col.col-lg-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col.col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col.col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col.col-lg-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col.col-lg-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col.col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.align-start {
  align-items: flex-start;
}

.align-center {
  align-items: center;
}

.align-end {
  align-items: flex-end;
}

.align-stretch {
  align-items: stretch;
}

.site-header {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  position: relative;
  z-index: 999;
}
.site-header .header-container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .site-header .header-container {
    padding: 0 1.5rem;
  }
}
.site-header .header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 480px) {
  .site-header .header-container {
    flex-direction: column;
    gap: 1rem;
  }
}
.site-header .header-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}
.site-header .header-subtitle {
  font-size: 1.25rem;
  opacity: 0.9;
  margin-top: 0.5rem;
}
.site-header::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}
.site-header .header-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}
.site-header .header-brand .brand-logo {
  font-size: 2rem;
}
.site-header .header-brand .brand-text h1 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 480px) {
  .site-header .header-brand .brand-text h1 {
    font-size: 1.25rem;
  }
}
.site-header .header-brand .brand-text p {
  margin: 0;
  font-size: 0.875rem;
  opacity: 0.9;
}
.site-header .header-nav nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 480px) {
  .site-header .header-nav nav ul {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.site-header .header-nav nav ul li a {
  color: #ffffff;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header .header-nav nav ul li a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.site-header .header-nav nav ul li a.active {
  background-color: rgba(255, 255, 255, 0.2);
}

.main-content {
  background: #ffffff;
  min-height: 70vh;
}
.main-content.with-navbar {
  margin: 1.5rem 0;
  border-radius: 0.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.main-content.with-navbar .container {
  padding: 2rem;
}

.page-header {
  background: linear-gradient(135deg, #005f5f, #004a4a);
  color: #ffffff;
  padding: 2rem;
  border-radius: 0.5rem 0.5rem 0 0;
  margin-bottom: 0;
}
.page-header h1,
.page-header h2,
.page-header h3 {
  margin: 0;
  color: #ffffff;
}
.page-header .page-subtitle {
  margin-top: 0.5rem;
  opacity: 0.9;
}

.hero-header {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  padding: 3rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero-header::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}
.hero-header .hero-content {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .hero-header .hero-content {
    padding: 0 1.5rem;
  }
}
.hero-header .hero-content {
  position: relative;
  z-index: 2;
}
.hero-header .hero-content h1 {
  margin: 0 0 1.5rem 0;
  font-size: 3rem;
  font-weight: 700;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}
@media (min-width: 480px) {
  .hero-header .hero-content h1 {
    font-size: 2rem;
  }
}
.hero-header .hero-content p {
  margin: 0;
  font-size: 1.25rem;
  opacity: 0.9;
  max-width: 600px;
  margin: 0 auto;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(10deg);
  }
}
.healthcare-footer {
  background: linear-gradient(135deg, #005f5f 0%, rgb(0, 80.75, 80.75) 100%);
  color: #ffffff;
  margin-top: 4rem;
  position: relative;
  overflow: hidden;
}
.healthcare-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.03) 75%);
  background-size: 60px 60px;
  opacity: 0.4;
  pointer-events: none;
}
.healthcare-footer .footer-background {
  position: relative;
  z-index: 1;
  padding: 3rem 0 2rem 0;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-background {
    padding: 2.5rem 0 1.5rem 0;
  }
}
.healthcare-footer .footer-section {
  padding: 1.5rem;
  height: 100%;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-section {
    padding: 1rem 0;
    text-align: center;
  }
}
.healthcare-footer .footer-title {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  line-height: 1.3;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-title {
    font-size: 1.3rem;
    margin-bottom: 1rem;
  }
}
.healthcare-footer .footer-subtitle {
  color: rgba(255, 255, 255, 0.95);
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
@media (min-width: 480px) {
  .healthcare-footer .footer-subtitle {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
}
.healthcare-footer .footer-description {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
@media (min-width: 480px) {
  .healthcare-footer .footer-description {
    font-size: 0.9rem;
    line-height: 1.5;
  }
}
.healthcare-footer .footer-links {
  padding: 0;
  margin: 0;
}
.healthcare-footer .footer-links li {
  margin-bottom: 0.75rem;
}
.healthcare-footer .footer-links li:last-child {
  margin-bottom: 0;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-links li {
    margin-bottom: 0.5rem;
  }
}
.healthcare-footer .footer-link {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  display: inline-block;
  position: relative;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.healthcare-footer .footer-link:hover {
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  transform: translateX(4px);
}
.healthcare-footer .footer-link::before {
  content: "▶";
  position: absolute;
  left: -20px;
  opacity: 0;
  transition: opacity 0.3s ease;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
}
.healthcare-footer .footer-link:hover::before {
  opacity: 1;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-link {
    font-size: 0.9rem;
  }
  .healthcare-footer .footer-link:hover {
    transform: none;
  }
  .healthcare-footer .footer-link::before {
    display: none;
  }
}
.healthcare-footer .footer-tech-info .tech-detail {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.healthcare-footer .footer-tech-info .tech-detail:last-child {
  margin-bottom: 0;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-tech-info .tech-detail {
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
  }
}
.healthcare-footer .footer-separator {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.3) 80%, transparent 100%);
  margin: 2rem 0 1.5rem 0;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-separator {
    margin: 1.5rem 0 1rem 0;
  }
}
.healthcare-footer .footer-bottom {
  padding: 0 1.5rem;
}
@media (min-width: 480px) {
  .healthcare-footer .footer-bottom {
    padding: 0 1rem;
  }
}
.healthcare-footer .footer-copyright {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.85rem;
  margin: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
@media (min-width: 480px) {
  .healthcare-footer .footer-copyright {
    font-size: 0.8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .healthcare-footer .footer-link {
    transition: none;
  }
  .healthcare-footer .footer-link:hover {
    transform: none;
  }
}
@media (prefers-contrast: high) {
  .healthcare-footer {
    background: #005f5f;
  }
  .healthcare-footer::before {
    display: none;
  }
  .healthcare-footer .footer-title,
  .healthcare-footer .footer-subtitle,
  .healthcare-footer .footer-description,
  .healthcare-footer .footer-link,
  .healthcare-footer .tech-detail,
  .healthcare-footer .footer-copyright {
    color: #ffffff;
    text-shadow: none;
  }
}
.sidebar {
  background-color: #ffffff;
  border-right: 1px solid #e2e8f0;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 280px;
  transform: translateX(-100%);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1050;
  overflow-y: auto;
}
.sidebar.sidebar-open {
  transform: translateX(0);
}
@media (min-width: 768px) {
  .sidebar {
    position: static;
    transform: translateX(0);
    height: auto;
    min-height: calc(100vh - 80px);
  }
}
.sidebar .sidebar-header {
  padding: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sidebar .sidebar-header h3 {
  margin: 0;
  color: #2d3748;
  font-size: 1.25rem;
}
.sidebar .sidebar-header .sidebar-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #4a5568;
  cursor: pointer;
  padding: 0;
}
@media (min-width: 768px) {
  .sidebar .sidebar-header .sidebar-close {
    display: none;
  }
}
.sidebar .sidebar-header .sidebar-close:hover {
  color: #2d3748;
}
.sidebar .sidebar-nav {
  padding: 1.5rem 0;
}
.sidebar .sidebar-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar .sidebar-nav ul li {
  margin-bottom: 0.25rem;
}
.sidebar .sidebar-nav ul li a {
  display: block;
  padding: 0.5rem 1.5rem;
  color: #4a5568;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
}
.sidebar .sidebar-nav ul li a:hover {
  background-color: #f7fafc;
  color: #2d3748;
}
.sidebar .sidebar-nav ul li a.active {
  background-color: #e8f6f7;
  color: #005f5f;
  border-right: 3px solid #005f5f;
}
.sidebar .sidebar-nav ul li a .nav-icon {
  font-size: 1.25rem;
  width: 20px;
  text-align: center;
}
.sidebar .sidebar-section {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.sidebar .sidebar-section h4 {
  margin: 0 0 1rem 0;
  color: #2d3748;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1049;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-overlay.sidebar-overlay-active {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 768px) {
  .sidebar-overlay {
    display: none;
  }
}

.main-content {
  transition: margin-left 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 768px) {
  .main-content.with-sidebar {
    margin-left: 280px;
  }
}

.sidebar-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}
.sidebar-toggle:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.sidebar-toggle {
  background-color: #005f5f;
  color: #ffffff;
  position: fixed;
  top: 1.5rem;
  left: 1.5rem;
  z-index: 1051;
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .sidebar-toggle {
    display: none;
  }
}
.sidebar-toggle:hover {
  background-color: #004a4a;
}

/* Contact Card Components - Minimal CSS for Bootstrap 5.3 */
/* Icon circle sizing and hover effects */
.contact-icon {
  width: 40px;
  height: 40px;
}

.icon-circle {
  transition: transform 0.2s ease;
}

.icon-circle:hover {
  transform: scale(1.05);
}

/* Card hover animations */
.address-card,
.contact-method-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.address-card:hover,
.contact-method-card:hover {
  transform: translateY(-2px);
}

/* Info item hover state */
.info-item:hover {
  background-color: var(--bs-light) !important;
  transition: background-color 0.2s ease;
}

/* Header Navigation Tabs Styling */
.nav-tabs-light .nav-link {
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}

.nav-tabs-light .nav-link:hover {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}

.nav-tabs-light .nav-link.active {
  background: rgba(255, 255, 255, 0.9);
  color: var(--bs-primary) !important;
  border-color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
}

/* Extended info container styling */
.tab-content .tab-pane > div {
  max-height: 400px;
  overflow-y: auto;
  transition: background-color 0.2s ease;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn.btn-sm {
  height: 2rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}
.btn.btn-md {
  height: 2.5rem;
}
.btn.btn-lg {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.25rem;
}
.btn.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}
.btn.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn.btn-primary {
  background-color: #005f5f;
  color: #ffffff;
}
.btn.btn-primary:hover:not(:disabled) {
  background-color: #004a4a;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.btn.btn-primary:active {
  transform: translateY(0);
}
.btn.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}
.btn.btn-secondary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn.btn-secondary {
  background-color: #ffffff;
  color: #005f5f;
  border: 1px solid #005f5f;
}
.btn.btn-secondary i, .btn.btn-secondary .fa, .btn.btn-secondary .fas, .btn.btn-secondary .far, .btn.btn-secondary .fab {
  color: #005f5f !important;
}
.btn.btn-secondary:hover:not(:disabled) {
  background-color: #e8f6f7;
}
.btn.btn-secondary:hover:not(:disabled) i, .btn.btn-secondary:hover:not(:disabled) .fa, .btn.btn-secondary:hover:not(:disabled) .fas, .btn.btn-secondary:hover:not(:disabled) .far, .btn.btn-secondary:hover:not(:disabled) .fab {
  color: #005f5f !important;
}
.btn.btn-success {
  background-color: #22c55e;
  color: #ffffff;
}
.btn.btn-success:hover:not(:disabled) {
  background-color: rgb(26.4935064935, 153.5064935065, 73.2467532468);
}
.btn.btn-warning {
  background-color: #f59e0b;
  color: #ffffff;
}
.btn.btn-warning:hover:not(:disabled) {
  background-color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.btn.btn-info {
  background-color: #005f5f;
  color: #ffffff;
}
.btn.btn-info:hover:not(:disabled) {
  background-color: #004a4a;
}
.btn.btn-info i, .btn.btn-info .fa, .btn.btn-info .fas, .btn.btn-info .far, .btn.btn-info .fab {
  color: #ffffff !important;
}
.btn.btn-info:hover:not(:disabled) i, .btn.btn-info:hover:not(:disabled) .fa, .btn.btn-info:hover:not(:disabled) .fas, .btn.btn-info:hover:not(:disabled) .far, .btn.btn-info:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.btn.btn-danger {
  background-color: #dc2626;
  color: #ffffff;
}
.btn.btn-danger:hover:not(:disabled) {
  background-color: rgb(178.25, 28.75, 28.75);
}
.btn.btn-outline {
  background-color: transparent;
  border: 1px solid currentColor;
}
.btn.btn-outline:hover:not(:disabled) {
  background-color: currentColor;
  color: #ffffff;
}
.btn.btn-outline-primary {
  background-color: transparent;
  border: 2px solid #005f5f;
  color: #005f5f;
}
.btn.btn-outline-primary:hover:not(:disabled) {
  background-color: #005f5f;
  border-color: #005f5f;
  color: #ffffff;
}
.btn.btn-outline-primary i, .btn.btn-outline-primary .fa, .btn.btn-outline-primary .fas, .btn.btn-outline-primary .far, .btn.btn-outline-primary .fab {
  color: #005f5f;
}
.btn.btn-outline-primary:hover:not(:disabled) i, .btn.btn-outline-primary:hover:not(:disabled) .fa, .btn.btn-outline-primary:hover:not(:disabled) .fas, .btn.btn-outline-primary:hover:not(:disabled) .far, .btn.btn-outline-primary:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.btn.btn-outline-secondary {
  background-color: transparent;
  border: 2px solid #4a5568;
  color: #4a5568;
}
.btn.btn-outline-secondary:hover:not(:disabled) {
  background-color: #4a5568;
  border-color: #4a5568;
  color: #ffffff;
}
.btn.btn-outline-secondary i, .btn.btn-outline-secondary .fa, .btn.btn-outline-secondary .fas, .btn.btn-outline-secondary .far, .btn.btn-outline-secondary .fab {
  color: #4a5568;
}
.btn.btn-outline-secondary:hover:not(:disabled) i, .btn.btn-outline-secondary:hover:not(:disabled) .fa, .btn.btn-outline-secondary:hover:not(:disabled) .fas, .btn.btn-outline-secondary:hover:not(:disabled) .far, .btn.btn-outline-secondary:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.btn.btn-outline-info {
  background-color: transparent;
  border: 2px solid #005f5f;
  color: #005f5f;
}
.btn.btn-outline-info:hover:not(:disabled) {
  background-color: #005f5f;
  border-color: #005f5f;
  color: #ffffff;
}
.btn.btn-outline-info i, .btn.btn-outline-info .fa, .btn.btn-outline-info .fas, .btn.btn-outline-info .far, .btn.btn-outline-info .fab {
  color: #005f5f;
}
.btn.btn-outline-info:hover:not(:disabled) i, .btn.btn-outline-info:hover:not(:disabled) .fa, .btn.btn-outline-info:hover:not(:disabled) .fas, .btn.btn-outline-info:hover:not(:disabled) .far, .btn.btn-outline-info:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.btn.btn-outline-success {
  background-color: transparent;
  border: 2px solid #22c55e;
  color: #22c55e;
}
.btn.btn-outline-success:hover:not(:disabled) {
  background-color: #22c55e;
  border-color: #22c55e;
  color: #ffffff;
}
.btn.btn-outline-success i, .btn.btn-outline-success .fa, .btn.btn-outline-success .fas, .btn.btn-outline-success .far, .btn.btn-outline-success .fab {
  color: #22c55e;
}
.btn.btn-outline-success:hover:not(:disabled) i, .btn.btn-outline-success:hover:not(:disabled) .fa, .btn.btn-outline-success:hover:not(:disabled) .fas, .btn.btn-outline-success:hover:not(:disabled) .far, .btn.btn-outline-success:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.btn.btn-outline-warning {
  background-color: transparent;
  border: 2px solid #f59e0b;
  color: #f59e0b;
}
.btn.btn-outline-warning:hover:not(:disabled) {
  background-color: #f59e0b;
  border-color: #f59e0b;
  color: #ffffff;
}
.btn.btn-outline-warning i, .btn.btn-outline-warning .fa, .btn.btn-outline-warning .fas, .btn.btn-outline-warning .far, .btn.btn-outline-warning .fab {
  color: #f59e0b;
}
.btn.btn-outline-warning:hover:not(:disabled) i, .btn.btn-outline-warning:hover:not(:disabled) .fa, .btn.btn-outline-warning:hover:not(:disabled) .fas, .btn.btn-outline-warning:hover:not(:disabled) .far, .btn.btn-outline-warning:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.btn.btn-outline-danger {
  background-color: transparent;
  border: 2px solid #dc2626;
  color: #dc2626;
}
.btn.btn-outline-danger:hover:not(:disabled) {
  background-color: #dc2626;
  border-color: #dc2626;
  color: #ffffff;
}
.btn.btn-outline-danger i, .btn.btn-outline-danger .fa, .btn.btn-outline-danger .fas, .btn.btn-outline-danger .far, .btn.btn-outline-danger .fab {
  color: #dc2626;
}
.btn.btn-outline-danger:hover:not(:disabled) i, .btn.btn-outline-danger:hover:not(:disabled) .fa, .btn.btn-outline-danger:hover:not(:disabled) .fas, .btn.btn-outline-danger:hover:not(:disabled) .far, .btn.btn-outline-danger:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.btn.btn-block {
  width: 100%;
}
.btn.btn-loading {
  position: relative;
  color: transparent;
}
.btn.btn-loading::after::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 2px solid #e2e8f0;
  border-top: 2px solid #005f5f;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.btn.btn-loading::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.form-group {
  margin-bottom: 1.5rem;
}

.form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #2d3748;
}
.form-label.required::after {
  content: " *";
  color: #dc2626;
}

.form-input {
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-input:focus {
  outline: none;
  border: 2px solid #005f5f;
  box-shadow: 0 0 0 2px rgba(31, 78, 121, 0.1);
}
.form-input::placeholder {
  color: #718096;
}
.form-input.form-input-sm {
  height: 2rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}
.form-input.form-input-lg {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.25rem;
}
.form-input.form-input-error {
  border-color: #dc2626;
}
.form-input.form-input-error:focus {
  border-color: #dc2626;
  box-shadow: 0 0 0 2px rgba(211, 47, 47, 0.1);
}
.form-input.form-input-success {
  border-color: #22c55e;
}
.form-input.form-input-success:focus {
  border-color: #22c55e;
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
}

.form-textarea {
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-textarea:focus {
  outline: none;
  border: 2px solid #005f5f;
  box-shadow: 0 0 0 2px rgba(31, 78, 121, 0.1);
}
.form-textarea::placeholder {
  color: #718096;
}
.form-textarea {
  min-height: 120px;
  resize: vertical;
}

.form-select {
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-select:focus {
  outline: none;
  border: 2px solid #005f5f;
  box-shadow: 0 0 0 2px rgba(31, 78, 121, 0.1);
}
.form-select::placeholder {
  color: #718096;
}
.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1rem;
  padding-right: 2rem;
  appearance: none;
}

.form-checkbox,
.form-radio {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.form-checkbox input,
.form-radio input {
  margin-right: 0.5rem;
}
.form-checkbox input:focus,
.form-radio input:focus {
  outline: 2px solid #005f5f;
  outline-offset: 2px;
}
.form-checkbox label,
.form-radio label {
  margin-bottom: 0;
  cursor: pointer;
}

.form-help {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #718096;
}

.form-error {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #dc2626;
}

.form-success {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #22c55e;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.5rem;
}
.form-row .form-col {
  flex: 1;
  padding: 0 0.5rem;
  min-width: 0;
}
.form-row .form-col.form-col-auto {
  flex: 0 0 auto;
}
.form-row .form-col.form-col-6 {
  flex: 0 0 50%;
}
.form-row .form-col.form-col-4 {
  flex: 0 0 33.333333%;
}
.form-row .form-col.form-col-3 {
  flex: 0 0 25%;
}

.input-group {
  display: flex;
}
.input-group .form-input {
  border-radius: 0;
}
.input-group .form-input:first-child {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.input-group .form-input:last-child {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}
.input-group .form-input:not(:last-child) {
  border-right: none;
}
.input-group .input-group-text {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background-color: #f7fafc;
  border: 1px solid #e2e8f0;
  border-left: none;
  white-space: nowrap;
}
.input-group .input-group-text:last-child {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.cda-upload-section {
  margin-top: 2rem;
  padding: 1.5rem;
  background-color: #f7fafc;
  border: 1px solid #718096;
  border-radius: 0.5rem;
}
.cda-upload-section .upload-section-title {
  margin-bottom: 0.5rem;
  color: #005f5f;
  font-weight: 700;
}
.cda-upload-section .upload-description {
  margin-bottom: 1.5rem;
  color: #2d3748;
  font-size: 0.875rem;
  line-height: 1.5;
}

.upload-form .upload-field-group {
  margin-bottom: 1.5rem;
}

.file-upload-wrapper {
  position: relative;
  margin-bottom: 1rem;
}
.file-upload-wrapper .file-upload-input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.file-upload-wrapper .file-upload-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  border: 2px dashed #4a5568;
  border-radius: 0.5rem;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
}
.file-upload-wrapper .file-upload-label:hover {
  border-color: #005f5f;
  background-color: rgba(0, 95, 95, 0.02);
}
.file-upload-wrapper .file-upload-label.upload-dragover {
  border-color: #005f5f;
  background-color: rgba(0, 95, 95, 0.05);
  transform: scale(1.02);
}
.file-upload-wrapper .file-upload-label.upload-ready {
  border-color: #22c55e;
  background-color: rgba(34, 197, 94, 0.02);
}
.file-upload-wrapper .file-upload-label.upload-error {
  border-color: #dc2626;
  background-color: rgba(220, 38, 38, 0.02);
}
.file-upload-wrapper .file-upload-label .upload-icon {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  color: #4a5568;
}
.file-upload-wrapper .file-upload-label .upload-text {
  font-weight: 500;
  color: #2d3748;
  margin-bottom: 0.25rem;
}
.file-upload-wrapper .file-upload-label .upload-subtext {
  font-size: 0.875rem;
  color: #4a5568;
}
.file-upload-wrapper .file-upload-feedback {
  margin-top: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.25rem;
  display: none;
}
.file-upload-wrapper .file-upload-feedback .text-success {
  color: #22c55e;
}
.file-upload-wrapper .file-upload-feedback .text-error {
  color: #dc2626;
}

.upload-options .form-group-inline {
  display: flex;
  align-items: center;
}
.upload-options .checkbox-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 0.875rem;
  color: #2d3748;
}
.upload-options .checkbox-label input[type=checkbox] {
  margin-right: 0.5rem;
}
.upload-options .checkbox-label .checkmark {
  margin-left: 0.25rem;
}

.upload-actions {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
}

.auth-container, .logout-container {
  min-height: calc(100vh - 120px);
  background: linear-gradient(135deg, #f8fffe 0%, #e8f5f4 100%);
  padding: 3rem 0;
}
@media (max-width: 640px) {
  .auth-container, .logout-container {
    padding: 1.5rem;
  }
}

.auth-card, .logout-container .logout-card {
  background: #ffffff;
  border-radius: 0.75rem;
  box-shadow: 0 8px 32px rgba(0, 95, 95, 0.1);
  border: 1px solid rgba(0, 95, 95, 0.1);
  overflow: hidden;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .auth-card, .logout-container .logout-card {
    max-width: 420px;
  }
}
@media (min-width: 768px) {
  .auth-card, .logout-container .logout-card {
    max-width: 480px;
  }
}
@media (min-width: 1024px) {
  .auth-card, .logout-container .logout-card {
    max-width: 540px;
  }
}
@media (min-width: 1280px) {
  .auth-card, .logout-container .logout-card {
    max-width: 600px;
  }
}
.auth-card.auth-card-large, .logout-container .auth-card-large.logout-card {
  max-width: 420px;
}
@media (min-width: 640px) {
  .auth-card.auth-card-large, .logout-container .auth-card-large.logout-card {
    max-width: 480px;
  }
}
@media (min-width: 768px) {
  .auth-card.auth-card-large, .logout-container .auth-card-large.logout-card {
    max-width: 540px;
  }
}
@media (min-width: 1024px) {
  .auth-card.auth-card-large, .logout-container .auth-card-large.logout-card {
    max-width: 600px;
  }
}
@media (min-width: 1280px) {
  .auth-card.auth-card-large, .logout-container .auth-card-large.logout-card {
    max-width: 680px;
  }
}

.auth-header {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  padding: 2rem;
  text-align: center;
  position: relative;
}
@media (min-width: 640px) {
  .auth-header {
    padding: 3rem;
  }
}
@media (min-width: 768px) {
  .auth-header {
    padding: 3rem 4rem;
  }
}
@media (min-width: 1024px) {
  .auth-header {
    padding: 4rem;
  }
}
@media (min-width: 1280px) {
  .auth-header {
    padding: 4rem 4rem;
  }
}
.auth-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.03"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  pointer-events: none;
}
.auth-header.auth-header-success {
  background: linear-gradient(135deg, #22c55e 0%, rgb(26.4935064935, 153.5064935065, 73.2467532468) 100%);
}
.auth-header .auth-logo {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  opacity: 0.9;
  position: relative;
  z-index: 2;
  color: #ffffff !important;
}
.auth-header .auth-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 2;
  color: #ffffff !important;
}
.auth-header .auth-subtitle {
  font-size: 0.875rem;
  opacity: 0.8;
  position: relative;
  z-index: 2;
  line-height: 1.75;
  color: #ffffff !important;
}

.auth-body {
  padding: 2rem;
}
@media (min-width: 640px) {
  .auth-body {
    padding: 3rem;
  }
}
@media (min-width: 768px) {
  .auth-body {
    padding: 3rem 4rem;
  }
}
@media (min-width: 1024px) {
  .auth-body {
    padding: 4rem;
  }
}
@media (min-width: 1280px) {
  .auth-body {
    padding: 4rem 4rem;
  }
}
@media (max-width: 640px) {
  .auth-body {
    padding: 1.5rem;
  }
}

.form-group {
  margin-bottom: 2rem;
}
.form-group:last-child {
  margin-bottom: 0;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 640px) {
  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.form-label {
  display: block;
  font-weight: 500;
  color: #2d3748;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.form-label i {
  margin-right: 0.25rem;
  color: #005f5f;
}

.form-control {
  width: 100%;
  padding: 1rem 1.5rem;
  border: 2px solid #e2e8f0;
  border-radius: 0.375rem;
  font-size: 1rem;
  transition: all 0.2s ease-out;
  background: #ffffff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
}
.form-control::placeholder {
  color: #718096;
  opacity: 0.7;
}
.form-control:focus {
  outline: none;
  border-color: #005f5f;
  box-shadow: 0 0 0 3px rgba(0, 95, 95, 0.1);
  transform: translateY(-1px);
}
.form-control.error {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.error-message {
  color: #dc2626;
  font-size: 0.75rem;
  margin-top: 0.25rem;
  font-weight: 500;
}
.error-message::before {
  content: "⚠ ";
  margin-right: 0.25rem;
}

.btn-auth {
  width: 100%;
  padding: 1rem 2rem;
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-out;
  margin-bottom: 3rem;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  box-shadow: 0 2px 4px rgba(0, 95, 95, 0.2);
}
.btn-auth i {
  margin-right: 0.5rem;
}
.btn-auth:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 95, 95, 0.3);
  color: #ffffff;
  text-decoration: none;
}
.btn-auth:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 95, 95, 0.2);
}
.btn-auth:focus {
  outline: 2px solid rgba(0, 95, 95, 0.5);
  outline-offset: 2px;
}
.btn-auth.btn-secondary {
  background: linear-gradient(135deg, #4a5568 0%, rgb(52.797752809, 60.6460674157, 74.202247191) 100%);
  color: #ffffff !important;
  box-shadow: 0 2px 4px rgba(74, 85, 104, 0.2);
}
.btn-auth.btn-secondary:hover {
  color: #ffffff !important;
  box-shadow: 0 6px 16px rgba(74, 85, 104, 0.3);
}
.btn-auth.btn-secondary:active {
  color: #ffffff !important;
  box-shadow: 0 2px 4px rgba(74, 85, 104, 0.2);
}
.btn-auth.btn-secondary i {
  color: #ffffff !important;
}
.btn-auth.btn-inline {
  width: auto;
  display: inline-block;
  margin: 0.5rem;
}

.alert {
  padding: 1.5rem;
  border-radius: 0.375rem;
  margin-bottom: 2rem;
  border: none;
  font-weight: 500;
}
.alert i {
  margin-right: 0.5rem;
}
.alert.alert-danger {
  background: linear-gradient(135deg, rgb(251.875, 235.625, 235.625) 0%, rgb(248.3333333333, 213.6666666667, 213.6666666667) 100%);
  color: rgb(134.3333333333, 21.6666666667, 21.6666666667);
  border-left: 4px solid #dc2626;
}
.alert.alert-success {
  background: linear-gradient(135deg, rgb(191.038961039, 243.961038961, 210.5194805195) 0%, rgb(169.2922077922, 240.2077922078, 195.3961038961) 100%);
  color: rgb(18.987012987, 110.012987013, 52.4935064935);
  border-left: 4px solid #22c55e;
}
.alert.alert-warning {
  background: linear-gradient(135deg, rgb(251.0236220472, 216.4291338583, 157.9763779528) 0%, rgb(250.0196850394, 206.6909448819, 133.4803149606) 100%);
  color: rgb(147.937007874, 95.188976378, 6.062992126);
  border-left: 4px solid #f59e0b;
}

.info-box {
  background: linear-gradient(135deg, rgb(18.5, 255, 255) 0%, #00f8f8 100%);
  border: 1px solid #005f5f;
  border-radius: 0.375rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
  color: black;
}
.info-box .fa {
  margin-right: 0.5rem;
}

.success-message {
  background: linear-gradient(135deg, rgb(191.038961039, 243.961038961, 210.5194805195) 0%, rgb(169.2922077922, 240.2077922078, 195.3961038961) 100%);
  border: 1px solid #22c55e;
  border-radius: 0.375rem;
  padding: 2rem;
  margin-bottom: 3rem;
  color: rgb(18.987012987, 110.012987013, 52.4935064935);
  text-align: center;
}
.success-message .fa {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  display: block;
  color: #22c55e;
}
.success-message strong {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
}
.success-message p {
  margin: 0;
  opacity: 0.9;
}

.instructions {
  background: linear-gradient(135deg, rgb(251.0236220472, 216.4291338583, 157.9763779528) 0%, rgb(250.0196850394, 206.6909448819, 133.4803149606) 100%);
  border: 1px solid #f59e0b;
  border-radius: 0.375rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
  color: rgb(98.9448818898, 63.6653543307, 4.0551181102);
  font-size: 0.875rem;
}
.instructions strong {
  display: block;
  margin-bottom: 0.5rem;
}
.instructions ol {
  text-align: left;
  margin: 0.5rem 0 0 0;
  padding-left: 1.5rem;
}
.instructions ol li {
  margin-bottom: 0.25rem;
}

.requirements-box {
  background: linear-gradient(135deg, #f7fafc 0%, rgb(127.6599190283, 141.1113360324, 160.8400809717) 100%);
  border: 1px solid #718096;
  border-radius: 0.375rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
}
.requirements-box .requirements-title {
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.requirements-box .requirements-title i {
  margin-right: 0.5rem;
  color: #005f5f;
}
.requirements-box .requirements-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.requirements-box .requirements-list li {
  font-size: 0.75rem;
  color: #718096;
  margin-bottom: 0.25rem;
  padding-left: 1.5rem;
  position: relative;
}
.requirements-box .requirements-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #22c55e;
  font-weight: 700;
}

.auth-divider {
  margin: 2rem 0;
  text-align: center;
  position: relative;
}
.auth-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #e2e8f0;
}
.auth-divider span {
  background: #ffffff;
  padding: 0 1.5rem;
  color: #718096;
  font-size: 0.875rem;
  position: relative;
  font-weight: 500;
}

.auth-link, .auth-footer a {
  color: #005f5f;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease-out;
}
.auth-link:hover, .auth-footer a:hover {
  color: #004a4a;
  text-decoration: underline;
}
.auth-link:focus, .auth-footer a:focus {
  outline: 2px solid rgba(0, 95, 95, 0.3);
  outline-offset: 2px;
}
.auth-link i, .auth-footer a i {
  margin-right: 0.25rem;
}

.auth-links {
  text-align: center;
  margin: 3rem 0;
  padding: 1.5rem 0;
}

.auth-footer {
  text-align: center;
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid #e2e8f0;
  color: #718096;
  font-size: 0.875rem;
  line-height: 1.75;
}
.auth-footer .auth-register-prompt {
  margin-bottom: 1.5rem;
  font-weight: 500;
}
.auth-footer i {
  margin-right: 0.25rem;
}
.auth-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
  align-items: center;
}
@media (max-width: 640px) {
  .auth-options {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.auth-options .auth-link, .auth-options .auth-footer a, .auth-footer .auth-options a {
  justify-self: center;
}

.auth-actions {
  margin: 3rem 0;
  text-align: center;
}
.auth-actions .btn-auth {
  margin: 0.5rem;
}

.logout-container .logout-card {
  text-align: center;
}
.logout-container .logout-card .logout-content {
  padding: 4rem 3rem;
}
.logout-container .logout-card .logout-content .logout-icon {
  font-size: 3rem;
  color: #005f5f;
  margin-bottom: 2rem;
}
.logout-container .logout-card .logout-content .logout-message {
  font-size: 1.25rem;
  color: #2d3748;
  margin-bottom: 3rem;
  line-height: 1.75;
}

.instructions {
  background: linear-gradient(135deg, rgb(252.0275590551, 226.1673228346, 182.4724409449) 0%, rgb(251.0236220472, 216.4291338583, 157.9763779528) 100%);
  border: 1px solid #f59e0b;
  border-radius: 0.375rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
  color: rgb(49.9527559055, 32.1417322835, 2.0472440945);
  font-size: 0.875rem;
}
.instructions strong {
  display: block;
  margin-bottom: 0.5rem;
  color: rgb(0.9606299213, 0.6181102362, 0.0393700787);
}

.instructions-list {
  text-align: left;
  margin-top: 0.5rem;
  padding-left: 1.25rem;
}
.instructions-list li {
  margin-bottom: 0.25rem;
  color: rgb(49.9527559055, 32.1417322835, 2.0472440945);
  font-size: 0.875rem;
}

.auth-header.auth-header-success {
  background: linear-gradient(135deg, #22c55e 0%, rgb(26.4935064935, 153.5064935065, 73.2467532468) 100%);
}

.card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.card.card-bordered {
  border: 1px solid #e2e8f0;
}
.card.card-elevated {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.card.card-flat {
  box-shadow: none;
  border: 1px solid #e2e8f0;
}
.card.card-sm {
  padding: 1rem;
}
.card.card-lg {
  padding: 3rem;
}

.card-equal-height, .service-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card-equal-height .card-body, .service-card .card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.card-equal-height .card-footer, .service-card .card-footer {
  margin-top: auto;
}

.service-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: #ffffff;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border-color: rgba(0, 0, 0, 0.12);
}
.service-card .service-card-header {
  padding: 32px 24px 16px 24px;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);
}
.service-card .service-card-header .service-icon {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.service-card .service-card-header .service-icon i {
  font-size: 1em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
.service-card .service-card-header .service-icon {
  margin: 0 auto 20px auto;
  position: relative;
}
.service-card .service-card-header .service-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: inherit;
  opacity: 0.1;
  z-index: -1;
}
.service-card .service-card-header .service-icon i {
  font-size: inherit;
  color: inherit;
}
.service-card .service-card-header .service-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.service-card .service-card-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.service-card .service-card-body .service-description {
  font-size: 16px;
  line-height: 1.6;
  color: #636567;
  margin-bottom: 24px;
  flex-shrink: 0;
}
.service-card .service-card-body .service-features {
  list-style: none;
  padding: 0;
  margin: 0 0 auto 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.service-card .service-card-body .service-features li {
  display: flex;
  align-items: center;
  font-size: 15px;
  color: #2d3748;
  line-height: 1.5;
}
.service-card .service-card-body .service-features li i {
  margin-right: 12px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-card .service-card-footer {
  padding: 20px 24px 32px 24px;
  margin-top: auto;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  background: #fafafa;
}
.service-card .service-card-footer .btn-service {
  width: 100%;
  padding: 16px 24px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 12px;
  border: none;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: normal;
  text-align: center;
  line-height: 1.3;
  min-height: 56px;
  flex-wrap: wrap;
}
.service-card .service-card-footer .btn-service i {
  flex-shrink: 0;
}
.service-card .service-card-footer .btn-service:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.service-card .service-card-footer .btn-service:active {
  transform: translateY(0);
}

.card-header {
  padding: 1.5rem 1.5rem 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  margin: -1.5rem -1.5rem 1.5rem -1.5rem;
}
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6 {
  margin-bottom: 0;
}

.card-body {
  flex: 1;
}

.card-footer {
  padding: 1rem 1.5rem 1.5rem 1.5rem;
  border-top: 1px solid #e2e8f0;
  margin: 1.5rem -1.5rem -1.5rem -1.5rem;
  background-color: #f7fafc;
  border-radius: 0 0 0.5rem 0.5rem;
}

.card-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.card-group .card {
  flex: 1;
  min-width: 250px;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}
.card-grid.card-grid-sm {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.card-grid.card-grid-lg {
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.info-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.info-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.info-card {
  background: linear-gradient(135deg, #e8f6f7 0%, rgba(0, 95, 95, 0.05) 100%);
  border-left: 4px solid #005f5f;
}
.info-card .card-icon {
  color: #005f5f;
  font-size: 2rem;
  margin-bottom: 1rem;
}

.success-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.success-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.success-card {
  background: linear-gradient(135deg, #e8f5e8 0%, rgba(34, 197, 94, 0.05) 100%);
  border-left: 4px solid #22c55e;
}
.success-card .card-icon {
  color: #22c55e;
  font-size: 2rem;
  margin-bottom: 1rem;
}

.warning-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.warning-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.warning-card {
  background: linear-gradient(135deg, #fff3cd 0%, rgba(245, 158, 11, 0.05) 100%);
  border-left: 4px solid #f59e0b;
}
.warning-card .card-icon {
  color: #f59e0b;
  font-size: 2rem;
  margin-bottom: 1rem;
}

.error-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.error-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.error-card {
  background: linear-gradient(135deg, #f8d7da 0%, rgba(220, 38, 38, 0.05) 100%);
  border-left: 4px solid #dc2626;
}
.error-card .card-icon {
  color: #dc2626;
  font-size: 2rem;
  margin-bottom: 1rem;
}

.service-card .btn-outline-primary {
  color: #005f5f !important;
  border-color: #005f5f !important;
  background-color: transparent !important;
}
.service-card .btn-outline-primary i, .service-card .btn-outline-primary .fa, .service-card .btn-outline-primary .fas, .service-card .btn-outline-primary .far, .service-card .btn-outline-primary .fab {
  color: #005f5f !important;
}
.service-card .btn-outline-primary:hover:not(:disabled) {
  background-color: #005f5f !important;
  border-color: #005f5f !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}
.service-card .btn-outline-primary:hover:not(:disabled) i, .service-card .btn-outline-primary:hover:not(:disabled) .fa, .service-card .btn-outline-primary:hover:not(:disabled) .fas, .service-card .btn-outline-primary:hover:not(:disabled) .far, .service-card .btn-outline-primary:hover:not(:disabled) .fab {
  color: #ffffff !important;
  transform: scale(1.1) !important;
}
.service-card .btn-outline-primary:focus {
  box-shadow: 0 0 0 3px rgba(0, 95, 95, 0.25) !important;
}
.service-card .btn-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
}
.service-card .btn-sm i, .service-card .btn-sm .fa, .service-card .btn-sm .fas, .service-card .btn-sm .far, .service-card .btn-sm .fab {
  font-size: 0.875rem;
  margin-right: 0.25rem;
}
.service-card .btn-sm:hover i, .service-card .btn-sm:hover .fa, .service-card .btn-sm:hover .fas, .service-card .btn-sm:hover .far, .service-card .btn-sm:hover .fab {
  color: #ffffff !important;
  transform: scale(1.1) !important;
}

.page-breadcrumb {
  background-color: rgba(0, 95, 95, 0.1);
  border-bottom: 1px solid rgba(0, 95, 95, 0.2);
  border-top: 2px solid rgba(0, 95, 95, 0.3);
  padding: 1.5rem 0 1rem 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.page-breadcrumb .container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .page-breadcrumb .container {
    padding: 0 1.5rem;
  }
}
.page-breadcrumb .breadcrumb-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}
@media (min-width: 1024px) {
  .page-breadcrumb .breadcrumb-content {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
  }
}
.page-breadcrumb .page-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.page-breadcrumb .page-info .page-location {
  color: #004a4a;
  font-weight: 500;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.page-breadcrumb .page-info .page-location i {
  color: #005f5f;
  width: 20px;
  text-align: center;
}
.page-breadcrumb .page-info .page-location .context-flag {
  width: 20px;
  height: auto;
  border-radius: 2px;
  border: 1px solid rgba(226, 232, 240, 0.5);
}
.page-breadcrumb .page-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.page-breadcrumb .page-actions .btn {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  transition: all 0.2s ease-out;
}
.page-breadcrumb .page-actions .btn.btn-outline-secondary {
  color: #005f5f;
  border-color: #005f5f;
  background-color: transparent;
}
.page-breadcrumb .page-actions .btn.btn-outline-secondary:hover {
  color: #ffffff;
  background-color: #005f5f;
  border-color: #005f5f;
}
.page-breadcrumb .page-actions .btn.btn-outline-primary {
  color: #005f5f;
  border-color: #005f5f;
  background-color: transparent;
}
.page-breadcrumb .page-actions .btn.btn-outline-primary:hover {
  color: #ffffff;
  background-color: #005f5f;
  border-color: #005f5f;
}
.page-breadcrumb .page-actions .btn i {
  margin-right: 0.25rem;
}

.page-breadcrumb {
  position: relative;
  z-index: 1010;
}

.breadcrumb .flag-sm, .breadcrumb-enhanced .flag-sm,
.breadcrumb .country-flag,
.breadcrumb-enhanced .country-flag,
.breadcrumb img.flag-sm,
.breadcrumb img.country-flag,
.breadcrumb-item .flag-sm,
.breadcrumb-item .country-flag,
.breadcrumb-item img.flag-sm,
.breadcrumb-item img.country-flag {
  width: 20px !important;
  height: 13px !important;
  max-width: 20px !important;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.25rem;
  object-fit: cover;
}

.country-info-text {
  color: #718096;
  font-size: 0.875rem;
  font-weight: 500;
}

.country-name-badge {
  background: #005f5f !important;
  color: #ffffff !important;
  border: 1px solid #005f5f !important;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.6rem 1rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
}
.country-name-badge .country-flag {
  width: 20px;
  height: 15px;
  border-radius: 2px;
  flex-shrink: 0;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: inline-block;
  vertical-align: middle;
  background: rgba(255, 255, 255, 0.1);
  position: relative;
}
.country-name-badge .country-flag::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent 40%, rgba(255, 255, 255, 0.1) 50%, transparent 60%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.country-name-badge .country-flag[src]:not([src=""]):not([alt*=error])::before {
  opacity: 0;
}
.country-name-badge:hover {
  background: linear-gradient(135deg, #005f5f 0%, rgb(0, 85.5, 85.5) 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 95, 95, 0.15);
}
.country-name-badge:hover .country-flag {
  border-color: rgba(255, 255, 255, 0.4);
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: 0.5rem 0.75rem;
}
.badge.bg-primary {
  background: #005f5f !important;
  color: white !important;
  border: 1px solid #004a4a;
}
.badge.bg-primary i, .badge.bg-primary .fa, .badge.bg-primary .fas, .badge.bg-primary .far, .badge.bg-primary .fab, .badge.bg-primary .fal, .badge.bg-primary .fat, .badge.bg-primary .fad {
  color: white !important;
}
.badge.bg-primary i:hover, .badge.bg-primary .fa:hover, .badge.bg-primary .fas:hover, .badge.bg-primary .far:hover, .badge.bg-primary .fab:hover, .badge.bg-primary .fal:hover, .badge.bg-primary .fat:hover, .badge.bg-primary .fad:hover {
  color: white !important;
}
.badge.bg-primary .fa-check {
  opacity: 1;
  color: white !important;
  font-weight: 900;
}
.badge.bg-primary:hover {
  background: #005f5f !important;
  transform: none !important;
  box-shadow: none !important;
}
.badge.bg-secondary {
  background: #6c757d !important;
  color: white !important;
  border: 1px solid #5a6268;
}
.badge.bg-secondary i, .badge.bg-secondary .fa, .badge.bg-secondary .fas, .badge.bg-secondary .far, .badge.bg-secondary .fab, .badge.bg-secondary .fal, .badge.bg-secondary .fat, .badge.bg-secondary .fad {
  color: white !important;
}
.badge.bg-secondary i:hover, .badge.bg-secondary .fa:hover, .badge.bg-secondary .fas:hover, .badge.bg-secondary .far:hover, .badge.bg-secondary .fab:hover, .badge.bg-secondary .fal:hover, .badge.bg-secondary .fat:hover, .badge.bg-secondary .fad:hover {
  color: white !important;
}
.badge.bg-secondary:hover {
  background: #6c757d !important;
  transform: none !important;
  box-shadow: none !important;
}
.badge.bg-light {
  background: #f8f9fa !important;
  color: #6c757d !important;
  border: 1px solid #dee2e6;
}
.badge.bg-light small {
  font-style: italic;
  opacity: 0.8;
}
.badge.bg-light i, .badge.bg-light .fa, .badge.bg-light .fas, .badge.bg-light .far, .badge.bg-light .fab, .badge.bg-light .fal, .badge.bg-light .fat, .badge.bg-light .fad {
  color: #495057 !important;
}
.badge.bg-light i:hover, .badge.bg-light .fa:hover, .badge.bg-light .fas:hover, .badge.bg-light .far:hover, .badge.bg-light .fab:hover, .badge.bg-light .fal:hover, .badge.bg-light .fat:hover, .badge.bg-light .fad:hover {
  color: #495057 !important;
}
.badge.bg-light:hover {
  background: #f8f9fa !important;
  transform: none !important;
  box-shadow: none !important;
}
.badge.bg-success i, .badge.bg-success .fa, .badge.bg-success .fas, .badge.bg-success .far, .badge.bg-success .fab, .badge.bg-success .fal, .badge.bg-success .fat, .badge.bg-success .fad {
  color: white !important;
}
.badge.bg-success i:hover, .badge.bg-success .fa:hover, .badge.bg-success .fas:hover, .badge.bg-success .far:hover, .badge.bg-success .fab:hover, .badge.bg-success .fal:hover, .badge.bg-success .fat:hover, .badge.bg-success .fad:hover {
  color: white !important;
}
.badge.bg-warning i, .badge.bg-warning .fa, .badge.bg-warning .fas, .badge.bg-warning .far, .badge.bg-warning .fab, .badge.bg-warning .fal, .badge.bg-warning .fat, .badge.bg-warning .fad {
  color: #212529 !important;
}
.badge.bg-warning i:hover, .badge.bg-warning .fa:hover, .badge.bg-warning .fas:hover, .badge.bg-warning .far:hover, .badge.bg-warning .fab:hover, .badge.bg-warning .fal:hover, .badge.bg-warning .fat:hover, .badge.bg-warning .fad:hover {
  color: #212529 !important;
}
.badge {
  cursor: default;
  user-select: none;
}
.badge:hover {
  transform: none !important;
  box-shadow: none !important;
}
.badge:hover i, .badge:hover .fa, .badge:hover .fas, .badge:hover .far, .badge:hover .fab, .badge:hover .fal, .badge:hover .fat, .badge:hover .fad {
  color: inherit !important;
}
.badge:not(:disabled):not(.disabled):hover {
  background-color: inherit !important;
  border-color: inherit !important;
  color: inherit !important;
}
.badge.fs-6 {
  font-size: 0.875rem !important;
  font-weight: 500;
}
.badge.fs-6.px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}
.badge.fs-6.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.badge i {
  vertical-align: baseline;
}
.badge i.fa-file-medical, .badge i.fa-language {
  color: inherit !important;
  margin-right: 0.5rem !important;
}
.badge i.fa-check {
  opacity: 1;
  font-size: 0.8em;
  color: inherit !important;
  margin-left: 0.5rem !important;
  font-weight: 900;
}
.badge i.fa-check-circle {
  margin-right: 0.5rem !important;
}
.badge i.fa, .badge i.fab, .badge i.fa-solid, .badge i.far, .badge i.fal, .badge i.fat, .badge i.fad {
  color: inherit !important;
  transition: none !important;
}
.badge i.fa:hover, .badge i.fab:hover, .badge i.fa-solid:hover, .badge i.far:hover, .badge i.fal:hover, .badge i.fat:hover, .badge i.fad:hover {
  color: inherit !important;
}

.flag-img {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.badge-country {
  background: #e9ecef !important;
  color: #495057 !important;
  border: 1px solid #dee2e6 !important;
  min-height: 1.5rem;
  padding: 0.5rem 0.75rem;
  display: inline-flex;
  align-items: center;
}
.badge-country:hover {
  background: #e9ecef !important;
  color: #495057 !important;
  transform: none !important;
  box-shadow: none !important;
}
.badge-country .flag-img {
  margin-right: 0.5rem;
  vertical-align: middle;
}

.d-flex.gap-2 {
  gap: 0.75rem !important;
}
@media (max-width: 576px) {
  .d-flex.gap-2 {
    flex-direction: column;
    gap: 0.5rem !important;
  }
  .d-flex.gap-2 .badge {
    text-align: left;
    justify-content: flex-start;
  }
}

.text-muted {
  line-height: 1.5;
}
.text-muted strong {
  color: #005f5f;
  font-weight: 600;
}

.badge i:hover,
.badge .fa:hover,
.badge .fas:hover,
.badge .far:hover,
.badge .fab:hover,
.badge .fal:hover,
.badge .fat:hover,
.badge .fad:hover {
  color: inherit !important;
  background: none !important;
  transition: none !important;
}

.table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  background-color: #ffffff;
}
.table th,
.table td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
}
.table th {
  background-color: #f7fafc;
  font-weight: 500;
  color: #2d3748;
  border-bottom: 2px solid #e2e8f0;
}
.table tbody tr {
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.table tbody tr:hover {
  background-color: #f7fafc;
}
.table tbody tr.table-row-selected {
  background-color: #e8f6f7;
}
.table.table-bordered {
  border: 1px solid #e2e8f0;
}
.table.table-bordered th,
.table.table-bordered td {
  border: 1px solid #e2e8f0;
}
.table.table-striped tbody tr:nth-child(even) {
  background-color: rgba(247, 250, 252, 0.5);
}
.table.table-sm th,
.table.table-sm td {
  padding: 0.5rem;
}
.table.table-lg th,
.table.table-lg td {
  padding: 1.5rem;
}

.table-responsive {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
}
.table-responsive .table {
  margin-bottom: 0;
}
.table-responsive .table th:first-child,
.table-responsive .table td:first-child {
  border-left: none;
}
.table-responsive .table th:last-child,
.table-responsive .table td:last-child {
  border-right: none;
}

.table-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.table-actions .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

.table-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  gap: 1rem;
}
@media (min-width: 480px) {
  .table-controls {
    flex-direction: column;
    align-items: stretch;
  }
}
.table-controls .table-search {
  flex: 1;
  max-width: 400px;
}
@media (min-width: 480px) {
  .table-controls .table-search {
    max-width: none;
  }
}
.table-controls .table-filters {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 480px) {
  .table-controls .table-filters {
    flex-direction: column;
    align-items: stretch;
  }
}

.data-table .sort-header {
  cursor: pointer;
  user-select: none;
  position: relative;
}
.data-table .sort-header:hover {
  background-color: rgb(228.4545454545, 238.4090909091, 245.0454545455);
}
.data-table .sort-header::after {
  content: "";
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid #718096;
  opacity: 0.5;
}
.data-table .sort-header.sort-asc::after {
  border-bottom: 4px solid #005f5f;
  border-top: none;
  opacity: 1;
}
.data-table .sort-header.sort-desc::after {
  border-top: 4px solid #005f5f;
  border-bottom: none;
  opacity: 1;
}
.data-table .row-checkbox {
  width: 40px;
  text-align: center;
}
.data-table .row-checkbox input[type=checkbox] {
  margin: 0;
}
.data-table .row-actions {
  width: 120px;
  text-align: right;
}

.table-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
}
@media (min-width: 480px) {
  .table-pagination {
    flex-direction: column;
    gap: 1rem;
  }
}
.table-pagination .pagination-info {
  color: #4a5568;
  font-size: 0.875rem;
}
.table-pagination .pagination-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}

.table-empty {
  text-align: center;
  padding: 3rem;
  color: #4a5568;
}
.table-empty .empty-icon {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  opacity: 0.5;
}
.table-empty h3 {
  margin-bottom: 0.5rem;
  color: #4a5568;
}
.table-empty p {
  margin-bottom: 1.5rem;
}

body {
  overflow-x: hidden;
}

.dropdown-menu {
  z-index: 99999 !important;
  position: absolute !important;
}

.navbar-container,
.container,
.container-fluid {
  overflow: visible !important;
}

.navbar-collapse {
  overflow: visible !important;
}

.navbar-nav {
  overflow: visible !important;
}
.navbar-nav .nav-item {
  overflow: visible !important;
}
.navbar-nav .nav-item.dropdown {
  overflow: visible !important;
}

.navbar {
  background-color: transparent !important;
  background-image: none !important;
  overflow: visible !important;
}
@media (min-width: 992px) {
  .navbar {
    overflow: visible !important;
  }
  .navbar .navbar-collapse {
    overflow: visible !important;
  }
  .navbar .navbar-collapse .navbar-nav {
    overflow: visible !important;
  }
  .navbar .navbar-collapse .navbar-nav .nav-item {
    overflow: visible !important;
  }
  .navbar .navbar-collapse .navbar-nav .nav-item.dropdown {
    overflow: visible !important;
    position: relative;
  }
}

.visually-hidden-focusable {
  position: absolute !important;
  top: -40px;
  left: 6px;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: nowrap;
  z-index: 999999;
}
.visually-hidden-focusable:focus {
  top: 6px;
}

body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced {
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.8) 0%, rgba(51, 150, 154, 0.9) 30%, rgba(0, 95, 95, 0.95) 50%, rgba(51, 150, 154, 0.9) 70%, rgba(0, 95, 95, 0.8) 100%) !important;
  background-color: #005f5f !important;
  background-image: none !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 3px solid transparent;
  border-image: linear-gradient(90deg, #005f5f, #33969a, #2d5a27) 1;
  padding: 1.5rem 0;
  position: sticky;
  top: 0;
  z-index: 1030;
  overflow: visible !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .container,
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .container-fluid,
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-container {
  overflow: visible !important;
}
@media (min-width: 992px) {
  body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-collapse,
  body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav,
  body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .nav-item {
    overflow: visible !important;
  }
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced {
  box-shadow: 0 4px 20px rgba(0, 95, 95, 0.15), 0 1px 3px rgba(0, 95, 95, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition: all 0.2s ease-out;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced:hover {
  box-shadow: 0 6px 28px rgba(0, 95, 95, 0.18), 0 2px 8px rgba(0, 95, 95, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.97) 0%, rgba(0, 95, 95, 0.12) 25%, rgba(51, 150, 154, 0.15) 50%, rgba(0, 95, 95, 0.12) 75%, rgba(255, 255, 255, 0.97) 100%);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  background-color: #ffffff !important;
  color: #005f5f !important;
  text-decoration: none;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  position: relative;
  overflow: hidden;
  border: 2px solid #ffffff;
  box-shadow: 0 4px 16px rgba(0, 95, 95, 0.3), 0 2px 8px rgba(0, 95, 95, 0.2), inset 0 1px 0 white;
  transition: all 0.2s ease-out;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  background-clip: initial;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 95, 95, 0.05), transparent);
  transition: left 0.6s ease;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand:hover {
  transform: translateY(-2px) scale(1.03);
  background-color: #ffffff !important;
  color: #005f5f !important;
  box-shadow: 0 6px 24px rgba(0, 95, 95, 0.4), 0 3px 12px rgba(0, 95, 95, 0.3), inset 0 1px 0 white;
  border-color: #ffffff;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand:hover::before {
  left: 100%;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand:focus {
  outline: 3px solid rgba(0, 95, 95, 0.6);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(0, 95, 95, 0.3), 0 6px 24px rgba(0, 95, 95, 0.4);
  transform: translateY(-1px);
  background-color: #ffffff !important;
  color: #005f5f !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand i {
  font-size: 1.5em;
  margin-right: 0.5rem;
  color: #005f5f !important;
  filter: drop-shadow(0 1px 3px rgba(0, 95, 95, 0.3));
  transition: all 0.2s ease-out;
  background: initial;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  background-clip: initial;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand span {
  position: relative;
  z-index: 2;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  color: #005f5f !important;
  text-shadow: 0 1px 2px rgba(0, 95, 95, 0.1);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand span .brand-primary {
  font-weight: 700;
  letter-spacing: -0.005em;
  color: #005f5f !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-brand span .brand-secondary {
  font-weight: 600;
  opacity: 0.85;
  margin-left: 0.25rem;
  color: #005f5f !important;
}
@keyframes brandGlow {
  0% {
    box-shadow: 0 2px 8px rgba(0, 95, 95, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  }
  100% {
    box-shadow: 0 4px 12px rgba(0, 95, 95, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 20px rgba(0, 95, 95, 0.05);
  }
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler {
  border: 2px solid #ffffff !important;
  border-radius: 0.5rem;
  padding: 1rem;
  background: #ffffff !important;
  min-width: 48px;
  min-height: 48px;
  width: 48px;
  height: 48px;
  box-shadow: 0 4px 16px rgba(0, 95, 95, 0.4), 0 2px 8px rgba(0, 95, 95, 0.3), inset 0 1px 0 white;
  transition: all 0.2s ease-out;
  position: relative;
  overflow: hidden;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: radial-gradient(circle, rgba(0, 95, 95, 0.1), transparent);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler:hover {
  transform: translateY(-2px) scale(1.08);
  background: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 0 6px 24px rgba(0, 95, 95, 0.5), 0 3px 12px rgba(0, 95, 95, 0.4), inset 0 1px 0 white;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler:hover::before {
  width: 100%;
  height: 100%;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler:focus {
  outline: 3px solid rgba(255, 255, 255, 0.9);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.6), 0 6px 24px rgba(0, 95, 95, 0.5);
  transform: translateY(-2px);
  background: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler:active {
  transform: translateY(-1px) scale(1.02);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23007b7f' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  width: 20px;
  height: 20px;
  transition: all 0.2s ease-out;
  filter: drop-shadow(0 1px 3px rgba(0, 95, 95, 0.4));
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-toggler[aria-expanded=true] .navbar-toggler-icon {
  transform: rotate(90deg);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23007b7f' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3.5' d='M6 6l18 18M6 24L24 6'/%3e%3c/svg%3e");
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item {
  margin: 0 0.5rem;
  position: relative;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-end {
  margin-right: 1.5rem;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-end::after {
  content: "";
  position: absolute;
  right: -1rem;
  top: 25%;
  bottom: 25%;
  width: 1px;
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 0 2px rgba(0, 95, 95, 0.1);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-primary .nav-link {
  border-left: 3px solid rgba(0, 95, 95, 0.6);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-primary .nav-link::before {
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.08) 0%, rgba(51, 150, 154, 0.06) 100%);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-primary .nav-link:hover, body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-primary .nav-link:focus {
  border-left-color: #005f5f;
  background: #005f5f !important;
  color: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-primary .nav-link:hover i, body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-primary .nav-link:focus i {
  color: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-management .nav-link {
  border-left: 3px solid rgba(45, 90, 39, 0.6);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-management .nav-link::before {
  background: linear-gradient(135deg, rgba(45, 90, 39, 0.08) 0%, rgba(45, 90, 39, 0.06) 100%);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-management .nav-link:hover, body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-management .nav-link:focus {
  border-left-color: #2d5a27;
  background: #2d5a27 !important;
  color: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-management .nav-link:hover i, body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item.nav-group-management .nav-link:focus i {
  color: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link {
  color: #ffffff !important;
  font-weight: 600;
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.02em;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  min-height: 56px;
  min-width: 88px;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 3px 12px rgba(0, 95, 95, 0.25), 0 1px 4px rgba(0, 95, 95, 0.15), inset 0 1px 0 white;
  transition: all 0.2s ease-out;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.25rem;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  text-align: center;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.02) 0%, rgba(51, 150, 154, 0.05) 50%, rgba(0, 95, 95, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link:hover {
  color: #ffffff !important;
  background: #005f5f !important;
  border-color: #005f5f;
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 24px rgba(0, 95, 95, 0.4), 0 4px 12px rgba(0, 95, 95, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link:hover::before {
  opacity: 1;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link:hover i {
  color: #ffffff !important;
  transform: scale(1.2);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link:hover span {
  color: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link:focus {
  outline: 3px solid rgba(255, 255, 255, 0.8);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.3), 0 8px 24px rgba(0, 95, 95, 0.4);
  color: #ffffff !important;
  background: #005f5f !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link.active {
  color: #ffffff !important;
  font-weight: 700;
  background: linear-gradient(135deg, #005f5f, #33969a) !important;
  border-color: #005f5f;
  box-shadow: 0 6px 20px rgba(0, 95, 95, 0.5), 0 3px 10px rgba(0, 95, 95, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 4px;
  background: linear-gradient(90deg, #2d5a27, rgb(71.6860465116, 143.3720930233, 62.1279069767));
  border-radius: 0.25rem;
  box-shadow: 0 2px 4px rgba(45, 90, 39, 0.4);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link.active i {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 95, 95, 0.3);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link.active span {
  color: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link i {
  color: #005f5f !important;
  font-size: 1.25rem;
  width: 24px;
  height: 24px;
  text-align: center;
  filter: drop-shadow(0 1px 3px rgba(0, 95, 95, 0.3));
  transition: all 0.2s ease-out;
  margin-bottom: 0.25rem;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link[data-bs-toggle=dropdown]::after {
  content: "⌄";
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  font-size: 10px;
  color: currentColor;
  opacity: 0.7;
  transition: all 0.2s ease-out;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link[data-bs-toggle=dropdown]:hover::after {
  opacity: 1;
  transform: translateY(1px);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link span {
  color: #005f5f !important;
  font-weight: inherit;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: all 0.2s ease-out;
  line-height: 1.1;
  white-space: nowrap;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .nav-item .nav-link {
  letter-spacing: 0.05em;
  transition: all 0.2s ease-out;
  line-height: 1.2;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav:hover .nav-link:not(.active) i {
  color: #ffffff !important;
  transform: scale(1.2);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav:hover .nav-link:not(.active) span {
  color: #ffffff !important;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu {
  background: rgba(255, 255, 255, 0.98);
  border: 2px solid #005f5f;
  border-radius: 0.5rem;
  box-shadow: 0 8px 32px rgba(0, 95, 95, 0.25), 0 4px 16px rgba(0, 95, 95, 0.15);
  backdrop-filter: blur(20px);
  margin-top: 0.5rem;
  min-width: 200px;
  position: absolute !important;
  z-index: 99999 !important;
  overflow: visible;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu .dropdown-item {
  color: #005f5f;
  padding: 0.5rem 1rem;
  font-weight: 500;
  font-size: 0.875rem;
  border-radius: 0.25rem;
  margin: 0.25rem;
  transition: all 0.2s ease-out;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu .dropdown-item:hover {
  background: rgba(0, 95, 95, 0.1);
  color: #005f5f;
  transform: translateX(2px);
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu .dropdown-item i {
  margin-right: 0.5rem;
  color: #005f5f;
  width: 16px;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu .dropdown-divider {
  border-color: rgba(0, 95, 95, 0.2);
  margin: 0.5rem 0;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu.mega-menu {
  min-width: 400px;
  padding: 1.5rem;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu.mega-menu .mega-menu-section {
  margin-bottom: 1rem;
}
body nav#main-navigation.navbar.navbar-expand-lg.navbar-light.navbar-enhanced .navbar-nav .dropdown-menu.mega-menu .mega-menu-section .section-title {
  color: #005f5f;
  font-weight: 700;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(0, 95, 95, 0.2);
}

[role=region][aria-label="User authentication status"] {
  padding: 0.5rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(0, 95, 95, 0.02) 100%);
  border: 1px solid rgba(0, 95, 95, 0.1);
  box-shadow: 0 2px 8px rgba(0, 95, 95, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
[role=region][aria-label="User authentication status"] .text-muted {
  color: #4a5568 !important;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
  background: rgba(0, 95, 95, 0.03);
  border-radius: 0.375rem;
  border: 1px solid rgba(0, 95, 95, 0.08);
  margin-right: 1rem;
}
[role=region][aria-label="User authentication status"] .text-muted i {
  color: #005f5f;
  margin-right: 0.25rem;
  filter: drop-shadow(0 1px 1px rgba(0, 95, 95, 0.2));
}
[role=region][aria-label="User authentication status"] .text-muted .user-welcome strong {
  color: #005f5f;
  font-weight: 700;
}
[role=region][aria-label="User authentication status"] .btn {
  min-height: 44px;
  padding: 0.5rem 1.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  border-radius: 0.5rem;
  transition: all 0.2s ease-out;
  position: relative;
  overflow: hidden;
}
[role=region][aria-label="User authentication status"] .btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.3), transparent);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
[role=region][aria-label="User authentication status"] .btn:hover::before {
  width: 100%;
  height: 100%;
}
[role=region][aria-label="User authentication status"] .btn:focus {
  outline: 3px solid #005f5f;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px rgba(0, 95, 95, 0.25), 0 4px 12px rgba(0, 95, 95, 0.15);
}
[role=region][aria-label="User authentication status"] .btn i {
  margin-right: 0.25rem;
  transition: transform 0.2s ease-out;
}
[role=region][aria-label="User authentication status"] .btn:hover i {
  transform: scale(1.1);
}
[role=region][aria-label="User authentication status"] .btn-primary {
  background: linear-gradient(135deg, #005f5f, #33969a) !important;
  border: 2px solid #005f5f !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 12px rgba(0, 95, 95, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
[role=region][aria-label="User authentication status"] .btn-primary:hover {
  background: linear-gradient(135deg, rgb(0, 54.2, 54.2), #005f5f) !important;
  border-color: rgb(0, 54.2, 54.2) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 95, 95, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
[role=region][aria-label="User authentication status"] .btn-primary:active {
  transform: translateY(-1px);
}
[role=region][aria-label="User authentication status"] .btn-primary:focus {
  outline: 3px solid rgba(255, 255, 255, 0.8);
  outline-offset: 2px;
}
[role=region][aria-label="User authentication status"] .btn-outline-primary {
  border: 2px solid #ffffff !important;
  color: #005f5f !important;
  background: rgba(255, 255, 255, 0.95) !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 12px rgba(0, 95, 95, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
[role=region][aria-label="User authentication status"] .btn-outline-primary:hover {
  background: white !important;
  border-color: #ffffff !important;
  color: #005f5f !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 95, 95, 0.3), inset 0 1px 0 white;
}
[role=region][aria-label="User authentication status"] .btn-outline-primary:active {
  transform: translateY(-1px);
}
[role=region][aria-label="User authentication status"] .btn-outline-primary:focus {
  outline: 3px solid rgba(0, 95, 95, 0.5);
  outline-offset: 2px;
}

@media (max-width: 991.98px) {
  .navbar {
    padding: 1rem 0;
  }
  .navbar .navbar-collapse {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(0, 95, 95, 0.05) 25%, rgba(51, 150, 154, 0.08) 50%, rgba(0, 95, 95, 0.05) 75%, rgba(255, 255, 255, 0.98) 100%);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 95, 95, 0.2);
    border-top: 3px solid #005f5f;
    border-radius: 0 0 0.5rem 0.5rem;
    margin-top: 1.5rem;
    padding: 1.5rem;
    box-shadow: 0 8px 32px rgba(0, 95, 95, 0.2), 0 4px 12px rgba(0, 95, 95, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.9), inset 0 -1px 0 rgba(0, 95, 95, 0.1);
    animation: mobileMenuSlide 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transform-style: preserve-3d;
    will-change: transform, opacity;
    max-height: 80vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .navbar .navbar-collapse::-webkit-scrollbar {
    width: 3px;
  }
  .navbar .navbar-collapse::-webkit-scrollbar-track {
    background: rgba(0, 95, 95, 0.1);
    border-radius: 0.25rem;
  }
  .navbar .navbar-collapse::-webkit-scrollbar-thumb {
    background: rgba(0, 95, 95, 0.4);
    border-radius: 0.25rem;
  }
  .navbar .navbar-collapse::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 95, 95, 0.6);
  }
  .navbar .navbar-nav .nav-item {
    margin: 0.25rem 0;
  }
  .navbar .navbar-nav .nav-item:active {
    transform: scale(0.98);
    transition: transform 0.1s ease-out;
  }
  .navbar .navbar-nav .nav-item .nav-link {
    padding: 1rem 1.5rem;
    margin: 0.25rem 0;
    font-size: 1rem;
    border-radius: 0.5rem;
    min-height: 60px;
    min-width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(0, 95, 95, 0.05) 100%);
    border: 2px solid rgba(0, 95, 95, 0.15);
    box-shadow: 0 4px 12px rgba(0, 95, 95, 0.15), 0 2px 6px rgba(0, 95, 95, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .navbar .navbar-nav .nav-item .nav-link i {
    font-size: 1.25rem;
    width: 24px;
    text-align: center;
    color: #005f5f;
    transition: all 0.3s ease;
  }
  .navbar .navbar-nav .nav-item .nav-link span {
    flex: 1;
    text-align: left;
    font-weight: 600;
    color: #2d3748;
  }
  .navbar .navbar-nav .nav-item .nav-link:hover, .navbar .navbar-nav .nav-item .nav-link:focus, .navbar .navbar-nav .nav-item .nav-link:active {
    background: linear-gradient(135deg, rgba(0, 95, 95, 0.12) 0%, rgba(51, 150, 154, 0.18) 100%);
    border-color: rgba(0, 95, 95, 0.3);
    transform: translateX(6px) scale(1.02);
    box-shadow: 0 6px 20px rgba(0, 95, 95, 0.25), 0 3px 10px rgba(0, 95, 95, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }
  .navbar .navbar-nav .nav-item .nav-link:hover i, .navbar .navbar-nav .nav-item .nav-link:focus i, .navbar .navbar-nav .nav-item .nav-link:active i {
    color: #005f5f;
    transform: scale(1.1);
  }
  .navbar .navbar-nav .nav-item .nav-link:hover span, .navbar .navbar-nav .nav-item .nav-link:focus span, .navbar .navbar-nav .nav-item .nav-link:active span {
    color: #005f5f;
  }
  .navbar .navbar-nav .nav-item .nav-link.active {
    background: linear-gradient(135deg, #005f5f, #33969a);
    border-color: #005f5f;
    color: #ffffff;
    transform: translateX(8px) scale(1.02);
    box-shadow: 0 8px 24px rgba(0, 95, 95, 0.35), 0 4px 12px rgba(0, 95, 95, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  }
  .navbar .navbar-nav .nav-item .nav-link.active i,
  .navbar .navbar-nav .nav-item .nav-link.active span {
    color: #ffffff;
  }
  .navbar .navbar-nav .nav-item .nav-link.active::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 60%;
    background: #ffffff;
    border-radius: 0 0.25rem 0.25rem 0;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
  }
  .navbar .navbar-nav .nav-item.dropdown .dropdown-toggle::after {
    margin-left: auto;
    font-size: 0.875rem;
    transition: transform 0.3s ease;
  }
  .navbar .navbar-nav .nav-item.dropdown.show .dropdown-toggle::after {
    transform: rotate(180deg);
  }
  .navbar .navbar-nav .nav-item.dropdown .dropdown-menu {
    position: absolute !important;
    z-index: 99999 !important;
    float: none;
    width: auto;
    min-width: 250px;
    margin: 0.5rem 0 0 0;
    border: none;
    border-radius: 0.375rem;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 8px 32px rgba(0, 95, 95, 0.25), 0 4px 16px rgba(0, 95, 95, 0.15);
    right: 0;
    left: auto;
  }
  .navbar .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item {
    padding: 0.5rem 1.5rem;
    font-size: 0.875rem;
  }
  .navbar .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item:hover, .navbar .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item:focus {
    background: rgba(0, 95, 95, 0.08);
    transform: translateX(4px);
  }
  .navbar .navbar-nav .nav-group-end {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid rgba(0, 95, 95, 0.1);
  }
  .navbar .navbar-nav .nav-group-end::after {
    display: none;
  }
  .navbar [role=region][aria-label="User authentication status"] {
    margin-top: 1.5rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, rgba(0, 95, 95, 0.03) 0%, rgba(255, 255, 255, 0.8) 100%);
    border: 1px solid rgba(0, 95, 95, 0.1);
    border-radius: 0.5rem;
    text-align: center;
  }
  .navbar [role=region][aria-label="User authentication status"] .text-muted {
    display: block;
    margin-bottom: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 0.375rem;
  }
  .navbar [role=region][aria-label="User authentication status"] .btn {
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
    display: block;
  }
  @keyframes mobileMenuSlide {
    0% {
      opacity: 0;
      transform: translateY(-10px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
.hero-header {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  padding: 4rem 0 3rem 0;
  position: relative;
  overflow: hidden;
}
.hero-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.03"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  pointer-events: none;
}
.hero-header .hero-container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .hero-header .hero-container {
    padding: 0 1.5rem;
  }
}
.hero-header .hero-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .hero-header .hero-container {
    flex-direction: column;
    text-align: center;
    gap: 2rem;
  }
}
.hero-header .hero-branding {
  flex: 1;
}
.hero-header .hero-branding .hero-logo {
  font-size: 4rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .hero-header .hero-branding .hero-logo {
    font-size: 3rem;
  }
}
.hero-header .hero-branding .hero-title h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
  .hero-header .hero-branding .hero-title h1 {
    font-size: 2rem;
  }
}
.hero-header .hero-branding .hero-title .hero-subtitle {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  font-weight: 400;
  line-height: 1.75;
}
.hero-header .hero-nav {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 768px) {
  .hero-header .hero-nav {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.hero-header .hero-nav .hero-nav-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.5rem;
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  transition: all 0.2s ease-out;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  min-width: 180px;
}
.hero-header .hero-nav .hero-nav-link:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  text-decoration: none;
  color: #ffffff;
}
.hero-header .hero-nav .hero-nav-link:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
}
.hero-header .hero-nav .hero-nav-link i {
  font-size: 1.25rem;
  opacity: 0.9;
}
@media (max-width: 768px) {
  .hero-header .hero-nav .hero-nav-link {
    min-width: 140px;
    padding: 0.5rem 1rem;
  }
}

.navbar:not(#main-navigation) {
  background-color: #ffffff;
  border-bottom: 1px solid #e2e8f0;
  padding: 1rem 0;
  position: sticky;
  top: 0;
  z-index: 1020;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-out;
}
.navbar:not(#main-navigation) .navbar-container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .navbar:not(#main-navigation) .navbar-container {
    padding: 0 1.5rem;
  }
}
.navbar:not(#main-navigation) .navbar-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.navbar:not(#main-navigation) .navbar-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  text-decoration: none;
  color: #2d3748;
  font-weight: 600;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  transition: all 0.2s ease-out;
}
.navbar:not(#main-navigation) .navbar-brand:hover {
  color: #005f5f;
  text-decoration: none;
  transform: translateX(2px);
}
.navbar:not(#main-navigation) .navbar-brand:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 95, 95, 0.2);
  border-radius: 0.25rem;
}
.navbar:not(#main-navigation) .navbar-brand .brand-logo {
  font-size: 1.5rem;
  color: #005f5f;
}
.navbar:not(#main-navigation) .navbar-brand .brand-text {
  font-size: 1.25rem;
  font-weight: 500;
  color: #2d3748;
}
.navbar:not(#main-navigation) .navbar-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 480px) {
  .navbar:not(#main-navigation) .navbar-nav {
    display: none;
  }
}
.navbar:not(#main-navigation) .navbar-nav li a {
  color: #718096;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  transition: all 0.2s ease-out;
  font-weight: 500;
  position: relative;
  font-size: 1rem;
  line-height: 1.5;
}
.navbar:not(#main-navigation) .navbar-nav li a:hover {
  color: #005f5f;
  background-color: rgba(0, 95, 95, 0.08);
  transform: translateY(-1px);
}
.navbar:not(#main-navigation) .navbar-nav li a:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 95, 95, 0.2);
}
.navbar:not(#main-navigation) .navbar-nav li a.active {
  color: #005f5f;
  background-color: rgba(0, 95, 95, 0.1);
  font-weight: 600;
}
.navbar:not(#main-navigation) .navbar-nav li a.active::after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 3px;
  background-color: #005f5f;
  border-radius: 0.25rem;
}
.navbar:not(#main-navigation) .navbar-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}
.navbar:not(#main-navigation) .navbar-toggle:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.navbar:not(#main-navigation) .navbar-toggle {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  color: #718096;
  width: 44px;
  height: 44px;
  border-radius: 0.375rem;
  transition: all 0.2s ease-out;
  cursor: pointer;
}
@media (min-width: 640px) {
  .navbar:not(#main-navigation) .navbar-toggle {
    display: none;
  }
}
.navbar:not(#main-navigation) .navbar-toggle:hover {
  background-color: rgba(0, 95, 95, 0.05);
  border-color: #005f5f;
  color: #005f5f;
  transform: scale(1.02);
}
.navbar:not(#main-navigation) .navbar-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 95, 95, 0.2);
}
.navbar:not(#main-navigation) .navbar-toggle:active {
  transform: scale(0.98);
}
.navbar:not(#main-navigation) .navbar-toggle .hamburger-line {
  width: 18px;
  height: 2px;
  background-color: currentColor;
  transition: all 0.2s ease-out;
}
.navbar:not(#main-navigation) .navbar-toggle .hamburger-line:not(:last-child) {
  margin-bottom: 3px;
}

.navbar.navbar-main {
  background-color: #02594c;
  border-bottom: 1px solid #e2e8f0;
  padding: 1rem 0;
  position: sticky;
  top: 0;
  z-index: 1020;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-out;
}
.navbar.navbar-main .navbar-container {
  position: relative;
  z-index: 2;
}
.navbar.navbar-main .navbar-brand {
  color: #ffffff;
  font-weight: 700;
}
.navbar.navbar-main .navbar-brand:hover {
  color: rgba(255, 255, 255, 0.9);
  transform: translateX(2px);
}
.navbar.navbar-main .navbar-brand:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}
.navbar.navbar-main .navbar-brand .brand-logo {
  font-size: 1.5rem;
  color: white;
}
.navbar.navbar-main .navbar-brand .brand-text {
  font-size: 1.25rem;
  font-weight: 500;
  color: white;
}
.navbar.navbar-main .navbar-nav {
  gap: 0.25rem;
}
.navbar.navbar-main .navbar-nav .nav-item .nav-link {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  transition: all 0.2s ease-out;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  text-decoration: none;
}
@media (max-width: 768px) {
  .navbar.navbar-main .navbar-nav .nav-item .nav-link {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
  }
}
.navbar.navbar-main .navbar-nav .nav-item .nav-link i {
  font-size: 0.875rem;
  width: 16px;
  text-align: center;
}
.navbar.navbar-main .navbar-nav .nav-item .nav-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}
.navbar.navbar-main .navbar-nav .nav-item .nav-link:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}
.navbar.navbar-main .navbar-nav .nav-item .nav-link.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
  font-weight: 700;
}
.navbar.navbar-main .navbar-nav .nav-item .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -13px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 3px;
  background-color: #ffffff;
  border-radius: 0.25rem;
}
.navbar.navbar-main .navbar-toggle {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.navbar.navbar-main .navbar-toggle:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}
.navbar.navbar-main .navbar-toggle:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}
.navbar.navbar-main .page-context .page-context-content {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.navbar.navbar-main .page-context .page-context-content .page-info .page-location {
  color: #ffffff;
  font-weight: 500;
}
.navbar.navbar-main .page-context .page-context-content .page-info .page-location .context-flag {
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.navbar.navbar-main .page-context .page-context-content .page-info .page-location i {
  color: rgba(255, 255, 255, 0.9);
}
.navbar.navbar-main .page-context .page-context-content .page-actions .btn.btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.4);
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.05);
}
.navbar.navbar-main .page-context .page-context-content .page-actions .btn.btn-outline-secondary:hover {
  background: rgba(255, 255, 255, 0.9);
  color: #005f5f;
  border-color: #ffffff;
}
.navbar.navbar-main .page-context .page-context-content .page-actions .btn.btn-outline-primary {
  border-color: rgba(255, 255, 255, 0.4);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}
.navbar.navbar-main .page-context .page-context-content .page-actions .btn.btn-outline-primary:hover {
  background: #ffffff;
  color: #005f5f;
  border-color: #ffffff;
}
.navbar.navbar-main .page-context .page-context-content .page-actions .btn i {
  color: inherit;
}

.navbar.hero-header {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  border-bottom: none;
  padding: 1.5rem 0;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.navbar.hero-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.03"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  pointer-events: none;
}
.navbar.hero-header .navbar-container {
  position: relative;
  z-index: 2;
}
.navbar.hero-header .navbar-brand {
  color: #ffffff;
  font-weight: 700;
}
.navbar.hero-header .navbar-brand:hover {
  color: rgba(255, 255, 255, 0.9);
  transform: translateX(2px);
}
.navbar.hero-header .navbar-brand:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}
.navbar.hero-header .navbar-brand .brand-logo {
  font-size: 2rem;
  color: rgba(255, 255, 255, 0.95);
}
.navbar.hero-header .navbar-brand .brand-text {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.navbar.hero-header .navbar-nav li a {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  padding: 0.5rem 1.5rem;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease-out;
}
@media (max-width: 768px) {
  .navbar.hero-header .navbar-nav li a {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    margin: 0 0.25rem;
  }
}
.navbar.hero-header .navbar-nav li a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.navbar.hero-header .navbar-nav li a:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}
.navbar.hero-header .navbar-nav li a.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  font-weight: 700;
}
.navbar.hero-header .navbar-nav li a.active::after {
  display: none;
}
.navbar.hero-header .navbar-toggle {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.navbar.hero-header .navbar-toggle:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}
.navbar.hero-header .navbar-toggle:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}
.navbar.hero-header .page-context .page-context-content {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.navbar.hero-header .page-context .page-context-content .page-info .page-location {
  color: #ffffff;
  font-weight: 500;
}
.navbar.hero-header .page-context .page-context-content .page-info .page-location .context-flag {
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.navbar.hero-header .page-context .page-context-content .page-info .page-location i {
  color: rgba(255, 255, 255, 0.9);
}
.navbar.hero-header .page-context .page-context-content .page-actions .btn.btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.4);
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.05);
}
.navbar.hero-header .page-context .page-context-content .page-actions .btn.btn-outline-secondary:hover {
  background: rgba(255, 255, 255, 0.9);
  color: #005f5f;
  border-color: #ffffff;
}
.navbar.hero-header .page-context .page-context-content .page-actions .btn.btn-outline-primary {
  border-color: rgba(255, 255, 255, 0.4);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}
.navbar.hero-header .page-context .page-context-content .page-actions .btn.btn-outline-primary:hover {
  background: #ffffff;
  color: #005f5f;
  border-color: #ffffff;
}
.navbar.hero-header .page-context .page-context-content .page-actions .btn i {
  color: inherit;
}

.page-context {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: 1.5rem;
}
@media (max-width: 1024px) {
  .page-context {
    display: none;
  }
}
.page-context .page-context-content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 0.5rem 1rem;
  background: rgba(0, 95, 95, 0.05);
  border: 1px solid rgba(0, 95, 95, 0.1);
  border-radius: 0.375rem;
}
.page-context .page-context-content .page-info .page-location {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #005f5f;
}
.page-context .page-context-content .page-info .page-location .context-flag {
  width: 20px;
  height: 15px;
  border-radius: 0.125rem;
  border: 1px solid rgba(226, 232, 240, 0.3);
}
.page-context .page-context-content .page-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.page-context .page-context-content .page-actions .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: all 0.2s ease-out;
  line-height: 1;
}
.page-context .page-context-content .page-actions .btn.btn-outline-secondary {
  border: 1px solid #718096;
  color: #718096;
  background: transparent;
}
.page-context .page-context-content .page-actions .btn.btn-outline-secondary:hover {
  background: #718096;
  color: #ffffff;
}
.page-context .page-context-content .page-actions .btn.btn-outline-primary {
  border: 1px solid #005f5f;
  color: #005f5f;
  background: transparent;
}
.page-context .page-context-content .page-actions .btn.btn-outline-primary:hover {
  background: #005f5f;
  color: #ffffff;
}
.page-context .page-context-content .page-actions .btn i {
  font-size: 0.75rem;
}
.page-context .page-context-content .page-actions .btn i.page-action-icon {
  color: #2d3748 !important;
}
.page-context .page-context-content .page-actions .btn i.page-action-icon.fa, .page-context .page-context-content .page-actions .btn i.page-action-icon.fa-solid, .page-context .page-context-content .page-actions .btn i.page-action-icon.far, .page-context .page-context-content .page-actions .btn i.page-action-icon.fab {
  color: #2d3748 !important;
}

.mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  z-index: 1050;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 20px 25px rgba(0, 0, 0, 0.15);
}
.mobile-nav.mobile-nav-open {
  transform: translateX(0);
}
@media (min-width: 640px) {
  .mobile-nav {
    display: none;
  }
}
.mobile-nav .mobile-nav-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  background-color: rgba(0, 95, 95, 0.02);
}
.mobile-nav .mobile-nav-header .mobile-nav-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #005f5f;
}
.mobile-nav .mobile-nav-header .mobile-nav-close {
  width: 36px;
  height: 36px;
  border: none;
  background: none;
  color: #718096;
  font-size: 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease-out;
}
.mobile-nav .mobile-nav-header .mobile-nav-close:hover {
  color: #005f5f;
  transform: rotate(90deg);
}
.mobile-nav .mobile-nav-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.mobile-nav .mobile-nav-header h3 {
  margin: 0;
  color: #2d3748;
}
.mobile-nav .mobile-nav-header .mobile-nav-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}
.mobile-nav .mobile-nav-header .mobile-nav-close:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.mobile-nav .mobile-nav-header .mobile-nav-close {
  background: none;
  border: none;
  color: #4a5568;
  font-size: 1.5rem;
}
.mobile-nav .mobile-nav-header .mobile-nav-close:hover {
  color: #2d3748;
}
.mobile-nav .mobile-nav-body {
  padding: 1.5rem;
}
.mobile-nav .mobile-nav-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mobile-nav .mobile-nav-body ul li {
  margin-bottom: 0.5rem;
}
.mobile-nav .mobile-nav-body ul li a {
  display: block;
  padding: 1rem;
  color: #4a5568;
  text-decoration: none;
  border-radius: 0.375rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-nav .mobile-nav-body ul li a:hover {
  color: #005f5f;
  background-color: #e8f6f7;
}
.mobile-nav .mobile-nav-body ul li a.active {
  color: #005f5f;
  background-color: #e8f6f7;
}

.breadcrumb,
.breadcrumb-enhanced {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  margin: 0;
  list-style: none;
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.03) 0%, rgba(247, 250, 252, 0.9) 100%);
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.breadcrumb li,
.breadcrumb-enhanced li {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}
.breadcrumb li a,
.breadcrumb-enhanced li a {
  color: #718096;
  text-decoration: none;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  transition: all 0.2s ease-out;
  line-height: 1.5;
}
.breadcrumb li a:hover,
.breadcrumb-enhanced li a:hover {
  color: #005f5f;
  background-color: rgba(0, 95, 95, 0.1);
  text-decoration: none;
  transform: translateY(-1px);
}
.breadcrumb li a:focus,
.breadcrumb-enhanced li a:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 95, 95, 0.2);
}
.breadcrumb li a i,
.breadcrumb-enhanced li a i {
  margin-right: 0.25rem;
  font-size: 0.85em;
  color: #005f5f;
}
.breadcrumb li.active,
.breadcrumb-enhanced li.active {
  color: #2d3748;
  font-weight: 600;
}
.breadcrumb li.active i,
.breadcrumb-enhanced li.active i {
  color: #005f5f;
}
.breadcrumb li:not(:last-child)::after,
.breadcrumb-enhanced li:not(:last-child)::after {
  content: "›";
  color: rgba(0, 95, 95, 0.4);
  font-weight: 600;
  margin-left: 0.25rem;
  font-size: 1.1em;
}

.breadcrumb .flag-sm, .breadcrumb-enhanced .flag-sm,
.breadcrumb .country-flag,
.breadcrumb-enhanced .country-flag {
  width: 20px !important;
  height: 13px !important;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.25rem;
  object-fit: cover;
}

.breadcrumb-enhanced {
  background: white;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  margin-bottom: 1.5rem;
}
.breadcrumb-enhanced .breadcrumb-item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}
.breadcrumb-enhanced .breadcrumb-item:not(:last-child) {
  margin-right: 0.5rem;
  padding-right: 0.5rem;
  border-right: 1px solid rgba(113, 128, 150, 0.4);
}

.cda-navigation {
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.02) 0%, rgba(247, 250, 252, 0.95) 100%);
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 1.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 1.5rem;
}
.cda-navigation .d-flex {
  display: flex;
}
.cda-navigation .d-flex.justify-content-between {
  justify-content: space-between;
}
.cda-navigation .d-flex.align-items-center {
  align-items: center;
}
.cda-navigation .breadcrumb-nav .breadcrumb, .cda-navigation .breadcrumb-nav .breadcrumb-enhanced {
  background: transparent;
  padding: 0;
  margin: 0;
  border: none;
}
.cda-navigation .breadcrumb-nav .breadcrumb .breadcrumb-item + .breadcrumb-item::before, .cda-navigation .breadcrumb-nav .breadcrumb-enhanced .breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  color: rgba(0, 95, 95, 0.5);
  font-weight: 600;
}
.cda-navigation .breadcrumb-nav .breadcrumb .breadcrumb-item a, .cda-navigation .breadcrumb-nav .breadcrumb-enhanced .breadcrumb-item a {
  color: #005f5f;
  transition: all 0.2s ease-out;
}
.cda-navigation .breadcrumb-nav .breadcrumb .breadcrumb-item a:hover, .cda-navigation .breadcrumb-nav .breadcrumb-enhanced .breadcrumb-item a:hover {
  color: #004a4a;
  text-decoration: underline !important;
}
.cda-navigation .breadcrumb-nav .breadcrumb .breadcrumb-item a:focus, .cda-navigation .breadcrumb-nav .breadcrumb-enhanced .breadcrumb-item a:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 95, 95, 0.2);
  border-radius: 0.25rem;
}
.cda-navigation .breadcrumb-nav .breadcrumb .breadcrumb-item.active, .cda-navigation .breadcrumb-nav .breadcrumb-enhanced .breadcrumb-item.active {
  color: #2d3748;
  font-weight: 500;
}
.cda-navigation .breadcrumb-nav .breadcrumb .flag-sm, .cda-navigation .breadcrumb-nav .breadcrumb-enhanced .flag-sm,
.cda-navigation .breadcrumb-nav .breadcrumb .country-flag,
.cda-navigation .breadcrumb-nav .breadcrumb-enhanced .country-flag {
  width: 20px !important;
  height: 13px !important;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.25rem;
  object-fit: cover;
}
.cda-navigation .quick-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.cda-navigation .quick-actions .btn {
  border-radius: 0.25rem;
  font-weight: 500;
  transition: all 0.2s ease-out;
  padding: 0.5rem 1rem;
  border: 1px solid #005f5f;
}
.cda-navigation .quick-actions .btn.btn-outline-primary {
  color: #005f5f;
  background-color: transparent;
}
.cda-navigation .quick-actions .btn.btn-outline-primary:hover {
  background-color: #005f5f;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.cda-navigation .quick-actions .btn.btn-outline-secondary {
  color: #718096;
  border-color: #cbd5e0;
}
.cda-navigation .quick-actions .btn.btn-outline-secondary:hover {
  background-color: #718096;
  border-color: #718096;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.cda-navigation .quick-actions .btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 95, 95, 0.2);
}
.cda-navigation .quick-actions .btn i {
  font-size: 0.9em;
}
@media (max-width: 768px) {
  .cda-navigation .d-flex {
    flex-direction: column;
    gap: 1rem;
  }
  .cda-navigation .quick-actions {
    align-self: stretch;
  }
  .cda-navigation .quick-actions .btn {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .cda-navigation .quick-actions .btn:last-child {
    margin-bottom: 0;
  }
}

.nav-tabs {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 1.5rem;
  list-style: none;
  padding: 0;
}
.nav-tabs li a {
  display: block;
  padding: 1rem 1.5rem;
  color: #4a5568;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-tabs li a:hover {
  color: #005f5f;
  border-bottom-color: #e2e8f0;
}
.nav-tabs li a.active {
  color: #005f5f;
  border-bottom-color: #005f5f;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 2rem 0;
}
.pagination li a,
.pagination li span {
  display: block;
  padding: 0.5rem 1rem;
  color: #4a5568;
  text-decoration: none;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 44px;
  text-align: center;
}
.pagination li a:hover {
  color: #005f5f;
  background-color: #e8f6f7;
  border-color: #005f5f;
}
.pagination li.active span {
  color: #ffffff;
  background-color: #005f5f;
  border-color: #005f5f;
}
.pagination li.disabled a,
.pagination li.disabled span {
  color: #718096;
  cursor: not-allowed;
}
.pagination li.disabled a:hover,
.pagination li.disabled span:hover {
  color: #718096;
  background-color: transparent;
  border-color: #e2e8f0;
}

.services-section,
.features-section,
.configuration-section,
.external-services-section {
  padding: 4rem 0;
}
.services-section h2,
.features-section h2,
.configuration-section h2,
.external-services-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #005f5f;
  margin-bottom: 4rem;
  font-weight: 700;
  position: relative;
}
.services-section h2::after,
.features-section h2::after,
.configuration-section h2::after,
.external-services-section h2::after {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #005f5f, #004a4a);
  border-radius: 0.25rem;
}

.services-grid,
.features-grid,
.config-grid,
.external-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.service-card,
.config-card,
.external-card {
  background: #ffffff;
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 15px rgba(0, 95, 95, 0.08);
  transition: all 0.2s ease-out;
  border: 1px solid rgba(0, 95, 95, 0.05);
  position: relative;
  overflow: hidden;
}
.service-card::before,
.config-card::before,
.external-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #005f5f, #004a4a);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease-out;
}
.service-card:hover,
.config-card:hover,
.external-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(0, 95, 95, 0.15);
}
.service-card:hover::before,
.config-card:hover::before,
.external-card:hover::before {
  transform: scaleX(1);
}
.service-card .service-icon,
.service-card .external-icon,
.config-card .service-icon,
.config-card .external-icon,
.external-card .service-icon,
.external-card .external-icon {
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, #005f5f, #004a4a);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  color: #ffffff;
  font-size: 1.5rem;
  box-shadow: 0 4px 15px rgba(0, 95, 95, 0.2);
  transition: all 0.2s ease-out;
}
.service-card .service-icon i,
.service-card .external-icon i,
.config-card .service-icon i,
.config-card .external-icon i,
.external-card .service-icon i,
.external-card .external-icon i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  line-height: 1;
  text-align: center;
}
.service-card .service-icon i.fa, .service-card .service-icon i.fab, .service-card .service-icon i.fa-solid, .service-card .service-icon i.far,
.service-card .external-icon i.fa,
.service-card .external-icon i.fab,
.service-card .external-icon i.fa-solid,
.service-card .external-icon i.far,
.config-card .service-icon i.fa,
.config-card .service-icon i.fab,
.config-card .service-icon i.fa-solid,
.config-card .service-icon i.far,
.config-card .external-icon i.fa,
.config-card .external-icon i.fab,
.config-card .external-icon i.fa-solid,
.config-card .external-icon i.far,
.external-card .service-icon i.fa,
.external-card .service-icon i.fab,
.external-card .service-icon i.fa-solid,
.external-card .service-icon i.far,
.external-card .external-icon i.fa,
.external-card .external-icon i.fab,
.external-card .external-icon i.fa-solid,
.external-card .external-icon i.far {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1;
}
.service-card:hover .service-icon, .service-card:hover .external-icon,
.config-card:hover .service-icon,
.config-card:hover .external-icon,
.external-card:hover .service-icon,
.external-card:hover .external-icon {
  transform: scale(1.1) rotate(5deg);
}
.service-card h3,
.config-card h3,
.external-card h3 {
  color: #005f5f;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
  line-height: 1.25;
}
.service-card p,
.config-card p,
.external-card p {
  color: #2d3748;
  line-height: 1.75;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}
.service-card .service-link,
.service-card .external-link,
.config-card .service-link,
.config-card .external-link,
.external-card .service-link,
.external-card .external-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #005f5f;
  font-weight: 600;
  text-decoration: none;
  padding: 1rem 1.5rem;
  border: 2px solid #005f5f;
  border-radius: 9999px;
  transition: all 0.2s ease-out;
  position: relative;
  overflow: hidden;
}
.service-card .service-link::before,
.service-card .external-link::before,
.config-card .service-link::before,
.config-card .external-link::before,
.external-card .service-link::before,
.external-card .external-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #005f5f;
  transition: left 0.2s ease-out;
  z-index: -1;
}
.service-card .service-link:hover,
.service-card .external-link:hover,
.config-card .service-link:hover,
.config-card .external-link:hover,
.external-card .service-link:hover,
.external-card .external-link:hover {
  color: #ffffff;
  text-decoration: none;
}
.service-card .service-link:hover::before,
.service-card .external-link:hover::before,
.config-card .service-link:hover::before,
.config-card .external-link:hover::before,
.external-card .service-link:hover::before,
.external-card .external-link:hover::before {
  left: 0;
}
.service-card .service-link:hover i,
.service-card .external-link:hover i,
.config-card .service-link:hover i,
.config-card .external-link:hover i,
.external-card .service-link:hover i,
.external-card .external-link:hover i {
  transform: translateX(3px);
}
.service-card .service-link i,
.service-card .external-link i,
.config-card .service-link i,
.config-card .external-link i,
.external-card .service-link i,
.external-card .external-link i {
  transition: transform 0.2s ease-out;
}

.feature-item {
  text-align: center;
  padding: 2rem;
  background: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 2px 10px rgba(0, 95, 95, 0.05);
  transition: all 0.2s ease-out;
}
.feature-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.1);
}
.feature-item .feature-icon {
  width: 90px;
  height: 90px;
  background: linear-gradient(135deg, #005f5f, #004a4a);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  color: #ffffff;
  font-size: 2rem;
  box-shadow: 0 6px 20px rgba(0, 95, 95, 0.15);
  transition: all 0.2s ease-out;
}
.feature-item:hover .feature-icon {
  transform: scale(1.05);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.25);
}
.feature-item h4 {
  color: #005f5f;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.feature-item p {
  color: #2d3748;
  line-height: 1.75;
  font-size: 1rem;
}

.config-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.config-header i {
  color: #005f5f;
  font-size: 1.5rem;
  background: rgba(0, 95, 95, 0.1);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.config-header h3 {
  margin: 0;
  color: #005f5f;
  font-weight: 600;
}

.config-details p {
  margin-bottom: 0.5rem;
  line-height: 1.75;
}
.config-details p strong {
  color: #005f5f;
  font-weight: 600;
}
.config-details .config-link {
  color: #005f5f;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease-out;
}
.config-details .config-link:hover {
  text-decoration: underline;
  color: #004a4a;
}

.config-note {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(0, 95, 95, 0.03);
  border: 1px solid rgba(0, 95, 95, 0.1);
  padding: 1rem 1.5rem;
  border-radius: 0.375rem;
  margin-top: 1rem;
}
.config-note i {
  color: #005f5f;
  font-size: 1rem;
  background: none;
  width: auto;
  height: auto;
}
.config-note span {
  color: #2d3748;
  font-size: 0.875rem;
  line-height: 1.5;
}

.api-list .api-item {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(0, 95, 95, 0.08);
}
.api-list .api-item:last-child {
  border-bottom: none;
}
.api-list .api-item .api-method {
  display: inline-block;
  background: #005f5f;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  margin-right: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.api-list .api-item .api-endpoint {
  color: #005f5f;
  font-weight: 600;
  text-decoration: none;
  font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
  font-size: 0.875rem;
  transition: all 0.2s ease-out;
}
.api-list .api-item .api-endpoint:hover {
  text-decoration: underline;
  color: #004a4a;
}
.api-list .api-item p {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  color: #718096;
  line-height: 1.75;
}

.status-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: rgba(40, 167, 69, 0.05);
  border: 1px solid rgba(40, 167, 69, 0.15);
  color: #28a745;
  padding: 1.5rem 2rem;
  border-radius: 0.5rem;
  margin-top: 2rem;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.05);
}
.status-indicator .status-icon {
  font-size: 1.25rem;
  background: rgba(40, 167, 69, 0.1);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.status-indicator span {
  font-size: 1rem;
  line-height: 1.5;
}

@media (max-width: 480px) {
  .services-grid,
  .features-grid,
  .config-grid,
  .external-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .service-card,
  .config-card,
  .external-card,
  .feature-item {
    padding: 1rem;
    margin-bottom: 1rem;
  }
  .service-card .service-header,
  .config-card .service-header,
  .external-card .service-header,
  .feature-item .service-header {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
  .service-card .service-header .service-title,
  .config-card .service-header .service-title,
  .external-card .service-header .service-title,
  .feature-item .service-header .service-title {
    font-size: 1rem;
    line-height: 1.3;
  }
  .service-card .service-header .service-icon,
  .config-card .service-header .service-icon,
  .external-card .service-header .service-icon,
  .feature-item .service-header .service-icon {
    margin-bottom: 0.25rem;
    font-size: 1.5rem;
  }
  .service-card .service-description,
  .config-card .service-description,
  .external-card .service-description,
  .feature-item .service-description {
    font-size: 0.875rem;
    line-height: 1.4;
    margin: 0.5rem 0;
  }
  .service-card .request-button,
  .service-card .btn,
  .config-card .request-button,
  .config-card .btn,
  .external-card .request-button,
  .external-card .btn,
  .feature-item .request-button,
  .feature-item .btn {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .service-card .consent-section,
  .config-card .consent-section,
  .external-card .consent-section,
  .feature-item .consent-section {
    margin: 0.5rem 0;
  }
  .service-card .consent-section h5,
  .config-card .consent-section h5,
  .external-card .consent-section h5,
  .feature-item .consent-section h5 {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
  }
  .service-card .consent-section .consent-options,
  .config-card .consent-section .consent-options,
  .external-card .consent-section .consent-options,
  .feature-item .consent-section .consent-options {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  .service-card .consent-section .consent-options .consent-option,
  .config-card .consent-section .consent-options .consent-option,
  .external-card .consent-section .consent-options .consent-option,
  .feature-item .consent-section .consent-options .consent-option {
    display: flex;
    align-items: center;
    gap: 0.25rem;
  }
  .service-card .consent-section .consent-options .consent-option label,
  .config-card .consent-section .consent-options .consent-option label,
  .external-card .consent-section .consent-options .consent-option label,
  .feature-item .consent-section .consent-options .consent-option label {
    font-size: 0.875rem;
  }
  .alert {
    margin-bottom: 0.5rem;
    padding: 0.5rem;
    font-size: 0.875rem;
  }
  .alert:has-text("found") + .alert:has-text("found") {
    display: none;
  }
}
@media (min-width: 481px) and (max-width: 768px) {
  .services-grid,
  .features-grid,
  .config-grid,
  .external-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
  }
  .service-card,
  .config-card,
  .external-card,
  .feature-item {
    padding: 1.5rem;
  }
  .service-card .service-header .service-title,
  .config-card .service-header .service-title,
  .external-card .service-header .service-title,
  .feature-item .service-header .service-title {
    font-size: 1.125rem;
  }
  .service-card .request-button,
  .service-card .btn,
  .config-card .request-button,
  .config-card .btn,
  .external-card .request-button,
  .external-card .btn,
  .feature-item .request-button,
  .feature-item .btn {
    padding: 0.5rem 1.5rem;
  }
}
@media (min-width: 769px) {
  .services-grid,
  .features-grid,
  .config-grid,
  .external-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
  }
  .services-section,
  .features-section,
  .configuration-section,
  .external-services-section {
    padding: 3rem 0;
  }
  .services-section h2,
  .features-section h2,
  .configuration-section h2,
  .external-services-section h2 {
    font-size: 2rem;
    margin-bottom: 3rem;
  }
  .service-card,
  .config-card,
  .external-card,
  .feature-item {
    padding: 2rem;
  }
}
.navbar-nav .dropdown .dropdown-toggle::after {
  margin-left: 0.25rem;
  font-size: 0.7em;
  transition: transform 0.2s ease-out;
}
.navbar-nav .dropdown .dropdown-toggle[aria-expanded=true]::after {
  transform: rotate(180deg);
}
.navbar-nav .mega-menu {
  min-width: 320px;
  max-width: 400px;
  padding: 1.5rem;
  margin-top: 0.5rem;
  position: absolute !important;
  z-index: 99999 !important;
  overflow: visible;
  background: rgba(255, 255, 255, 0.98);
  border: 2px solid rgba(0, 95, 95, 0.2);
  border-radius: 0.5rem;
  box-shadow: 0 12px 40px rgba(0, 95, 95, 0.2), 0 6px 20px rgba(0, 95, 95, 0.15), 0 2px 8px rgba(0, 95, 95, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  animation: megaMenuSlide 0.3s ease-out;
  transform-origin: top center;
}
.navbar-nav .mega-menu .dropdown-header {
  color: #005f5f;
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.5rem 1rem;
  margin-bottom: 0.25rem;
  border-bottom: 2px solid rgba(0, 95, 95, 0.1);
}
.navbar-nav .mega-menu .dropdown-header i {
  color: #005f5f;
  font-size: 1rem;
}
.navbar-nav .mega-menu .dropdown-item {
  padding: 0.5rem 1rem;
  margin: 0.25rem 0;
  border-radius: 0.375rem;
  color: #2d3748;
  font-weight: 500;
  font-size: 0.875rem;
  transition: all 0.2s ease-out;
  display: flex;
  align-items: center;
}
.navbar-nav .mega-menu .dropdown-item i {
  color: #005f5f;
  width: 20px;
  text-align: center;
  opacity: 0.8;
  transition: all 0.2s ease-out;
}
.navbar-nav .mega-menu .dropdown-item:hover, .navbar-nav .mega-menu .dropdown-item:focus {
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.08) 0%, rgba(51, 150, 154, 0.12) 100%);
  color: #005f5f;
  transform: translateX(4px);
}
.navbar-nav .mega-menu .dropdown-item:hover i, .navbar-nav .mega-menu .dropdown-item:focus i {
  color: #005f5f;
  opacity: 1;
  transform: scale(1.1);
}
.navbar-nav .mega-menu .dropdown-item:active {
  transform: translateX(2px);
}
.navbar-nav .mega-menu .dropdown-divider {
  margin: 1rem 0;
  border-top: 1px solid rgba(0, 95, 95, 0.15);
  opacity: 1;
}
.navbar-nav .mega-menu .badge {
  font-size: 0.6em;
  padding: 0.2em 0.5em;
  border-radius: 0.25rem;
  font-weight: 700;
}
.navbar-nav .mega-menu .badge.bg-secondary {
  background-color: rgba(0, 95, 95, 0.7) !important;
  color: #ffffff;
}
.navbar-nav .mega-menu .badge.bg-warning {
  background-color: #ffc107 !important;
  color: #212529 !important;
}
.navbar-nav .mega-menu .badge.bg-danger {
  background-color: #dc3545 !important;
  color: #ffffff;
}

.nav-item[data-role=admin] .nav-link {
  border-left-color: rgba(45, 90, 39, 0.8);
}
.nav-item[data-role=admin] .nav-link::after {
  content: "\f023";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: -2px;
  right: -2px;
  font-size: 0.7em;
  opacity: 0.7;
}
.nav-item[data-role=superuser] .nav-link {
  border-left-color: rgba(220, 53, 69, 0.8);
}
.nav-item[data-role=superuser] .nav-link::after {
  content: "\f521";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: -2px;
  right: -2px;
  font-size: 0.7em;
  opacity: 0.7;
}

@keyframes megaMenuSlide {
  0% {
    opacity: 0;
    transform: translateY(-10px) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.power-user-sidebar {
  position: fixed;
  top: 50%;
  right: -280px;
  transform: translateY(-50%);
  width: 280px;
  max-height: 80vh;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(0, 95, 95, 0.12) 100%);
  border: 2px solid rgba(0, 95, 95, 0.3);
  border-radius: 0.5rem 0 0 0.5rem;
  box-shadow: 0 16px 48px rgba(0, 95, 95, 0.35), 0 8px 24px rgba(0, 95, 95, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  z-index: 1050;
  transition: right 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.power-user-sidebar.active {
  right: 0;
}
.power-user-sidebar .sidebar-toggle {
  position: absolute;
  left: -48px;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #00a8b3 0%, #007b7f 100%);
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 0.5rem 0 0 0.5rem;
  color: #ffffff;
  font-size: 1.25rem;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0, 95, 95, 0.4), 0 4px 12px rgba(0, 95, 95, 0.3);
}
.power-user-sidebar .sidebar-toggle:hover {
  background: linear-gradient(135deg, #33c5d1 0%, #33969a 100%);
  transform: translateY(-50%) scale(1.05);
  box-shadow: 0 12px 32px rgba(0, 95, 95, 0.5), 0 6px 16px rgba(0, 95, 95, 0.35);
}
.power-user-sidebar .sidebar-toggle:active {
  transform: translateY(-50%) scale(0.95);
}
.power-user-sidebar .sidebar-toggle i {
  color: #ffffff !important;
  transition: transform 0.3s ease;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.power-user-sidebar .sidebar-toggle .fa-solid,
.power-user-sidebar .sidebar-toggle .far,
.power-user-sidebar .sidebar-toggle .fab,
.power-user-sidebar .sidebar-toggle .fa {
  color: #ffffff !important;
}
.power-user-sidebar.active .sidebar-toggle i {
  transform: rotate(180deg);
}
.power-user-sidebar .sidebar-content {
  padding: 1.5rem;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.power-user-sidebar .sidebar-content::-webkit-scrollbar {
  width: 4px;
}
.power-user-sidebar .sidebar-content::-webkit-scrollbar-track {
  background: rgba(0, 95, 95, 0.1);
  border-radius: 0.25rem;
}
.power-user-sidebar .sidebar-content::-webkit-scrollbar-thumb {
  background: rgba(0, 95, 95, 0.4);
  border-radius: 0.25rem;
}
.power-user-sidebar .sidebar-content::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 95, 95, 0.6);
}
.power-user-sidebar .sidebar-header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgba(0, 95, 95, 0.1);
}
.power-user-sidebar .sidebar-header .sidebar-title {
  color: #005f5f;
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.power-user-sidebar .sidebar-header .sidebar-title .badge {
  font-size: 0.6em;
  padding: 0.2em 0.5em;
}
.power-user-sidebar .sidebar-nav .nav-section {
  margin-bottom: 1.5rem;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-section-title {
  color: #2d5a27;
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 0.5rem 0;
  padding: 0.25rem 0.5rem;
  background: rgba(45, 90, 39, 0.05);
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list li {
  margin: 0.25rem 0;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  color: #2d3748;
  text-decoration: none;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #005f5f;
  transform: scaleY(0);
  transition: transform 0.3s ease;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item i {
  color: var(--healthcare-text-dark);
  width: 20px;
  text-align: center;
  opacity: 0.8;
  transition: all 0.3s ease;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item span {
  flex: 1;
  transition: all 0.3s ease;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item:hover, .power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item:focus {
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.08) 0%, rgba(51, 150, 154, 0.12) 100%);
  color: #005f5f;
  transform: translateX(4px);
  text-decoration: none;
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item:hover::before, .power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item:focus::before {
  transform: scaleY(1);
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item:hover i, .power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item:focus i {
  opacity: 1;
  transform: scale(1.1);
}
.power-user-sidebar .sidebar-nav .nav-section .nav-list .nav-item:active {
  transform: translateX(2px);
}

@media (max-width: 768px) {
  .power-user-sidebar {
    right: -320px;
    width: 320px;
  }
  .power-user-sidebar.active {
    right: 0;
  }
  .power-user-sidebar .sidebar-toggle {
    left: -52px;
    width: 52px;
    height: 52px;
  }
}
@media (max-width: 480px) {
  .power-user-sidebar {
    display: none;
  }
}
.page-context .page-actions .btn i.page-action-icon,
.page-context .page-actions .btn i.page-action-icon.fa,
.page-context .page-actions .btn i.page-action-icon.fa-solid,
.page-context .page-actions .btn i.page-action-icon.far,
.page-context .page-actions .btn i.page-action-icon.fab {
  color: #2d3748 !important;
}

.breadcrumb .flag-sm, .breadcrumb-enhanced .flag-sm,
.breadcrumb .country-flag,
.breadcrumb-enhanced .country-flag,
.breadcrumb img.flag-sm,
.breadcrumb img.country-flag,
.breadcrumb-item .flag-sm,
.breadcrumb-item .country-flag,
.breadcrumb-item img.flag-sm,
.breadcrumb-item img.country-flag {
  width: 20px !important;
  height: 13px !important;
  max-width: 20px !important;
  display: inline-block !important;
  vertical-align: middle;
  margin-right: 0.25rem;
  object-fit: cover;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal.modal-open {
  opacity: 1;
  visibility: visible;
}
.modal .modal-dialog {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  width: 90%;
  max-width: 500px;
  max-height: 90vh;
  overflow-y: auto;
  transform: scale(0.8);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal-open .modal .modal-dialog {
  transform: scale(1);
}
.modal .modal-dialog.modal-sm {
  max-width: 400px;
}
.modal .modal-dialog.modal-lg {
  max-width: 800px;
}
.modal .modal-dialog.modal-xl {
  max-width: 1200px;
}
.modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.modal .modal-header h2,
.modal .modal-header h3,
.modal .modal-header h4,
.modal .modal-header h5 {
  margin: 0;
  color: #2d3748;
}
.modal .modal-header .modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #4a5568;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.375rem;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal .modal-header .modal-close:hover {
  color: #2d3748;
  background-color: #f7fafc;
}
.modal .modal-body {
  padding: 1.5rem;
}
.modal .modal-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  padding: 1.5rem;
  border-top: 1px solid #e2e8f0;
  background-color: #f7fafc;
  border-radius: 0 0 0.5rem 0.5rem;
}

.modal-confirm .modal-dialog {
  max-width: 400px;
}
.modal-confirm .modal-body {
  text-align: center;
  padding: 3rem 1.5rem;
}
.modal-confirm .modal-body .confirm-icon {
  font-size: 3rem;
  margin-bottom: 1.5rem;
}
.modal-confirm .modal-body .confirm-icon.confirm-warning {
  color: #f59e0b;
}
.modal-confirm .modal-body .confirm-icon.confirm-danger {
  color: #dc2626;
}
.modal-confirm .modal-body .confirm-icon.confirm-info {
  color: #005f5f;
}
.modal-confirm .modal-body h3 {
  margin-bottom: 1rem;
  color: #2d3748;
}
.modal-confirm .modal-body p {
  color: #4a5568;
  margin-bottom: 0;
}

.modal-loading .modal-dialog {
  max-width: 300px;
  text-align: center;
}
.modal-loading .modal-body {
  padding: 3rem;
}
.modal-loading .modal-body .loading-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #e2e8f0;
  border-top: 4px solid #005f5f;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 1.5rem auto;
}
.modal-loading .modal-body p {
  margin: 0;
  color: #4a5568;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.modal-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.alert {
  padding: 1rem 1.5rem;
  border-radius: 0.375rem;
  margin-bottom: 1.5rem;
  border: 1px solid transparent;
  position: relative;
}
.alert.alert-info {
  background-color: #0c5460 !important;
  border-color: rgba(12, 84, 96, 0.3);
  color: #ffffff !important;
}
.alert.alert-info .alert-heading,
.alert.alert-info .alert-content,
.alert.alert-info h1, .alert.alert-info h2, .alert.alert-info h3, .alert.alert-info h4, .alert.alert-info h5, .alert.alert-info h6, .alert.alert-info p, .alert.alert-info span, .alert.alert-info div {
  color: #ffffff !important;
}
.alert.alert-info i, .alert.alert-info .fa, .alert.alert-info .fas, .alert.alert-info .far, .alert.alert-info .fab {
  color: #ffffff !important;
}
.alert.alert-success {
  background-color: #e8f5e8;
  border-color: rgba(34, 197, 94, 0.3);
  color: #2d5a27;
}
.alert.alert-warning {
  background-color: #fff3cd;
  border-color: rgba(245, 158, 11, 0.3);
  color: #c05621;
}
.alert.alert-error, .alert.alert-danger {
  background-color: #f8d7da;
  border-color: rgba(220, 38, 38, 0.3);
  color: #721c24;
}
.alert.alert-secondary {
  background-color: #5a6268 !important;
  border-color: rgba(90, 98, 104, 0.3);
  color: #ffffff !important;
}
.alert.alert-secondary strong, .alert.alert-secondary span, .alert.alert-secondary p, .alert.alert-secondary div {
  color: #ffffff !important;
}
.alert.alert-secondary i, .alert.alert-secondary .fa, .alert.alert-secondary .fas, .alert.alert-secondary .far, .alert.alert-secondary .fab {
  color: #ffffff !important;
}
.alert.alert-dismissible {
  padding-right: 4rem;
}
.alert.alert-dismissible .alert-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem 1.5rem;
  background: transparent;
  border: none;
  font-size: 1.25rem;
  color: inherit;
  opacity: 0.7;
  cursor: pointer;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.alert.alert-dismissible .alert-close:hover {
  opacity: 1;
}
.alert.alert-with-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}
.alert.alert-with-icon .alert-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
}
.alert.alert-with-icon .alert-content {
  flex: 1;
}
.alert.alert-solid.alert-info {
  background-color: #005f5f;
  color: #ffffff;
}
.alert.alert-solid.alert-success {
  background-color: #22c55e;
  color: #ffffff;
}
.alert.alert-solid.alert-warning {
  background-color: #f59e0b;
  color: #ffffff;
}
.alert.alert-solid.alert-error, .alert.alert-solid.alert-danger {
  background-color: #dc2626;
  color: #ffffff;
}

.toast {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  min-width: 300px;
  max-width: 500px;
  background: #ffffff;
  border-radius: 0.375rem;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #e2e8f0;
  z-index: 1060;
  transform: translateX(100%);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.toast.toast-show {
  transform: translateX(0);
}
.toast .toast-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  background-color: #f7fafc;
  border-radius: 0.375rem 0.375rem 0 0;
}
.toast .toast-header .toast-title {
  font-weight: 500;
  margin: 0;
}
.toast .toast-header .toast-close {
  background: transparent;
  border: none;
  font-size: 1.25rem;
  color: #4a5568;
  cursor: pointer;
  padding: 0;
}
.toast .toast-header .toast-close:hover {
  color: #2d3748;
}
.toast .toast-body {
  padding: 1.5rem;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.status-badge.status-online {
  background-color: #e8f5e8;
  color: #2d5a27;
}
.status-badge.status-online::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #22c55e;
}
.status-badge.status-offline {
  background-color: #f8d7da;
  color: #721c24;
}
.status-badge.status-offline::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #dc2626;
}
.status-badge.status-pending {
  background-color: #fff3cd;
  color: #c05621;
}
.status-badge.status-pending::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #f59e0b;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.flash-messages {
  margin-bottom: 1.5rem;
}
.flash-messages .alert {
  position: relative;
  border: none;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.06);
  margin-bottom: 1rem;
  padding: 1.5rem 2rem;
  font-size: 1rem;
  line-height: 1.5;
}
.flash-messages .alert .alert-heading {
  font-weight: 600;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.flash-messages .alert .alert-heading i {
  font-size: 1.5rem;
  flex-shrink: 0;
}
.flash-messages .alert .alert-content {
  margin-bottom: 0;
}
.flash-messages .alert .alert-content:last-child {
  margin-bottom: 0;
}
.flash-messages .alert .btn-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0.5rem;
  background: transparent;
  border: none;
  opacity: 0.6;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  border-radius: 0.25rem;
}
.flash-messages .alert .btn-close:hover {
  opacity: 1;
  transform: scale(1.1);
  background-color: rgba(255, 255, 255, 0.1);
}
.flash-messages .alert .btn-close:focus {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.alert-error,
.alert-danger {
  background: linear-gradient(135deg, #fef7f7 0%, #fdf2f2 100%);
  border-left: 4px solid #dc2626;
  color: #7f1d1d;
}
.alert-error .alert-heading,
.alert-danger .alert-heading {
  color: #991b1b;
}
.alert-error .alert-heading i,
.alert-danger .alert-heading i {
  color: #dc2626;
}
.alert-error .session-badge,
.alert-danger .session-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background-color: rgba(239, 68, 68, 0.1);
  color: #991b1b;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
  margin-top: 0.5rem;
}
.alert-error .session-badge i,
.alert-danger .session-badge i {
  font-size: 0.75rem;
}
.alert-error:hover,
.alert-danger:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08);
}

.alert-warning {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  border-left: 4px solid #f59e0b;
  color: #92400e;
}
.alert-warning .alert-heading {
  color: #b45309;
}
.alert-warning .alert-heading i {
  color: #f59e0b;
}

.alert-success {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  border-left: 4px solid #22c55e;
  color: #14532d;
}
.alert-success .alert-heading {
  color: #15803d;
}
.alert-success .alert-heading i {
  color: #22c55e;
}

.alert-info {
  background: linear-gradient(135deg, #005f5f 0%, #002c2c 100%);
  border-left: 4px solid rgb(0, 18.5, 18.5);
  color: #ffffff;
}
.alert-info .alert-heading {
  color: #ffffff;
}
.alert-info .alert-heading i {
  color: #ffffff;
}
.alert-info .btn-close {
  filter: brightness(0) invert(1);
}
.alert-info .btn-close:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.error-page-container .error-card {
  background: #ffffff;
  border-radius: 0.75rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.05);
  padding: 3rem;
  margin: 2rem auto;
  max-width: 800px;
}
.error-page-container .error-card .error-header {
  text-align: center;
  margin-bottom: 2rem;
}
.error-page-container .error-card .error-header .error-icon {
  font-size: 4rem;
  color: #dc2626;
  margin-bottom: 1rem;
}
.error-page-container .error-card .error-header .error-title {
  font-size: 2rem;
  font-weight: 700;
  color: #005f5f;
  margin-bottom: 0.5rem;
}
.error-page-container .error-card .error-header .error-message {
  font-size: 1.25rem;
  color: #718096;
  line-height: 1.6;
}
.error-page-container .error-card .error-details-section {
  margin: 2rem 0;
}
.error-page-container .error-card .error-details-section .details-card {
  background-color: #f7fafc;
  border-radius: 0.375rem;
  padding: 1.5rem;
  border-left: 4px solid #005f5f;
}
.error-page-container .error-card .error-details-section .details-card .details-title {
  font-weight: 600;
  color: #005f5f;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.error-page-container .error-card .error-details-section .details-card .details-title i {
  color: #005f5f;
}
.error-page-container .error-card .error-details-section .details-card .details-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.error-page-container .error-card .error-details-section .details-card .details-list li {
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0, 95, 95, 0.1);
}
.error-page-container .error-card .error-details-section .details-card .details-list li:last-child {
  border-bottom: none;
}
.error-page-container .error-card .error-details-section .details-card .details-list li::before {
  content: "→";
  color: #005f5f;
  font-weight: bold;
  margin-right: 0.5rem;
}
.error-page-container .error-card .error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
}
.error-page-container .error-card .error-actions .btn {
  min-width: 160px;
}
.error-page-container .technical-details {
  margin-top: 2rem;
}
.error-page-container .technical-details .details-toggle {
  background: none;
  border: none;
  color: #005f5f;
  font-weight: 500;
  cursor: pointer;
  padding: 0.5rem 0;
}
.error-page-container .technical-details .details-toggle:hover {
  text-decoration: underline;
}
.error-page-container .technical-details .details-toggle i {
  margin-left: 0.25rem;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.error-page-container .technical-details .details-toggle[aria-expanded=true] i {
  transform: rotate(180deg);
}
.error-page-container .technical-details .details-content {
  background-color: #2d3748;
  border-radius: 0.375rem;
  padding: 1.5rem;
  margin-top: 1rem;
  font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
  font-size: 0.875rem;
  color: #718096;
  max-height: 300px;
  overflow-y: auto;
}
.error-page-container .technical-details .details-content pre {
  margin: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
}

@media (max-width: 768px) {
  .flash-messages .alert {
    margin-left: -1rem;
    margin-right: -1rem;
    border-radius: 0;
    padding: 1rem;
  }
  .error-page-container .error-card {
    margin: 1rem;
    padding: 1.5rem;
  }
  .error-page-container .error-card .error-actions {
    flex-direction: column;
  }
  .error-page-container .error-card .error-actions .btn {
    min-width: unset;
    width: 100%;
  }
}
@keyframes slideInDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.flash-messages .alert {
  animation: slideInDown 0.3s ease-out;
}

.alert:focus-within {
  outline: 2px solid #005f5f;
  outline-offset: 2px;
}

@media print {
  .flash-messages,
  .btn-close {
    display: none !important;
  }
  .alert {
    border: 2px solid #000 !important;
    background: white !important;
    color: black !important;
    box-shadow: none !important;
  }
}
.badge,
.badge-primary,
.badge-secondary,
.badge-success,
.badge-danger,
.badge-warning,
.badge-info,
.badge-light,
.badge-dark {
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  padding: 0.25em 0.6em !important;
  font-size: 0.75em !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  vertical-align: baseline !important;
  border-radius: 0.375rem !important;
}

.tab-button .badge {
  align-self: center !important;
  margin-top: 0 !important;
  margin-left: 0.5rem !important;
  vertical-align: middle !important;
}

.nav-tabs-healthcare .nav-link .badge {
  align-self: center !important;
  margin-left: 0.5rem !important;
}

.card .nav-tabs-healthcare .nav-link .badge {
  align-self: center !important;
  margin-left: 0.5rem !important;
}

.clinical-table .medical-codes-container .badge,
.clinical-table .badge {
  margin: 0.125rem !important;
  font-size: 0.7rem !important;
}

.clinical-accordion-item .accordion-button .badge {
  margin-left: auto !important;
  align-self: center !important;
}

.badge.bg-primary {
  background-color: var(--healthcare-blue, #0d6efd) !important;
  color: var(--healthcare-text-light, #ffffff) !important;
}
.badge.bg-success {
  background-color: var(--healthcare-success, #198754) !important;
  color: var(--healthcare-text-light, #ffffff) !important;
}
.badge.bg-warning {
  background-color: var(--healthcare-warning, #fd7e14) !important;
  color: var(--healthcare-text-dark, #000000) !important;
}
.badge.bg-danger {
  background-color: var(--healthcare-danger, #dc3545) !important;
  color: var(--healthcare-text-light, #ffffff) !important;
}
.badge.bg-info {
  background-color: var(--healthcare-info, #0dcaf0) !important;
  color: var(--healthcare-text-dark, #000000) !important;
}
.badge.bg-secondary {
  background-color: var(--healthcare-secondary, #6c757d) !important;
  color: var(--healthcare-text-light, #ffffff) !important;
}
.badge.bg-dark {
  background-color: var(--healthcare-dark, #212529) !important;
  color: var(--healthcare-text-light, #ffffff) !important;
}
.badge.bg-light {
  background-color: var(--healthcare-light, #f8f9fa) !important;
  color: var(--healthcare-text-dark, #000000) !important;
  border: 1px solid var(--healthcare-border, #dee2e6) !important;
}
.badge.bg-outline-secondary {
  color: var(--healthcare-secondary, #6c757d) !important;
  border: 1px solid var(--healthcare-secondary, #6c757d) !important;
  background-color: transparent !important;
}

.badge:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.2s ease-in-out !important;
}

.tab-button.active .badge {
  background-color: var(--healthcare-blue, #0d6efd) !important;
  color: var(--healthcare-text-light, #ffffff) !important;
  border: 2px solid var(--healthcare-text-light, #ffffff) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

.card-header.bg-primary .badge {
  background-color: var(--healthcare-text-light, #ffffff) !important;
  color: var(--healthcare-blue, #0d6efd) !important;
  border: 1px solid var(--healthcare-blue, #0d6efd) !important;
}

@media (max-width: 576px) {
  .badge {
    font-size: 0.65em !important;
    padding: 0.2em 0.4em !important;
  }
  .clinical-table .badge {
    font-size: 0.6rem !important;
    padding: 0.15em 0.3em !important;
  }
  .tab-button .badge {
    font-size: 0.7em !important;
    margin-left: 0.3rem !important;
  }
}
@media (min-width: 1200px) {
  .badge {
    font-size: 0.8em !important;
  }
  .clinical-table .badge {
    font-size: 0.75rem !important;
  }
}
.badge-rounded {
  border-radius: 50px !important;
}

.badge-square {
  border-radius: 0.25rem !important;
}

.badge-large {
  font-size: 0.9em !important;
  padding: 0.375em 0.75em !important;
}

.badge-small {
  font-size: 0.65em !important;
  padding: 0.2em 0.4em !important;
}

.badge-xs {
  font-size: 0.55em !important;
  padding: 0.15em 0.3em !important;
}

.badge-icon .badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}
.badge-icon .badge i {
  font-size: 0.9em !important;
  line-height: 1 !important;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.flag-icon {
  height: 16px !important;
  width: auto !important;
  max-width: 20px !important;
  max-height: 16px !important;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  vertical-align: middle;
  display: inline-block;
}
.badge .flag-icon {
  margin-right: 4px;
}

.clinical-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.375rem;
  border: 1px solid transparent;
}
.clinical-badge.mandatory {
  background-color: #fff3cd;
  border-color: #f0ad4e;
  color: #856404;
}
.clinical-badge.mandatory::before {
  content: "⚠️ ";
  margin-right: 0.25rem;
}
.clinical-badge.populated {
  background-color: #d1ecf1;
  border-color: #bee5eb;
  color: #0c5460;
}
.clinical-badge.populated::before {
  content: "✓ ";
  margin-right: 0.25rem;
}
.clinical-badge.extended {
  background-color: #e7f3ff;
  border-color: #b8daff;
  color: #004085;
}
.clinical-badge.extended::before {
  content: "✓ ";
  margin-right: 0.25rem;
}

.clinical-section-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.clinical-section-title {
  display: flex;
  align-items: center;
  flex-grow: 1;
}

.clinical-group-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
  margin: 1.5rem 0 1rem 0;
}
.clinical-group-header h5 {
  color: #495057;
  font-weight: 600;
  margin: 0;
  font-size: 1rem;
}
.clinical-group-header h5::before {
  content: "\f328";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.5rem;
}
.clinical-group-header.extended-group h5::before {
  content: "✓ ";
}

.clinical-badge-container {
  margin-left: auto;
  flex-shrink: 0;
}

.fas, .far, .fal, .fat, .fad, .fab,
[class*=fa-],
i[class*=fa-] {
  text-decoration: none !important;
  font-family: "FontAwesome" !important;
  font-style: normal !important;
  font-weight: normal !important;
  transition: color 0.2s ease;
}

a:hover .fas, a:hover .far, a:hover .fal, a:hover .fat, a:hover .fad, a:hover .fab,
a:hover i[class*=fa-], a:hover [class*=fa-] {
  transition: none !important;
}

.status-badge .fas:hover, .status-badge .far:hover, .status-badge .fal:hover, .status-badge .fat:hover, .status-badge .fad:hover, .status-badge .fab:hover,
.status-badge i[class*=fa-]:hover, .status-badge [class*=fa-]:hover, .badge .fas:hover, .badge .far:hover, .badge .fal:hover, .badge .fat:hover, .badge .fad:hover, .badge .fab:hover,
.badge i[class*=fa-]:hover, .badge [class*=fa-]:hover, .clinical-badge .fas:hover, .clinical-badge .far:hover, .clinical-badge .fal:hover, .clinical-badge .fat:hover, .clinical-badge .fad:hover, .clinical-badge .fab:hover,
.clinical-badge i[class*=fa-]:hover, .clinical-badge [class*=fa-]:hover {
  color: inherit !important;
  transition: none !important;
}

.hero-stats .stat-icon i {
  color: #005f5f !important;
  font-size: 2.5rem !important;
  line-height: 1 !important;
  display: block !important;
  text-align: center !important;
}
.hero-stats .stat-icon i.fa, .hero-stats .stat-icon i.fab, .hero-stats .stat-icon i.fa-solid, .hero-stats .stat-icon i.fa-regular, .hero-stats .stat-icon i.far, .hero-stats .stat-icon i.fal, .hero-stats .stat-icon i.fat, .hero-stats .stat-icon i.fad {
  color: #005f5f !important;
  font-family: "FontAwesome" !important;
  font-weight: normal !important;
  font-style: normal !important;
}

.section-header .section-title i {
  color: #005f5f !important;
  transition: none !important;
}
.section-header .section-title i.fa, .section-header .section-title i.fab, .section-header .section-title i.fa-solid, .section-header .section-title i.fa-regular, .section-header .section-title i.far, .section-header .section-title i.fal, .section-header .section-title i.fat, .section-header .section-title i.fad {
  color: #005f5f !important;
  transition: none !important;
  font-family: "FontAwesome" !important;
  font-weight: normal !important;
  font-style: normal !important;
}
.section-header .section-title:hover i {
  color: #005f5f !important;
}
.section-header .section-title:hover i.fa, .section-header .section-title:hover i.fab, .section-header .section-title:hover i.fa-solid, .section-header .section-title:hover i.fa-regular, .section-header .section-title:hover i.far, .section-header .section-title:hover i.fal, .section-header .section-title:hover i.fat, .section-header .section-title:hover i.fad {
  color: #005f5f !important;
}

.capabilities-section .capability-icon i,
.capability-card .capability-icon i {
  color: #ffffff !important;
  font-size: 2.5rem !important;
  line-height: 1 !important;
  text-align: center !important;
  display: inline-block !important;
}
.capabilities-section .capability-icon i.fa, .capabilities-section .capability-icon i.fab, .capabilities-section .capability-icon i.fa-solid, .capabilities-section .capability-icon i.fa-regular, .capabilities-section .capability-icon i.far, .capabilities-section .capability-icon i.fal, .capabilities-section .capability-icon i.fat, .capabilities-section .capability-icon i.fad,
.capability-card .capability-icon i.fa,
.capability-card .capability-icon i.fab,
.capability-card .capability-icon i.fa-solid,
.capability-card .capability-icon i.fa-regular,
.capability-card .capability-icon i.far,
.capability-card .capability-icon i.fal,
.capability-card .capability-icon i.fat,
.capability-card .capability-icon i.fad {
  color: #ffffff !important;
  font-family: "FontAwesome" !important;
  font-weight: normal !important;
  font-style: normal !important;
  display: inline-block !important;
}
.capabilities-section .capability-icon i[class*=fa-]:before,
.capability-card .capability-icon i[class*=fa-]:before {
  font-family: "FontAwesome" !important;
  color: #ffffff !important;
}
@media (min-width: 768px) {
  .capabilities-section .capability-icon i,
  .capability-card .capability-icon i {
    font-size: 3rem !important;
  }
}

.service-icon i {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}
.service-icon i.fa, .service-icon i.fab, .service-icon i.fa-solid, .service-icon i.fa-regular, .service-icon i.far, .service-icon i.fal, .service-icon i.fat, .service-icon i.fad {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}

.config-icon i {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}
.config-icon i.fa, .config-icon i.fab, .config-icon i.fa-solid, .config-icon i.fa-regular, .config-icon i.far, .config-icon i.fal, .config-icon i.fat, .config-icon i.fad {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}

.service-logo i {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}
.service-logo i.fa, .service-logo i.fab, .service-logo i.fa-solid, .service-logo i.fa-regular, .service-logo i.far, .service-logo i.fal, .service-logo i.fat, .service-logo i.fad {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}

.navbar i {
  color: inherit;
}
.navbar i.fa, .navbar i.fab, .navbar i.fa-solid, .navbar i.fa-regular, .navbar i.far, .navbar i.fal, .navbar i.fat, .navbar i.fad {
  color: inherit;
}

.btn i {
  color: inherit;
}
.btn i.fa, .btn i.fab, .btn i.fa-solid, .btn i.fa-regular, .btn i.far, .btn i.fal, .btn i.fat, .btn i.fad {
  color: inherit;
}

.collapsible-label-title i {
  color: #ffffff !important;
}
.collapsible-label-title i.fa, .collapsible-label-title i.fab, .collapsible-label-title i.fa-solid, .collapsible-label-title i.fa-regular, .collapsible-label-title i.far, .collapsible-label-title i.fal, .collapsible-label-title i.fat, .collapsible-label-title i.fad {
  color: #ffffff !important;
}

.fa.fa-xs,
.fas.fa-xs,
.far.fa-xs,
.fal.fa-xs,
.fat.fa-xs,
.fad.fa-xs,
.fab.fa-xs {
  font-size: 0.75em;
}
.fa.fa-sm,
.fas.fa-sm,
.far.fa-sm,
.fal.fa-sm,
.fat.fa-sm,
.fad.fa-sm,
.fab.fa-sm {
  font-size: 0.875em;
}
.fa.fa-lg,
.fas.fa-lg,
.far.fa-lg,
.fal.fa-lg,
.fat.fa-lg,
.fad.fa-lg,
.fab.fa-lg {
  font-size: 1.33333em;
}
.fa.fa-xl,
.fas.fa-xl,
.far.fa-xl,
.fal.fa-xl,
.fat.fa-xl,
.fad.fa-xl,
.fab.fa-xl {
  font-size: 1.5em;
}
.fa.fa-2xl,
.fas.fa-2xl,
.far.fa-2xl,
.fal.fa-2xl,
.fat.fa-2xl,
.fad.fa-2xl,
.fab.fa-2xl {
  font-size: 2em;
}
.fa.fa-3xl,
.fas.fa-3xl,
.far.fa-3xl,
.fal.fa-3xl,
.fat.fa-3xl,
.fad.fa-3xl,
.fab.fa-3xl {
  font-size: 2.5em;
}
.fa.fa-4xl,
.fas.fa-4xl,
.far.fa-4xl,
.fal.fa-4xl,
.fat.fa-4xl,
.fad.fa-4xl,
.fab.fa-4xl {
  font-size: 3em;
}
.fa.fa-5xl,
.fas.fa-5xl,
.far.fa-5xl,
.fal.fa-5xl,
.fat.fa-5xl,
.fad.fa-5xl,
.fab.fa-5xl {
  font-size: 4em;
}

.icon-healthcare {
  color: #005f5f;
}
.icon-healthcare.icon-success {
  color: #2d5a27;
}
.icon-healthcare.icon-warning {
  color: #f59e0b;
}
.icon-healthcare.icon-error {
  color: #dc2626;
}
.icon-healthcare.icon-info {
  color: #1e3a5f;
}
.icon-healthcare.icon-muted {
  color: #718096;
}
.icon-healthcare.icon-white {
  color: #ffffff;
}

.icon-nav {
  font-size: 1.25em;
  color: #4a5568;
  transition: color 0.2s ease;
}
.icon-nav:hover {
  color: #005f5f;
}

.icon-btn, .service-card .service-card-footer .btn-service i {
  font-size: 1.1em;
  margin-right: 0.5em;
  vertical-align: middle;
}
.icon-btn.icon-btn-lg, .service-card .service-card-footer .btn-service i.icon-btn-lg {
  font-size: 1.3em;
}
.icon-btn.icon-btn-sm, .service-card .service-card-footer .btn-service i.icon-btn-sm {
  font-size: 0.9em;
}

.icon-card-header {
  font-size: 2.5em;
  color: #ffffff;
  line-height: 1;
}

.icon-feature, .service-card .service-card-body .service-features li i {
  font-size: 1.1em;
  color: #2d5a27;
  width: 1.5em;
  text-align: center;
  flex-shrink: 0;
}

.icon-status {
  font-size: 1em;
}
.icon-status.status-active {
  color: #2d5a27;
}
.icon-status.status-pending {
  color: #f59e0b;
}
.icon-status.status-inactive {
  color: #718096;
}
.icon-status.status-error {
  color: #dc2626;
}

.icon-clinical {
  font-size: 1.2em;
  color: #005f5f;
  margin-right: 0.75em;
}
.icon-clinical.icon-medical-code {
  color: #2d5a27;
  font-size: 0.9em;
}
.icon-clinical.icon-terminology {
  color: #1e3a5f;
  font-size: 0.85em;
}

.icon-responsive {
  font-size: 1.5em;
}
@media (min-width: 768px) {
  .icon-responsive {
    font-size: 1.75em;
  }
}
@media (min-width: 1200px) {
  .icon-responsive {
    font-size: 2em;
  }
}

.icon-interactive {
  cursor: pointer;
  transition: all 0.2s ease;
}
.icon-interactive:focus {
  outline: 2px solid #005f5f;
  outline-offset: 2px;
}
.icon-interactive:hover {
  transform: scale(1.1);
}

.icon-spin-slow {
  animation: fa-spin 2s infinite linear;
}

.icon-pulse {
  animation: icon-pulse 2s infinite;
}

@keyframes icon-pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
.icon-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.icon-container.icon-container-sm {
  width: 2em;
  height: 2em;
}
.icon-container.icon-container-md {
  width: 3em;
  height: 3em;
}
.icon-container.icon-container-lg {
  width: 4em;
  height: 4em;
}
.icon-container.icon-container-xl {
  width: 5em;
  height: 5em;
}

.service-card .fa,
.service-card .fas,
.service-card .far,
.service-card .fal,
.service-card .fat,
.service-card .fad,
.service-card .fab,
.clinical-card .fa,
.clinical-card .fas,
.clinical-card .far,
.clinical-card .fal,
.clinical-card .fat,
.clinical-card .fad,
.clinical-card .fab,
.info-card .fa,
.info-card .fas,
.info-card .far,
.info-card .fal,
.info-card .fat,
.info-card .fad,
.info-card .fab {
  line-height: inherit;
  vertical-align: baseline;
}
.service-card .fa:not([class*=fa-]),
.service-card .fas:not([class*=fa-]),
.service-card .far:not([class*=fa-]),
.service-card .fal:not([class*=fa-]),
.service-card .fat:not([class*=fa-]),
.service-card .fad:not([class*=fa-]),
.service-card .fab:not([class*=fa-]),
.clinical-card .fa:not([class*=fa-]),
.clinical-card .fas:not([class*=fa-]),
.clinical-card .far:not([class*=fa-]),
.clinical-card .fal:not([class*=fa-]),
.clinical-card .fat:not([class*=fa-]),
.clinical-card .fad:not([class*=fa-]),
.clinical-card .fab:not([class*=fa-]),
.info-card .fa:not([class*=fa-]),
.info-card .fas:not([class*=fa-]),
.info-card .far:not([class*=fa-]),
.info-card .fal:not([class*=fa-]),
.info-card .fat:not([class*=fa-]),
.info-card .fad:not([class*=fa-]),
.info-card .fab:not([class*=fa-]) {
  font-size: inherit;
}

.service-card .service-card-body .service-features li i {
  font-size: 1.1em !important;
  color: #2d5a27 !important;
  width: 1.5em !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}
.service-card .service-card-body .service-features li i.fa-xs, .service-card .service-card-body .service-features li i.fa-sm, .service-card .service-card-body .service-features li i.fa-lg, .service-card .service-card-body .service-features li i.fa-xl, .service-card .service-card-body .service-features li i.fa-2xl, .service-card .service-card-body .service-features li i.fa-2xs, .service-card .service-card-body .service-features li i.fa-1x, .service-card .service-card-body .service-features li i.fa-2x, .service-card .service-card-body .service-features li i.fa-3x, .service-card .service-card-body .service-features li i.fa-4x, .service-card .service-card-body .service-features li i.fa-5x {
  font-size: 1.1em !important;
}
.service-card .service-card-body .service-features li i.text-success, .service-card .service-card-body .service-features li i.text-primary, .service-card .service-card-body .service-features li i.text-info, .service-card .service-card-body .service-features li i.text-warning, .service-card .service-card-body .service-features li i.text-danger, .service-card .service-card-body .service-features li i.text-muted, .service-card .service-card-body .service-features li i.text-dark, .service-card .service-card-body .service-features li i.text-light, .service-card .service-card-body .service-features li i.text-white {
  color: #2d5a27 !important;
}

.service-card .service-card-header .service-icon,
.services-section .service-card .service-card-header .service-icon,
.admin-card .service-card-header .service-icon,
.external-service-card .service-card-header .service-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.service-card .service-card-header .service-icon i,
.services-section .service-card .service-card-header .service-icon i,
.admin-card .service-card-header .service-icon i,
.external-service-card .service-card-header .service-icon i {
  font-size: 1em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
.service-card .service-card-header .service-icon i,
.services-section .service-card .service-card-header .service-icon i,
.admin-card .service-card-header .service-icon i,
.external-service-card .service-card-header .service-icon i {
  font-size: 1.8em !important;
  color: var(--healthcare-text-light) !important;
}
.service-card .service-card-header .service-icon i.fa, .service-card .service-card-header .service-icon i.fas, .service-card .service-card-header .service-icon i.far, .service-card .service-card-header .service-icon i.fal, .service-card .service-card-header .service-icon i.fat, .service-card .service-card-header .service-icon i.fad, .service-card .service-card-header .service-icon i.fab, .service-card .service-card-header .service-icon i[class*=fa-],
.services-section .service-card .service-card-header .service-icon i.fa,
.services-section .service-card .service-card-header .service-icon i.fas,
.services-section .service-card .service-card-header .service-icon i.far,
.services-section .service-card .service-card-header .service-icon i.fal,
.services-section .service-card .service-card-header .service-icon i.fat,
.services-section .service-card .service-card-header .service-icon i.fad,
.services-section .service-card .service-card-header .service-icon i.fab,
.services-section .service-card .service-card-header .service-icon i[class*=fa-],
.admin-card .service-card-header .service-icon i.fa,
.admin-card .service-card-header .service-icon i.fas,
.admin-card .service-card-header .service-icon i.far,
.admin-card .service-card-header .service-icon i.fal,
.admin-card .service-card-header .service-icon i.fat,
.admin-card .service-card-header .service-icon i.fad,
.admin-card .service-card-header .service-icon i.fab,
.admin-card .service-card-header .service-icon i[class*=fa-],
.external-service-card .service-card-header .service-icon i.fa,
.external-service-card .service-card-header .service-icon i.fas,
.external-service-card .service-card-header .service-icon i.far,
.external-service-card .service-card-header .service-icon i.fal,
.external-service-card .service-card-header .service-icon i.fat,
.external-service-card .service-card-header .service-icon i.fad,
.external-service-card .service-card-header .service-icon i.fab,
.external-service-card .service-card-header .service-icon i[class*=fa-] {
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: static !important;
}
.service-card .service-card-header .service-icon i.fa::before, .service-card .service-card-header .service-icon i.fas::before, .service-card .service-card-header .service-icon i.far::before, .service-card .service-card-header .service-icon i.fal::before, .service-card .service-card-header .service-icon i.fat::before, .service-card .service-card-header .service-icon i.fad::before, .service-card .service-card-header .service-icon i.fab::before, .service-card .service-card-header .service-icon i[class*=fa-]::before,
.services-section .service-card .service-card-header .service-icon i.fa::before,
.services-section .service-card .service-card-header .service-icon i.fas::before,
.services-section .service-card .service-card-header .service-icon i.far::before,
.services-section .service-card .service-card-header .service-icon i.fal::before,
.services-section .service-card .service-card-header .service-icon i.fat::before,
.services-section .service-card .service-card-header .service-icon i.fad::before,
.services-section .service-card .service-card-header .service-icon i.fab::before,
.services-section .service-card .service-card-header .service-icon i[class*=fa-]::before,
.admin-card .service-card-header .service-icon i.fa::before,
.admin-card .service-card-header .service-icon i.fas::before,
.admin-card .service-card-header .service-icon i.far::before,
.admin-card .service-card-header .service-icon i.fal::before,
.admin-card .service-card-header .service-icon i.fat::before,
.admin-card .service-card-header .service-icon i.fad::before,
.admin-card .service-card-header .service-icon i.fab::before,
.admin-card .service-card-header .service-icon i[class*=fa-]::before,
.external-service-card .service-card-header .service-icon i.fa::before,
.external-service-card .service-card-header .service-icon i.fas::before,
.external-service-card .service-card-header .service-icon i.far::before,
.external-service-card .service-card-header .service-icon i.fal::before,
.external-service-card .service-card-header .service-icon i.fat::before,
.external-service-card .service-card-header .service-icon i.fad::before,
.external-service-card .service-card-header .service-icon i.fab::before,
.external-service-card .service-card-header .service-icon i[class*=fa-]::before {
  transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}
.service-card .service-card-header .service-icon i.fa-xs, .service-card .service-card-header .service-icon i.fa-sm, .service-card .service-card-header .service-icon i.fa-lg, .service-card .service-card-header .service-icon i.fa-xl, .service-card .service-card-header .service-icon i.fa-2xl, .service-card .service-card-header .service-icon i.fa-2xs, .service-card .service-card-header .service-icon i.fa-1x, .service-card .service-card-header .service-icon i.fa-2x, .service-card .service-card-header .service-icon i.fa-3x, .service-card .service-card-header .service-icon i.fa-4x, .service-card .service-card-header .service-icon i.fa-5x,
.services-section .service-card .service-card-header .service-icon i.fa-xs,
.services-section .service-card .service-card-header .service-icon i.fa-sm,
.services-section .service-card .service-card-header .service-icon i.fa-lg,
.services-section .service-card .service-card-header .service-icon i.fa-xl,
.services-section .service-card .service-card-header .service-icon i.fa-2xl,
.services-section .service-card .service-card-header .service-icon i.fa-2xs,
.services-section .service-card .service-card-header .service-icon i.fa-1x,
.services-section .service-card .service-card-header .service-icon i.fa-2x,
.services-section .service-card .service-card-header .service-icon i.fa-3x,
.services-section .service-card .service-card-header .service-icon i.fa-4x,
.services-section .service-card .service-card-header .service-icon i.fa-5x,
.admin-card .service-card-header .service-icon i.fa-xs,
.admin-card .service-card-header .service-icon i.fa-sm,
.admin-card .service-card-header .service-icon i.fa-lg,
.admin-card .service-card-header .service-icon i.fa-xl,
.admin-card .service-card-header .service-icon i.fa-2xl,
.admin-card .service-card-header .service-icon i.fa-2xs,
.admin-card .service-card-header .service-icon i.fa-1x,
.admin-card .service-card-header .service-icon i.fa-2x,
.admin-card .service-card-header .service-icon i.fa-3x,
.admin-card .service-card-header .service-icon i.fa-4x,
.admin-card .service-card-header .service-icon i.fa-5x,
.external-service-card .service-card-header .service-icon i.fa-xs,
.external-service-card .service-card-header .service-icon i.fa-sm,
.external-service-card .service-card-header .service-icon i.fa-lg,
.external-service-card .service-card-header .service-icon i.fa-xl,
.external-service-card .service-card-header .service-icon i.fa-2xl,
.external-service-card .service-card-header .service-icon i.fa-2xs,
.external-service-card .service-card-header .service-icon i.fa-1x,
.external-service-card .service-card-header .service-icon i.fa-2x,
.external-service-card .service-card-header .service-icon i.fa-3x,
.external-service-card .service-card-header .service-icon i.fa-4x,
.external-service-card .service-card-header .service-icon i.fa-5x {
  font-size: 1.8em !important;
}

.service-card .service-card-footer .btn-service i,
.btn-service i,
.btn i {
  font-size: 1.1em !important;
  margin-right: 0.5em !important;
  vertical-align: middle !important;
  color: var(--healthcare-text-light) !important;
}
.service-card .service-card-footer .btn-service i.fa-xs, .service-card .service-card-footer .btn-service i.fa-sm, .service-card .service-card-footer .btn-service i.fa-lg, .service-card .service-card-footer .btn-service i.fa-xl, .service-card .service-card-footer .btn-service i.fa-2xl, .service-card .service-card-footer .btn-service i.fa-2xs, .service-card .service-card-footer .btn-service i.fa-1x, .service-card .service-card-footer .btn-service i.fa-2x, .service-card .service-card-footer .btn-service i.fa-3x, .service-card .service-card-footer .btn-service i.fa-4x, .service-card .service-card-footer .btn-service i.fa-5x,
.btn-service i.fa-xs,
.btn-service i.fa-sm,
.btn-service i.fa-lg,
.btn-service i.fa-xl,
.btn-service i.fa-2xl,
.btn-service i.fa-2xs,
.btn-service i.fa-1x,
.btn-service i.fa-2x,
.btn-service i.fa-3x,
.btn-service i.fa-4x,
.btn-service i.fa-5x,
.btn i.fa-xs,
.btn i.fa-sm,
.btn i.fa-lg,
.btn i.fa-xl,
.btn i.fa-2xl,
.btn i.fa-2xs,
.btn i.fa-1x,
.btn i.fa-2x,
.btn i.fa-3x,
.btn i.fa-4x,
.btn i.fa-5x {
  font-size: 1.1em !important;
}

.bg-hco-teal i,
.bg-primary i,
.service-icon.bg-hco-teal i {
  color: var(--healthcare-text-light) !important;
}

.bg-hco-green i,
.bg-success i,
.service-icon.bg-hco-green i {
  color: var(--healthcare-text-light) !important;
}

.bg-warning i,
.service-icon.bg-warning i {
  color: #2d3748 !important;
}

.bg-light i,
.bg-white i,
.service-icon.bg-light i {
  color: #2d3748 !important;
}

.bg-dark i,
.btn-primary i,
.btn-success i,
.btn-info i,
.btn-warning i,
.btn-danger i {
  color: #2d3748 !important;
}

.capability-icon i.fa-xs, .capability-icon i.fa-sm, .capability-icon i.fa-lg, .capability-icon i.fa-xl, .capability-icon i.fa-2xl, .capability-icon i.fa-2xs, .capability-icon i.fa-1x, .capability-icon i.fa-2x, .capability-icon i.fa-3x, .capability-icon i.fa-4x, .capability-icon i.fa-5x,
.stat-icon i.fa-xs,
.stat-icon i.fa-sm,
.stat-icon i.fa-lg,
.stat-icon i.fa-xl,
.stat-icon i.fa-2xl,
.stat-icon i.fa-2xs,
.stat-icon i.fa-1x,
.stat-icon i.fa-2x,
.stat-icon i.fa-3x,
.stat-icon i.fa-4x,
.stat-icon i.fa-5x,
.config-icon i.fa-xs,
.config-icon i.fa-sm,
.config-icon i.fa-lg,
.config-icon i.fa-xl,
.config-icon i.fa-2xl,
.config-icon i.fa-2xs,
.config-icon i.fa-1x,
.config-icon i.fa-2x,
.config-icon i.fa-3x,
.config-icon i.fa-4x,
.config-icon i.fa-5x {
  font-size: inherit !important;
}

.hero-badge .badge {
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.hero-badge .badge i {
  font-size: 1em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.hero-badge .badge i {
  font-size: 1.2em !important;
  margin-right: 0.5em !important;
}
.hero-badge .badge i.fa, .hero-badge .badge i.fas, .hero-badge .badge i.far, .hero-badge .badge i.fal, .hero-badge .badge i.fat, .hero-badge .badge i.fad, .hero-badge .badge i.fab, .hero-badge .badge i[class*=fa-] {
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: static !important;
}
.hero-badge .badge i.fa::before, .hero-badge .badge i.fas::before, .hero-badge .badge i.far::before, .hero-badge .badge i.fal::before, .hero-badge .badge i.fat::before, .hero-badge .badge i.fad::before, .hero-badge .badge i.fab::before, .hero-badge .badge i[class*=fa-]::before {
  transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}
.hero-badge .badge i.fa-xs, .hero-badge .badge i.fa-sm, .hero-badge .badge i.fa-lg, .hero-badge .badge i.fa-xl, .hero-badge .badge i.fa-2xl, .hero-badge .badge i.fa-2xs, .hero-badge .badge i.fa-1x, .hero-badge .badge i.fa-2x, .hero-badge .badge i.fa-3x, .hero-badge .badge i.fa-4x, .hero-badge .badge i.fa-5x {
  font-size: 1.2em !important;
}

.hero-stats .stat-icon i {
  font-size: 3.5em !important;
  margin-right: 0.5em !important;
  color: #005f5f !important;
  vertical-align: top !important;
  display: inline-block !important;
}
.hero-stats .stat-icon i.fa-xs, .hero-stats .stat-icon i.fa-sm, .hero-stats .stat-icon i.fa-lg, .hero-stats .stat-icon i.fa-xl, .hero-stats .stat-icon i.fa-2xl, .hero-stats .stat-icon i.fa-2xs, .hero-stats .stat-icon i.fa-1x, .hero-stats .stat-icon i.fa-2x, .hero-stats .stat-icon i.fa-3x, .hero-stats .stat-icon i.fa-4x, .hero-stats .stat-icon i.fa-5x {
  font-size: 3.5em !important;
}

.hero-stats .stat-number i {
  font-size: 1em !important;
  margin-right: 0.2em !important;
  color: inherit !important;
  vertical-align: baseline !important;
  display: inline !important;
  line-height: 1 !important;
}
.hero-stats .stat-number i.fa-xs, .hero-stats .stat-number i.fa-sm, .hero-stats .stat-number i.fa-lg, .hero-stats .stat-number i.fa-xl, .hero-stats .stat-number i.fa-2xl, .hero-stats .stat-number i.fa-2xs, .hero-stats .stat-number i.fa-1x, .hero-stats .stat-number i.fa-2x, .hero-stats .stat-number i.fa-3x, .hero-stats .stat-number i.fa-4x, .hero-stats .stat-number i.fa-5x {
  font-size: 1em !important;
}

.capability-card .capability-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.capability-card .capability-icon i {
  font-size: 1em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
.capability-card .capability-icon i {
  font-size: 2.5em !important;
  color: #005f5f !important;
  margin: 0 !important;
}
.capability-card .capability-icon i.fa, .capability-card .capability-icon i.fas, .capability-card .capability-icon i.far, .capability-card .capability-icon i.fal, .capability-card .capability-icon i.fat, .capability-card .capability-icon i.fad, .capability-card .capability-icon i.fab, .capability-card .capability-icon i[class*=fa-] {
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: static !important;
}
.capability-card .capability-icon i.fa::before, .capability-card .capability-icon i.fas::before, .capability-card .capability-icon i.far::before, .capability-card .capability-icon i.fal::before, .capability-card .capability-icon i.fat::before, .capability-card .capability-icon i.fad::before, .capability-card .capability-icon i.fab::before, .capability-card .capability-icon i[class*=fa-]::before {
  transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}
.capability-card .capability-icon i.fa-xs, .capability-card .capability-icon i.fa-sm, .capability-card .capability-icon i.fa-lg, .capability-card .capability-icon i.fa-xl, .capability-card .capability-icon i.fa-2xl, .capability-card .capability-icon i.fa-2xs, .capability-card .capability-icon i.fa-1x, .capability-card .capability-icon i.fa-2x, .capability-card .capability-icon i.fa-3x, .capability-card .capability-icon i.fa-4x, .capability-card .capability-icon i.fa-5x {
  font-size: 2.5em !important;
}

.config-card .config-icon i {
  font-size: 1.8em !important;
  color: #005f5f !important;
  margin-right: 0.75rem !important;
}
.config-card .config-icon i.fa-xs, .config-card .config-icon i.fa-sm, .config-card .config-icon i.fa-lg, .config-card .config-icon i.fa-xl, .config-card .config-icon i.fa-2xl, .config-card .config-icon i.fa-2xs, .config-card .config-icon i.fa-1x, .config-card .config-icon i.fa-2x, .config-card .config-icon i.fa-3x, .config-card .config-icon i.fa-4x, .config-card .config-icon i.fa-5x {
  font-size: 1.8em !important;
}

.section-title i {
  font-size: 1.3em !important;
  margin-right: 0.75rem !important;
  color: #005f5f !important;
}
.section-title i.fa-xs, .section-title i.fa-sm, .section-title i.fa-lg, .section-title i.fa-xl, .section-title i.fa-2xl, .section-title i.fa-2xs, .section-title i.fa-1x, .section-title i.fa-2x, .section-title i.fa-3x, .section-title i.fa-4x, .section-title i.fa-5x {
  font-size: 1.3em !important;
}

.feature-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.feature-icon i {
  font-size: 1em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
.feature-icon i {
  font-size: 2.5em !important;
}
.feature-icon i.fa-xs, .feature-icon i.fa-sm, .feature-icon i.fa-lg, .feature-icon i.fa-xl, .feature-icon i.fa-2xl, .feature-icon i.fa-2xs, .feature-icon i.fa-1x, .feature-icon i.fa-2x, .feature-icon i.fa-3x, .feature-icon i.fa-4x, .feature-icon i.fa-5x {
  font-size: 2.5em !important;
}

.badge,
.badge-primary,
.badge-secondary,
.badge-success,
.badge-danger,
.badge-warning,
.badge-info,
.badge-light,
.badge-dark {
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.badge i,
.badge-primary i,
.badge-secondary i,
.badge-success i,
.badge-danger i,
.badge-warning i,
.badge-info i,
.badge-light i,
.badge-dark i {
  font-size: 1em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.badge i.fa, .badge i.fas, .badge i.far, .badge i.fal, .badge i.fat, .badge i.fad, .badge i.fab, .badge i[class*=fa-],
.badge-primary i.fa,
.badge-primary i.fas,
.badge-primary i.far,
.badge-primary i.fal,
.badge-primary i.fat,
.badge-primary i.fad,
.badge-primary i.fab,
.badge-primary i[class*=fa-],
.badge-secondary i.fa,
.badge-secondary i.fas,
.badge-secondary i.far,
.badge-secondary i.fal,
.badge-secondary i.fat,
.badge-secondary i.fad,
.badge-secondary i.fab,
.badge-secondary i[class*=fa-],
.badge-success i.fa,
.badge-success i.fas,
.badge-success i.far,
.badge-success i.fal,
.badge-success i.fat,
.badge-success i.fad,
.badge-success i.fab,
.badge-success i[class*=fa-],
.badge-danger i.fa,
.badge-danger i.fas,
.badge-danger i.far,
.badge-danger i.fal,
.badge-danger i.fat,
.badge-danger i.fad,
.badge-danger i.fab,
.badge-danger i[class*=fa-],
.badge-warning i.fa,
.badge-warning i.fas,
.badge-warning i.far,
.badge-warning i.fal,
.badge-warning i.fat,
.badge-warning i.fad,
.badge-warning i.fab,
.badge-warning i[class*=fa-],
.badge-info i.fa,
.badge-info i.fas,
.badge-info i.far,
.badge-info i.fal,
.badge-info i.fat,
.badge-info i.fad,
.badge-info i.fab,
.badge-info i[class*=fa-],
.badge-light i.fa,
.badge-light i.fas,
.badge-light i.far,
.badge-light i.fal,
.badge-light i.fat,
.badge-light i.fad,
.badge-light i.fab,
.badge-light i[class*=fa-],
.badge-dark i.fa,
.badge-dark i.fas,
.badge-dark i.far,
.badge-dark i.fal,
.badge-dark i.fat,
.badge-dark i.fad,
.badge-dark i.fab,
.badge-dark i[class*=fa-] {
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: static !important;
}
.badge i.fa::before, .badge i.fas::before, .badge i.far::before, .badge i.fal::before, .badge i.fat::before, .badge i.fad::before, .badge i.fab::before, .badge i[class*=fa-]::before,
.badge-primary i.fa::before,
.badge-primary i.fas::before,
.badge-primary i.far::before,
.badge-primary i.fal::before,
.badge-primary i.fat::before,
.badge-primary i.fad::before,
.badge-primary i.fab::before,
.badge-primary i[class*=fa-]::before,
.badge-secondary i.fa::before,
.badge-secondary i.fas::before,
.badge-secondary i.far::before,
.badge-secondary i.fal::before,
.badge-secondary i.fat::before,
.badge-secondary i.fad::before,
.badge-secondary i.fab::before,
.badge-secondary i[class*=fa-]::before,
.badge-success i.fa::before,
.badge-success i.fas::before,
.badge-success i.far::before,
.badge-success i.fal::before,
.badge-success i.fat::before,
.badge-success i.fad::before,
.badge-success i.fab::before,
.badge-success i[class*=fa-]::before,
.badge-danger i.fa::before,
.badge-danger i.fas::before,
.badge-danger i.far::before,
.badge-danger i.fal::before,
.badge-danger i.fat::before,
.badge-danger i.fad::before,
.badge-danger i.fab::before,
.badge-danger i[class*=fa-]::before,
.badge-warning i.fa::before,
.badge-warning i.fas::before,
.badge-warning i.far::before,
.badge-warning i.fal::before,
.badge-warning i.fat::before,
.badge-warning i.fad::before,
.badge-warning i.fab::before,
.badge-warning i[class*=fa-]::before,
.badge-info i.fa::before,
.badge-info i.fas::before,
.badge-info i.far::before,
.badge-info i.fal::before,
.badge-info i.fat::before,
.badge-info i.fad::before,
.badge-info i.fab::before,
.badge-info i[class*=fa-]::before,
.badge-light i.fa::before,
.badge-light i.fas::before,
.badge-light i.far::before,
.badge-light i.fal::before,
.badge-light i.fat::before,
.badge-light i.fad::before,
.badge-light i.fab::before,
.badge-light i[class*=fa-]::before,
.badge-dark i.fa::before,
.badge-dark i.fas::before,
.badge-dark i.far::before,
.badge-dark i.fal::before,
.badge-dark i.fat::before,
.badge-dark i.fad::before,
.badge-dark i.fab::before,
.badge-dark i[class*=fa-]::before {
  transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}
.badge i.fa-xs, .badge i.fa-sm, .badge i.fa-lg, .badge i.fa-xl, .badge i.fa-2xl, .badge i.fa-2xs, .badge i.fa-1x, .badge i.fa-2x, .badge i.fa-3x, .badge i.fa-4x, .badge i.fa-5x,
.badge-primary i.fa-xs,
.badge-primary i.fa-sm,
.badge-primary i.fa-lg,
.badge-primary i.fa-xl,
.badge-primary i.fa-2xl,
.badge-primary i.fa-2xs,
.badge-primary i.fa-1x,
.badge-primary i.fa-2x,
.badge-primary i.fa-3x,
.badge-primary i.fa-4x,
.badge-primary i.fa-5x,
.badge-secondary i.fa-xs,
.badge-secondary i.fa-sm,
.badge-secondary i.fa-lg,
.badge-secondary i.fa-xl,
.badge-secondary i.fa-2xl,
.badge-secondary i.fa-2xs,
.badge-secondary i.fa-1x,
.badge-secondary i.fa-2x,
.badge-secondary i.fa-3x,
.badge-secondary i.fa-4x,
.badge-secondary i.fa-5x,
.badge-success i.fa-xs,
.badge-success i.fa-sm,
.badge-success i.fa-lg,
.badge-success i.fa-xl,
.badge-success i.fa-2xl,
.badge-success i.fa-2xs,
.badge-success i.fa-1x,
.badge-success i.fa-2x,
.badge-success i.fa-3x,
.badge-success i.fa-4x,
.badge-success i.fa-5x,
.badge-danger i.fa-xs,
.badge-danger i.fa-sm,
.badge-danger i.fa-lg,
.badge-danger i.fa-xl,
.badge-danger i.fa-2xl,
.badge-danger i.fa-2xs,
.badge-danger i.fa-1x,
.badge-danger i.fa-2x,
.badge-danger i.fa-3x,
.badge-danger i.fa-4x,
.badge-danger i.fa-5x,
.badge-warning i.fa-xs,
.badge-warning i.fa-sm,
.badge-warning i.fa-lg,
.badge-warning i.fa-xl,
.badge-warning i.fa-2xl,
.badge-warning i.fa-2xs,
.badge-warning i.fa-1x,
.badge-warning i.fa-2x,
.badge-warning i.fa-3x,
.badge-warning i.fa-4x,
.badge-warning i.fa-5x,
.badge-info i.fa-xs,
.badge-info i.fa-sm,
.badge-info i.fa-lg,
.badge-info i.fa-xl,
.badge-info i.fa-2xl,
.badge-info i.fa-2xs,
.badge-info i.fa-1x,
.badge-info i.fa-2x,
.badge-info i.fa-3x,
.badge-info i.fa-4x,
.badge-info i.fa-5x,
.badge-light i.fa-xs,
.badge-light i.fa-sm,
.badge-light i.fa-lg,
.badge-light i.fa-xl,
.badge-light i.fa-2xl,
.badge-light i.fa-2xs,
.badge-light i.fa-1x,
.badge-light i.fa-2x,
.badge-light i.fa-3x,
.badge-light i.fa-4x,
.badge-light i.fa-5x,
.badge-dark i.fa-xs,
.badge-dark i.fa-sm,
.badge-dark i.fa-lg,
.badge-dark i.fa-xl,
.badge-dark i.fa-2xl,
.badge-dark i.fa-2xs,
.badge-dark i.fa-1x,
.badge-dark i.fa-2x,
.badge-dark i.fa-3x,
.badge-dark i.fa-4x,
.badge-dark i.fa-5x {
  font-size: 1em !important;
}

.status-badge,
.status-indicator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.status-badge i,
.status-indicator i {
  font-size: 1em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
.status-badge i,
.status-indicator i {
  font-size: 1.2em !important;
}
.status-badge i.fa, .status-badge i.fas, .status-badge i.far, .status-badge i.fal, .status-badge i.fat, .status-badge i.fad, .status-badge i.fab, .status-badge i[class*=fa-],
.status-indicator i.fa,
.status-indicator i.fas,
.status-indicator i.far,
.status-indicator i.fal,
.status-indicator i.fat,
.status-indicator i.fad,
.status-indicator i.fab,
.status-indicator i[class*=fa-] {
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: static !important;
}
.status-badge i.fa::before, .status-badge i.fas::before, .status-badge i.far::before, .status-badge i.fal::before, .status-badge i.fat::before, .status-badge i.fad::before, .status-badge i.fab::before, .status-badge i[class*=fa-]::before,
.status-indicator i.fa::before,
.status-indicator i.fas::before,
.status-indicator i.far::before,
.status-indicator i.fal::before,
.status-indicator i.fat::before,
.status-indicator i.fad::before,
.status-indicator i.fab::before,
.status-indicator i[class*=fa-]::before {
  transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}
.status-badge i.fa-xs, .status-badge i.fa-sm, .status-badge i.fa-lg, .status-badge i.fa-xl, .status-badge i.fa-2xl, .status-badge i.fa-2xs, .status-badge i.fa-1x, .status-badge i.fa-2x, .status-badge i.fa-3x, .status-badge i.fa-4x, .status-badge i.fa-5x,
.status-indicator i.fa-xs,
.status-indicator i.fa-sm,
.status-indicator i.fa-lg,
.status-indicator i.fa-xl,
.status-indicator i.fa-2xl,
.status-indicator i.fa-2xs,
.status-indicator i.fa-1x,
.status-indicator i.fa-2x,
.status-indicator i.fa-3x,
.status-indicator i.fa-4x,
.status-indicator i.fa-5x {
  font-size: 1.2em !important;
}

.external-service-card .service-card-footer {
  padding-top: 1.5rem;
}

.external-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 50px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  border-width: 2px !important;
}
.external-cta-btn i {
  font-size: 1em !important;
  margin: 0 !important;
}
.external-cta-btn i.fa-xs, .external-cta-btn i.fa-sm, .external-cta-btn i.fa-lg, .external-cta-btn i.fa-xl, .external-cta-btn i.fa-2xl, .external-cta-btn i.fa-2xs, .external-cta-btn i.fa-1x, .external-cta-btn i.fa-2x, .external-cta-btn i.fa-3x, .external-cta-btn i.fa-4x, .external-cta-btn i.fa-5x {
  font-size: 1em !important;
}
.external-cta-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.external-link i {
  font-size: 1em !important;
  margin-right: 0.5em !important;
}
.external-link i.fa-xs, .external-link i.fa-sm, .external-link i.fa-lg, .external-link i.fa-xl, .external-link i.fa-2xl, .external-link i.fa-2xs, .external-link i.fa-1x, .external-link i.fa-2x, .external-link i.fa-3x, .external-link i.fa-4x, .external-link i.fa-5x {
  font-size: 1em !important;
}

.config-note i {
  font-size: 1.1em !important;
  margin-right: 0.5em !important;
  color: #1e3a5f !important;
}
.config-note i.fa-xs, .config-note i.fa-sm, .config-note i.fa-lg, .config-note i.fa-xl, .config-note i.fa-2xl, .config-note i.fa-2xs, .config-note i.fa-1x, .config-note i.fa-2x, .config-note i.fa-3x, .config-note i.fa-4x, .config-note i.fa-5x {
  font-size: 1.1em !important;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.admin-section {
  margin-bottom: 2rem;
}

.admin-contact-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}
.admin-contact-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.admin-card-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  margin: -1.5rem -1.5rem 1rem -1.5rem;
  font-weight: 600;
  display: flex;
  align-items: center;
}
.admin-card-header i {
  margin-right: 0.5rem;
}

.admin-info-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}
.admin-info-row:last-child {
  margin-bottom: 0;
}

.admin-label {
  flex: 0 0 140px;
  font-weight: 600;
  color: #4a5568;
  display: flex;
  align-items: center;
}
.admin-label i {
  margin-right: 0.5rem;
  color: #667eea;
}

.admin-value {
  flex: 1;
  color: #2d3748;
  line-height: 1.5;
}

.contact-info-card {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  position: relative;
}
.contact-info-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border-color: #005f5f;
}
.contact-info-card .contact-type {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e2e8f0;
}
.contact-info-card .contact-type::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #005f5f, #4fd1c7);
  border-radius: 12px 12px 0 0;
}
.contact-info-card .contact-details {
  color: #2d3748;
  line-height: 1.6;
}
.contact-info-card .contact-details strong {
  color: #1a202c;
  font-weight: 600;
}
.contact-info-card .contact-details .text-muted {
  color: #718096;
  font-size: 0.875rem;
}
.contact-info-card .contact-details.mt-2 {
  margin-top: 0.5rem;
}
@media (max-width: 768px) {
  .contact-info-card {
    padding: 1rem;
    margin-bottom: 0.75rem;
  }
  .contact-info-card .contact-type {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
  }
  .contact-info-card .contact-details {
    font-size: 0.9rem;
  }
}

.contact-link {
  display: inline-flex;
  align-items: center;
  color: #007b7f;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
}
.contact-link:hover {
  color: #065f63;
  background-color: rgba(0, 123, 127, 0.1);
  text-decoration: none;
  transform: translateX(2px);
}
.contact-link i {
  margin-right: 0.5rem;
  font-size: 0.875rem;
}
.contact-link.phone-link:before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.25rem;
}
.contact-link.email-link:before {
  content: "✉️";
  margin-right: 0.25rem;
}

.professional-card .contact-details {
  background: #f8fafc;
  padding: 1rem;
  border-radius: 8px;
  border-left: 4px solid #007b7f;
}

.admin-contact-card .admin-info-row .admin-value .contact-item .contact-type {
  background: #edf2f7;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
}

@media (max-width: 576px) {
  .contact-info-card {
    margin-bottom: 1rem;
  }
  .contact-info-card .contact-link {
    display: block;
    margin-bottom: 0.5rem;
    text-align: center;
  }
}
.admin-contact-card.patient-contact .admin-card-header {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
  color: white;
}
.admin-contact-card.guardian-contact .admin-card-header {
  background: linear-gradient(135deg, #8e7cc3 0%, #7b68a9 100%);
  color: white;
}
.admin-contact-card.other-contact .admin-card-header {
  background: linear-gradient(135deg, #4db6ac 0%, #42a29a 100%);
  color: white;
}
.admin-contact-card.hcp-contact .admin-card-header {
  background: linear-gradient(135deg, #52c41a 0%, #389e0d 100%);
  color: white;
}
.admin-contact-card.legal-contact .admin-card-header {
  background: linear-gradient(135deg, #fa8c16 0%, #d46b08 100%);
  color: white;
}
.admin-contact-card.custodian-contact .admin-card-header {
  background: linear-gradient(135deg, #722ed1 0%, #531dab 100%);
  color: white;
}
.admin-contact-card.preferred-hcp-contact .admin-card-header {
  background: linear-gradient(135deg, #eb2f96 0%, #c41d7f 100%);
  color: white;
}

@media (max-width: 768px) {
  .admin-info-row {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 768px) {
  .admin-info-row .admin-label {
    flex: none;
    margin-bottom: 0.25rem;
  }
}
@media (max-width: 768px) {
  .admin-info-row .admin-value {
    margin-left: 1.5rem;
  }
}
.admin-info-row .admin-value .badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
}
.admin-info-row .admin-value .badge.bg-info {
  background-color: #36b9cc !important;
}
.admin-info-row .admin-value .badge.bg-secondary {
  background-color: #858796 !important;
}
.admin-info-row .admin-value .badge.bg-primary {
  background-color: #4e73df !important;
}
.admin-info-row .admin-value .badge.bg-warning {
  background-color: #f6c23e !important;
  color: #333 !important;
}

.admin-section.mb-4 {
  margin-bottom: 1.5rem !important;
}

.contact-info-unified {
  padding: 0;
}

.contact-card {
  background: #ffffff;
  border: 1px solid #e3f2fd;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1rem;
}

.contact-header {
  color: #1976d2;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e3f2fd;
}

.contact-content {
  color: #333;
}

.address-line {
  font-weight: 500;
  margin-bottom: 0.25rem;
  color: #2c3e50;
}

.address-details {
  border-top: 1px solid #f0f0f0;
  padding-top: 0.75rem;
}

.detail-item {
  display: flex;
  margin-bottom: 0.5rem;
  align-items: center;
}

.detail-label {
  font-weight: 500;
  color: #666;
  min-width: 100px;
  margin-right: 0.5rem;
}

.detail-value {
  font-weight: 600;
  color: #2c3e50;
}

.telecom-item {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 6px;
  border-left: 3px solid #1976d2;
}

.telecom-icon {
  margin-right: 1rem;
  font-size: 1.1rem;
}

.telecom-details {
  flex-grow: 1;
}

.telecom-value {
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 0.25rem;
}

.telecom-meta {
  font-size: 0.85rem;
  color: #666;
}

.section-title {
  color: #1976d2;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e3f2fd;
}

.contact-section {
  margin-top: 2rem;
  padding-top: 1rem;
}

.language-badge {
  display: inline-block;
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: 600;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

.guardian-card {
  border-left: 4px solid #28a745;
}
.guardian-card .contact-header {
  color: #28a745;
  border-bottom-color: #d4edda;
}

.role-badge {
  background: #28a745;
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 500;
  margin-left: 1rem;
}

.guardian-section {
  margin-bottom: 1.5rem;
}

.guardian-subtitle {
  color: #28a745;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.address-block {
  background: #f8f9fa;
  padding: 1rem;
  border-radius: 6px;
  border-left: 3px solid #28a745;
}
.address-block.compact {
  padding: 0.75rem;
  margin-bottom: 1rem;
}

.address-part {
  margin-right: 0.5rem;
  font-weight: 500;
}

.guardian-telecom {
  background: #f8f9fa;
  border-left-color: #28a745;
}

.other-contact-card {
  border-left: 4px solid #17a2b8;
}
.other-contact-card .contact-header {
  color: #17a2b8;
  border-bottom-color: #d1ecf1;
}
.other-contact-card .role-badge {
  background: #17a2b8;
}

.specialty-info {
  color: #17a2b8;
  font-weight: 500;
  margin-bottom: 1rem;
  padding: 0.5rem;
  background: #d1ecf1;
  border-radius: 4px;
}

.other-contact-section {
  margin-bottom: 1rem;
}

.other-contact-subtitle {
  color: #17a2b8;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.telecom-item.compact {
  margin-bottom: 0.5rem;
  padding: 0.5rem;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.extended-patient-info {
  background: rgba(255, 255, 255, 0.98);
  border: none;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.extended-patient-info .card-header {
  background: linear-gradient(135deg, #17a2b8, #138496);
  border: none;
  padding: 2rem;
  position: relative;
}
.extended-patient-info .card-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.1), transparent);
  pointer-events: none;
}
.extended-patient-info .card-header h4 {
  font-weight: 600;
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.extended-patient-info .card-header h4 i {
  background: rgba(255, 255, 255, 0.2);
  padding: 0.5rem;
  border-radius: 8px;
  margin-right: 1rem;
}
.extended-patient-info .card-header p {
  opacity: 0.9;
  margin-bottom: 0;
}
.extended-patient-info .card-header p small {
  font-size: 0.875rem;
}
.extended-patient-info .card-body {
  padding: 2rem;
  background: #ffffff;
}
.extended-patient-info .card-body .nav-tabs {
  border-bottom: 2px solid #e9ecef;
  margin-bottom: 0;
}
.extended-patient-info .card-body .nav-tabs .nav-item {
  margin-bottom: -1px;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link {
  border: none;
  color: #6c757d;
  font-weight: 500;
  padding: 1rem 1.5rem;
  background: transparent;
  border-radius: 8px 8px 0 0;
  transition: all 0.3s ease;
  position: relative;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link:hover {
  color: #007b7f;
  background: rgba(0, 123, 127, 0.05);
  border-color: transparent;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link.active {
  color: #007b7f;
  background: #ffffff;
  border-color: #007b7f #007b7f #ffffff;
  border-width: 2px 2px 2px 2px;
  border-style: solid;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: #ffffff;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link i {
  margin-right: 0.5rem;
  font-size: 0.9rem;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link .badge {
  font-size: 0.65rem;
  padding: 0.25em 0.5em;
  margin-left: 0.5rem;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link .badge.bg-primary {
  background-color: #007b7f !important;
}
.extended-patient-info .card-body .nav-tabs .nav-item .nav-link .badge.bg-success {
  background-color: #28a745 !important;
}
.extended-patient-info .card-body .tab-content {
  background: #ffffff;
  border-radius: 0 0 16px 16px;
}
.extended-patient-info .card-body .tab-content .tab-pane {
  padding: 1.5rem 0;
  animation: fadeIn 0.3s ease-in-out;
}
.extended-patient-info .card-body .tab-content .tab-pane.fade:not(.show) {
  opacity: 0;
}
.extended-patient-info .card-body .tab-content .tab-pane.fade.show {
  opacity: 1;
}
@media (max-width: 768px) {
  .extended-patient-info .card-header {
    padding: 1.5rem;
  }
  .extended-patient-info .card-header h4 {
    font-size: 1.1rem;
  }
  .extended-patient-info .card-header h4 i {
    padding: 0.4rem;
    margin-right: 0.75rem;
  }
  .extended-patient-info .card-header p small {
    font-size: 0.8rem;
  }
  .extended-patient-info .card-body {
    padding: 1rem;
  }
  .extended-patient-info .card-body .nav-tabs .nav-item .nav-link {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
  }
  .extended-patient-info .card-body .nav-tabs .nav-item .nav-link .badge {
    display: none;
  }
  .extended-patient-info .card-body .tab-content .tab-pane {
    padding: 1rem 0;
  }
}
@media (max-width: 576px) {
  .extended-patient-info .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
  }
  .extended-patient-info .nav-tabs .nav-item {
    flex: 0 0 auto;
  }
  .extended-patient-info .nav-tabs .nav-item .nav-link {
    white-space: nowrap;
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.nav-tabs .nav-link .badge {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.admin-section {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dee2e6;
}
.admin-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.admin-section-title {
  color: #085a9f;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.admin-section-title i {
  font-size: 18px;
}

.contact-count {
  font-size: 14px;
  font-weight: normal;
  color: #6c757d;
  margin-left: auto;
}

.contact-card {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
}
.contact-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.contact-card {
  transition: all 0.3s ease;
}
.contact-card:last-child {
  margin-bottom: 0;
}
.contact-card:hover {
  transform: translateY(-1px);
}

.contact-name {
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.contact-name strong {
  font-size: 15px;
  color: #333;
}

.contact-detail {
  display: flex;
  align-items: center;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
}
.contact-detail:last-child {
  margin-bottom: 0;
}
.contact-detail i {
  color: #085a9f;
  width: 16px;
  flex-shrink: 0;
  margin-top: 2px;
}
.contact-detail strong {
  color: rgb(5.5568862275, 62.5149700599, 110.4431137725);
  margin-right: 0.25rem;
}

.role-badge {
  background: #085a9f;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.role-badge.emergency-contact-family-member {
  background: #dc3545;
}
.role-badge.primary-care-provider {
  background: #28a745;
}
.role-badge.author-hcp {
  background: #007bff;
}
.role-badge.legal-authenticator {
  background: #ffc107;
  color: #212529;
}
.role-badge.contact-ind {
  background: #6c757d;
}

.patient-contact {
  border-left: 4px solid #17a2b8;
  background: linear-gradient(135deg, #ffffff 0%, rgb(189.6666666667, 239.0217391304, 246.8333333333) 100%);
}

.author-contact {
  border-left: 4px solid #007bff;
  background: linear-gradient(135deg, #ffffff 0%, rgb(229.5, 241.8, 255) 100%);
}

.legal-auth-contact {
  border-left: 4px solid #ffc107;
  background: linear-gradient(135deg, #ffffff 0%, rgb(255, 237.625, 185.5) 100%);
}

.custodian-contact {
  border-left: 4px solid #6f42c1;
  background: linear-gradient(135deg, #ffffff 0%, rgb(242.6653386454, 238.8107569721, 249.6892430279) 100%);
}

.participant-contact {
  border-left: 4px solid #28a745;
  background: linear-gradient(135deg, #ffffff 0%, rgb(195.7028985507, 240.7971014493, 206) 100%);
}

.indicator {
  font-size: 12px;
  color: rgba(8, 90, 159, 0.7);
  font-weight: normal;
  margin-left: auto;
  padding: 0.125rem 0.5rem;
  background: rgba(8, 90, 159, 0.1);
  border-radius: 10px;
}

.wrap-collapsible {
  animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .contact-detail {
    flex-direction: column;
    gap: 0.25rem;
  }
  .contact-detail i {
    margin-top: 0;
  }
  .contact-name {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  .admin-section-title {
    font-size: 14px;
  }
  .admin-section-title i {
    font-size: 16px;
  }
  .contact-card {
    padding: 0.75rem;
  }
  .role-badge {
    font-size: 10px;
    padding: 0.2rem 0.4rem;
  }
}
@media (max-width: 480px) {
  .admin-section {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
  }
  .contact-card {
    margin-bottom: 0.5rem;
    padding: 0.5rem;
  }
  .contact-detail {
    font-size: 13px;
  }
  .indicator {
    font-size: 11px;
    padding: 0.1rem 0.4rem;
  }
}
@media print {
  .contact-card {
    box-shadow: none;
    border: 1px solid #000;
    background: #ffffff !important;
    page-break-inside: avoid;
  }
  .role-badge {
    border: 1px solid #000;
    background: #ffffff !important;
    color: #000 !important;
  }
  .admin-section-title {
    color: #000;
  }
  .contact-detail i {
    color: #000;
  }
}
@media (prefers-contrast: high) {
  .contact-card {
    border: 2px solid #333;
    background: #ffffff;
  }
  .role-badge {
    border: 1px solid #333;
  }
  .contact-detail {
    color: #333;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-card {
    transition: none;
  }
  .contact-card:hover {
    transform: none;
  }
  .wrap-collapsible {
    animation: none;
  }
}
.enhanced-clinical-section-pro {
  margin-bottom: 2rem;
}
.enhanced-clinical-section-pro .clinical-section-card-pro {
  border: 1px solid var(--bs-border-color);
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease;
}
.enhanced-clinical-section-pro .clinical-section-card-pro:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.clinical-header-pro {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-bottom: 2px solid var(--bs-primary);
  padding: 1.25rem 1.5rem;
  border-radius: 0.75rem 0.75rem 0 0;
}
.clinical-header-pro .section-title-group {
  flex: 1;
}
.clinical-header-pro .section-title-group .section-title {
  color: var(--bs-dark);
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}
.clinical-header-pro .section-title-group .section-title i {
  font-size: 1rem;
}
.clinical-header-pro .section-title-group .translation-context .translation-badge {
  background: var(--bs-info);
  color: white;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.clinical-metrics-pro {
  display: flex;
  gap: 1rem;
}
.clinical-metrics-pro .metric-item {
  text-align: center;
  padding: 0.5rem 0.75rem;
  background: white;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color);
  min-width: 60px;
}
.clinical-metrics-pro .metric-item .metric-value {
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--bs-primary);
}
.clinical-metrics-pro .metric-item .metric-label {
  display: block;
  font-size: 0.75rem;
  color: var(--bs-secondary);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.clinical-metrics-pro .metric-item.coded .metric-value {
  color: var(--bs-success);
}
.clinical-metrics-pro .metric-item.quality .metric-value {
  color: var(--bs-info);
}

.clinical-body-pro {
  padding: 1.5rem;
}

.clinical-tabs-pro .clinical-nav-pills {
  background: var(--bs-light);
  padding: 0.375rem;
  border-radius: 0.75rem;
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro {
  flex: 1;
  text-align: center;
  border: none;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--bs-secondary);
  transition: all 0.3s ease;
  position: relative;
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro .tab-label {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.125rem;
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro .tab-sublabel {
  display: block;
  font-size: 0.75rem;
  opacity: 0.7;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro i {
  font-size: 1.1rem;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro:hover {
  background: rgba(var(--bs-primary-rgb), 0.1);
  color: var(--bs-primary);
  transform: translateY(-1px);
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro:hover i {
  opacity: 1;
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro.active {
  background: var(--bs-primary);
  color: white;
  box-shadow: 0 2px 8px rgba(var(--bs-primary-rgb), 0.3);
}
.clinical-tabs-pro .clinical-nav-pills .clinical-tab-pro.active i {
  opacity: 1;
}

.clinical-content-pro .tab-pane {
  min-height: 300px;
}

.clinical-entries-pro .clinical-entry-pro .entry-card {
  background: white;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  padding: 1.25rem;
  transition: all 0.3s ease;
}
.clinical-entries-pro .clinical-entry-pro .entry-card:hover {
  border-color: var(--bs-primary);
  box-shadow: 0 2px 12px rgba(var(--bs-primary-rgb), 0.1);
}

.entry-header-pro {
  margin-bottom: 1rem;
}
.entry-header-pro .entry-primary-info {
  flex: 1;
}
.entry-header-pro .entry-primary-info .entry-title {
  color: var(--bs-dark);
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.375rem;
  line-height: 1.4;
}
.entry-header-pro .entry-primary-info .entry-type-badge {
  background: var(--bs-light);
  color: var(--bs-secondary);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.entry-header-pro .status-badge {
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.entry-header-pro .status-badge.status-completed {
  background: var(--bs-success);
  color: white;
}
.entry-header-pro .status-badge.status-active {
  background: var(--bs-primary);
  color: white;
}
.entry-header-pro .status-badge.status-suspended {
  background: var(--bs-warning);
  color: var(--bs-dark);
}
.entry-header-pro .status-badge.status-unknown {
  background: var(--bs-secondary);
  color: white;
}

.clinical-details-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.clinical-details-grid .detail-item {
  display: flex;
  align-items: flex-start;
  padding: 0.75rem;
  background: var(--bs-light);
  border-radius: 0.375rem;
  border-left: 3px solid var(--bs-border-color);
}
.clinical-details-grid .detail-item .detail-icon {
  flex-shrink: 0;
  width: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.clinical-details-grid .detail-item .detail-icon i {
  font-size: 1rem;
}
.clinical-details-grid .detail-item .detail-content {
  flex: 1;
  margin-left: 0.5rem;
}
.clinical-details-grid .detail-item .detail-content .detail-label {
  display: block;
  font-size: 0.75rem;
  color: var(--bs-secondary);
  text-transform: uppercase;
  letter-spacing: 0.025em;
  margin-bottom: 0.125rem;
  font-weight: 600;
}
.clinical-details-grid .detail-item .detail-content .detail-value {
  display: block;
  color: var(--bs-dark);
  font-weight: 500;
}
.clinical-details-grid .detail-item .detail-content .detail-value.highlight {
  background: var(--bs-warning);
  color: var(--bs-dark);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-weight: 600;
}
.clinical-details-grid .detail-item.temporal {
  border-left-color: var(--bs-primary);
}
.clinical-details-grid .detail-item.substances {
  border-left-color: var(--bs-success);
}
.clinical-details-grid .detail-item.substances .substance-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.clinical-details-grid .detail-item.substances .substance-list .substance-tag {
  background: var(--bs-success);
  color: white;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
}
.clinical-details-grid .detail-item.dosage {
  border-left-color: var(--bs-info);
}
.clinical-details-grid .detail-item.result {
  border-left-color: var(--bs-warning);
}

.entry-codes-inline {
  padding: 0.75rem;
  background: rgba(var(--bs-primary-rgb), 0.05);
  border-radius: 0.375rem;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.1);
}
.entry-codes-inline .codes-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.entry-codes-inline .codes-header .codes-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--bs-primary);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.entry-codes-inline .codes-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.entry-codes-inline .codes-list .code-badge {
  display: flex;
  align-items: center;
  background: white;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.375rem;
  padding: 0.375rem 0.5rem;
  font-size: 0.8rem;
}
.entry-codes-inline .codes-list .code-badge .code-value {
  font-weight: 600;
  color: var(--bs-primary);
  margin-right: 0.25rem;
}
.entry-codes-inline .codes-list .code-badge .code-display {
  color: var(--bs-secondary);
  font-size: 0.75rem;
}
.entry-codes-inline .codes-list .code-badge.code-snomed {
  border-left: 3px solid var(--bs-success);
}
.entry-codes-inline .codes-list .code-badge.code-loinc {
  border-left: 3px solid var(--bs-primary);
}
.entry-codes-inline .codes-list .code-badge.code-icd {
  border-left: 3px solid var(--bs-warning);
}

.entry-relationships {
  padding: 0.75rem;
  background: rgba(var(--bs-secondary-rgb), 0.05);
  border-radius: 0.375rem;
  border: 1px solid rgba(var(--bs-secondary-rgb), 0.1);
}
.entry-relationships .relationships-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.entry-relationships .relationships-header .relationships-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--bs-secondary);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.entry-relationships .relationships-list .relationship-item {
  display: flex;
  align-items: center;
  padding: 0.25rem 0;
}
.entry-relationships .relationships-list .relationship-item .relationship-type {
  font-weight: 600;
  color: var(--bs-secondary);
  margin-right: 0.5rem;
  min-width: 100px;
  font-size: 0.8rem;
}
.entry-relationships .relationships-list .relationship-item .relationship-target {
  color: var(--bs-dark);
  font-size: 0.8rem;
}
.entry-relationships .relationships-list .relationship-item:not(:last-child) {
  border-bottom: 1px solid rgba(var(--bs-secondary-rgb), 0.1);
}

.entry-narrative {
  padding: 0.75rem;
  background: rgba(var(--bs-info-rgb), 0.05);
  border-radius: 0.375rem;
  border: 1px solid rgba(var(--bs-info-rgb), 0.1);
}
.entry-narrative .narrative-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.entry-narrative .narrative-header .narrative-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--bs-info);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.entry-narrative .narrative-content {
  color: var(--bs-dark);
  line-height: 1.5;
  font-size: 0.9rem;
}

.medical-codes-pro .coding-overview .overview-title {
  color: var(--bs-primary);
  font-weight: 600;
  margin-bottom: 1rem;
}
.medical-codes-pro .coding-overview .systems-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.medical-codes-pro .coding-overview .systems-grid .system-card {
  display: flex;
  align-items: center;
  padding: 1rem;
  border-radius: 0.5rem;
  background: white;
  border: 2px solid transparent;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.medical-codes-pro .coding-overview .systems-grid .system-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.medical-codes-pro .coding-overview .systems-grid .system-card .system-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  margin-right: 0.75rem;
}
.medical-codes-pro .coding-overview .systems-grid .system-card .system-icon i {
  font-size: 1.25rem;
  color: white;
}
.medical-codes-pro .coding-overview .systems-grid .system-card .system-info .system-name {
  display: block;
  font-weight: 600;
  color: var(--bs-dark);
  margin-bottom: 0.125rem;
}
.medical-codes-pro .coding-overview .systems-grid .system-card .system-info .system-count {
  display: block;
  font-size: 0.8rem;
  color: var(--bs-secondary);
}
.medical-codes-pro .coding-overview .systems-grid .system-card.snomed {
  border-color: var(--bs-success);
}
.medical-codes-pro .coding-overview .systems-grid .system-card.snomed .system-icon {
  background: var(--bs-success);
}
.medical-codes-pro .coding-overview .systems-grid .system-card.loinc {
  border-color: var(--bs-primary);
}
.medical-codes-pro .coding-overview .systems-grid .system-card.loinc .system-icon {
  background: var(--bs-primary);
}
.medical-codes-pro .coding-overview .systems-grid .system-card.icd {
  border-color: var(--bs-warning);
}
.medical-codes-pro .coding-overview .systems-grid .system-card.icd .system-icon {
  background: var(--bs-warning);
}
.medical-codes-pro .codes-detailed .codes-title {
  color: var(--bs-dark);
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--bs-border-color);
}
.medical-codes-pro .codes-detailed .code-item-pro {
  display: flex;
  flex-direction: column;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  background: white;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.375rem;
  border-left: 3px solid var(--bs-secondary);
  transition: all 0.3s ease;
}
.medical-codes-pro .codes-detailed .code-item-pro:hover {
  border-left-color: var(--bs-primary);
  box-shadow: 0 2px 8px rgba(var(--bs-primary-rgb), 0.1);
}
.medical-codes-pro .codes-detailed .code-item-pro .code-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.375rem;
}
.medical-codes-pro .codes-detailed .code-item-pro .code-main .code-value-main {
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}
.medical-codes-pro .codes-detailed .code-item-pro .code-main .code-system-badge {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.medical-codes-pro .codes-detailed .code-item-pro .code-main .code-system-badge.system-snomed {
  background: var(--bs-success);
  color: white;
}
.medical-codes-pro .codes-detailed .code-item-pro .code-main .code-system-badge.system-loinc {
  background: var(--bs-primary);
  color: white;
}
.medical-codes-pro .codes-detailed .code-item-pro .code-main .code-system-badge.system-icd {
  background: var(--bs-warning);
  color: var(--bs-dark);
}
.medical-codes-pro .codes-detailed .code-item-pro .code-main .code-system-badge.system-other {
  background: var(--bs-secondary);
  color: white;
}
.medical-codes-pro .codes-detailed .code-item-pro .code-description {
  color: var(--bs-dark);
  font-size: 0.9rem;
  line-height: 1.4;
  margin-bottom: 0.25rem;
}
.medical-codes-pro .codes-detailed .code-item-pro .code-metadata {
  margin-top: 0.25rem;
}

.source-data-pro .translation-context-detailed {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1.25rem;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color);
}
.source-data-pro .translation-context-detailed .context-header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  color: var(--bs-primary);
  font-weight: 600;
  font-size: 1rem;
}
.source-data-pro .translation-context-detailed .translation-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.source-data-pro .translation-context-detailed .translation-comparison .original-content .content-label,
.source-data-pro .translation-context-detailed .translation-comparison .translated-content .content-label {
  color: var(--bs-secondary);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  margin-bottom: 0.5rem;
}
.source-data-pro .translation-context-detailed .translation-comparison .original-content .content-text,
.source-data-pro .translation-context-detailed .translation-comparison .translated-content .content-text {
  background: white;
  padding: 0.75rem;
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color);
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--bs-dark);
}
.source-data-pro .translation-context-detailed .translation-comparison .translated-content .content-label {
  color: var(--bs-success);
}
.source-data-pro .translation-context-detailed .translation-comparison .translated-content .content-text {
  border-left: 3px solid var(--bs-success);
}
.source-data-pro .narrative-section .narrative-title {
  color: var(--bs-dark);
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--bs-border-color);
}
.source-data-pro .narrative-section .narrative-display {
  background: #f8f9fa;
  padding: 1.25rem;
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color);
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--bs-dark);
  max-height: 500px;
  overflow-y: auto;
}
.source-data-pro .narrative-section .narrative-display pre {
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
}

.empty-state-pro {
  text-align: center;
  padding: 3rem 2rem;
  color: var(--bs-secondary);
}
.empty-state-pro .empty-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.empty-state-pro .empty-title {
  color: var(--bs-secondary);
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.empty-state-pro .empty-message {
  color: var(--bs-secondary);
  opacity: 0.8;
  max-width: 400px;
  margin: 0 auto;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .clinical-metrics-pro {
    flex-direction: column;
    gap: 0.5rem;
  }
  .clinical-metrics-pro .metric-item {
    width: 100%;
  }
  .clinical-nav-pills .clinical-tab-pro {
    padding: 0.75rem 1rem;
  }
  .clinical-nav-pills .clinical-tab-pro .tab-label {
    font-size: 0.8rem;
  }
  .clinical-nav-pills .clinical-tab-pro .tab-sublabel {
    font-size: 0.7rem;
  }
  .clinical-details-grid {
    grid-template-columns: 1fr;
  }
  .systems-grid {
    grid-template-columns: 1fr !important;
  }
  .translation-comparison {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }
}
@media (prefers-contrast: high) {
  .enhanced-clinical-section-pro .clinical-section-card-pro {
    border-width: 2px;
  }
  .enhanced-clinical-section-pro .entry-card {
    border-width: 2px !important;
  }
  .enhanced-clinical-section-pro .code-badge,
  .enhanced-clinical-section-pro .system-card {
    border-width: 2px !important;
  }
}
.clinical-section-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1.25rem 1.5rem;
  text-decoration: none;
}
.clinical-section-header:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  border-color: var(--bs-primary);
}
.clinical-section-header .section-title-area .section-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--bs-dark);
  margin-bottom: 0;
}
.clinical-section-header .section-title-area .translation-context {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: var(--bs-secondary);
}
.clinical-section-header .section-title-area .translation-context i {
  color: var(--bs-info);
}
.clinical-section-header .section-controls-area {
  gap: 1rem;
}

.clinical-metrics-compact {
  display: flex;
  gap: 0.75rem;
}
.clinical-metrics-compact .metric-badge {
  background: var(--bs-light);
  color: var(--bs-dark);
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid var(--bs-border-color);
}
.clinical-metrics-compact .metric-badge i {
  color: var(--bs-primary);
}
.clinical-metrics-compact .metric-badge.coded {
  background: var(--bs-success-bg);
  color: var(--bs-success-text);
  border-color: var(--bs-success-border);
}
.clinical-metrics-compact .metric-badge.coded i {
  color: var(--bs-success);
}

.content-toggles .btn-group-sm .btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 0.375rem;
}
.content-toggles .btn-group-sm .btn i {
  font-size: 0.7rem;
}
.content-toggles .btn-group-sm .btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.content-toggles .btn-group-sm .btn-outline-primary:hover, .content-toggles .btn-group-sm .btn-outline-primary:focus, .content-toggles .btn-group-sm .btn-outline-primary.active, .content-toggles .btn-group-sm .btn-outline-primary:checked + .content-toggles .btn-group-sm .btn-outline-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: white;
}
.content-toggles .btn-group-sm .btn-outline-secondary {
  color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}
.content-toggles .btn-group-sm .btn-outline-secondary:hover, .content-toggles .btn-group-sm .btn-outline-secondary:focus, .content-toggles .btn-group-sm .btn-outline-secondary.active, .content-toggles .btn-group-sm .btn-outline-secondary:checked + .content-toggles .btn-group-sm .btn-outline-secondary {
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  color: white;
}

.clinical-accordion-content {
  padding: 1.5rem;
}

.content-display-container .translated-content,
.content-display-container .original-content {
  transition: opacity 0.3s ease;
}
.content-display-container .original-narrative-display .original-header {
  border-bottom: 1px solid var(--bs-border-color);
  padding-bottom: 0.75rem;
}
.content-display-container .original-narrative-display .original-header .original-title {
  color: var(--bs-dark);
  font-weight: 600;
  margin-bottom: 0;
}
.content-display-container .original-narrative-display .original-header .original-title i {
  color: var(--bs-secondary);
}
.content-display-container .original-narrative-display .original-text {
  padding: 1rem;
  background: var(--bs-light);
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color);
  font-family: "Courier New", monospace;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--bs-dark);
  white-space: pre-wrap;
}

.entry-card-flat {
  background: var(--bs-light);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  padding: 1.25rem;
  margin-bottom: 1rem;
  transition: box-shadow 0.3s ease;
}
.entry-card-flat:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

@media print {
  .enhanced-clinical-section-pro .clinical-tabs-pro {
    display: none;
  }
  .enhanced-clinical-section-pro .tab-content .tab-pane {
    display: block !important;
    opacity: 1 !important;
  }
  .enhanced-clinical-section-pro .clinical-section-card-pro {
    box-shadow: none;
    border: 1px solid #000;
  }
  .content-toggles {
    display: none !important;
  }
  .clinical-metrics-compact {
    display: none !important;
  }
}
.medication-card-mobile {
  background: rgba(var(--hse-primary-rgb), 0.02);
  border: 1px solid rgba(var(--hse-primary-rgb), 0.15);
  border-radius: 0.75rem;
  padding: 1rem;
  margin-bottom: 1rem;
  transition: all 0.3s ease;
}
.medication-card-mobile:hover {
  background: rgba(var(--hse-primary-rgb), 0.05);
  border-color: rgba(var(--hse-primary-rgb), 0.25);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.medication-header-mobile {
  border-bottom: 1px solid rgba(var(--hse-primary-rgb), 0.15);
  padding-bottom: 0.75rem;
}
.medication-header-mobile .medication-name-mobile {
  color: var(--hse-dark);
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1.3;
}
.medication-header-mobile i.fa-pills {
  font-size: 1.2rem;
  color: var(--hse-primary);
}

.clinical-detail-mobile {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.25rem 0;
}
.clinical-detail-mobile i {
  font-size: 0.9rem;
  margin-top: 0.1rem;
  min-width: 1rem;
}
.clinical-detail-mobile .detail-label-mobile {
  color: var(--hse-secondary);
  font-weight: 500;
  font-size: 0.85rem;
  min-width: fit-content;
  white-space: nowrap;
}
.clinical-detail-mobile .detail-value-mobile {
  color: var(--hse-dark);
  font-weight: 400;
  font-size: 0.9rem;
  line-height: 1.4;
  word-break: break-word;
}

.ingredients-mobile {
  background: rgba(var(--hse-success-rgb), 0.05);
  border: 1px solid rgba(var(--hse-success-rgb), 0.2);
  border-radius: 0.5rem;
  padding: 0.75rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.ingredients-mobile i.fa-flask {
  font-size: 0.9rem;
  color: var(--hse-success);
  margin-top: 0.1rem;
  min-width: 1rem;
}
.ingredients-mobile .detail-label-mobile {
  color: var(--hse-success);
  font-weight: 600;
  font-size: 0.85rem;
  min-width: fit-content;
  white-space: nowrap;
}
.ingredients-mobile .detail-value-mobile {
  flex: 1;
}
.ingredients-mobile .ingredient-tag {
  display: inline-block;
  background: rgba(var(--hse-success-rgb), 0.15);
  color: var(--hse-success);
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.8rem;
  font-weight: 500;
  margin-right: 0.5rem;
  margin-bottom: 0.25rem;
  border: 1px solid rgba(var(--hse-success-rgb), 0.3);
}
.ingredients-mobile .ingredient-tag:last-child {
  margin-right: 0;
}

@media (max-width: 767.98px) {
  .medication-card-mobile {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    border-radius: 0.5rem;
  }
  .clinical-detail-mobile .detail-label-mobile {
    font-size: 0.8rem;
  }
  .clinical-detail-mobile .detail-value-mobile {
    font-size: 0.85rem;
  }
  .medication-header-mobile .medication-name-mobile {
    font-size: 1rem;
  }
  .medication-header-mobile i.fa-pills {
    font-size: 1.1rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .medication-card-mobile {
    padding: 1.25rem;
  }
  .clinical-detail-mobile .detail-label-mobile {
    font-size: 0.9rem;
  }
  .clinical-detail-mobile .detail-value-mobile {
    font-size: 0.95rem;
  }
}
.clinical-detail-mobile i.fa-balance-scale {
  color: var(--hse-info);
}
.clinical-detail-mobile i.fa-syringe {
  color: var(--hse-success);
}
.clinical-detail-mobile i.fa-clock {
  color: var(--hse-warning);
}
.clinical-detail-mobile i.fa-capsules {
  color: var(--hse-secondary);
}

:root {
  --hover-overlay-light: rgba(0, 0, 0, 0.04);
  --pressed-overlay-light: rgba(0, 0, 0, 0.08);
  --focus-overlay-light: rgba(0, 95, 95, 0.12);
  --hover-overlay-dark: rgba(255, 255, 255, 0.08);
  --pressed-overlay-dark: rgba(255, 255, 255, 0.16);
  --focus-overlay-dark: rgba(0, 95, 95, 0.20);
  --ease-out-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-focus: cubic-bezier(0.23, 1, 0.320, 1);
}

.clinical-section-header-optimized {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: transparent;
  border: none;
  padding: 1rem;
}
.clinical-section-header-optimized .section-title-area {
  display: flex;
  align-items: center;
  flex-grow: 1;
}
.clinical-section-header-optimized .section-title-area .section-icon {
  margin-right: 0.5rem;
  font-size: 1.2rem;
}
.clinical-section-header-optimized .section-title-area .section-title {
  font-weight: 600;
  color: #2d3748;
}
.clinical-section-header-optimized .section-title-area .section-badge {
  margin-left: 0.5rem;
}
.clinical-section-header-optimized .header-tab-controls {
  display: flex;
  gap: 0.25rem;
  margin: 0 1rem;
}
.clinical-section-header-optimized .header-tab-controls .header-tab-button {
  background: #f7fafc;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #6c757d;
  cursor: pointer;
  position: relative;
  transition: background-image 0.3s ease, color 0.3s ease;
}
.clinical-section-header-optimized .header-tab-controls .header-tab-button:hover:not(.active) {
  background-image: linear-gradient(var(--hover-overlay-light), var(--hover-overlay-light));
  color: #2d3748;
}
.clinical-section-header-optimized .header-tab-controls .header-tab-button:active:not(.active) {
  background-image: linear-gradient(var(--pressed-overlay-light), var(--pressed-overlay-light));
}
.clinical-section-header-optimized .header-tab-controls .header-tab-button.active {
  background: #085a9f;
  color: #ffffff;
  border-color: #085a9f;
}
.clinical-section-header-optimized .header-tab-controls .header-tab-button .tab-icon {
  margin-right: 0.25rem;
  font-size: 0.9em;
}
.clinical-section-header-optimized .section-controls-area {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.clinical-section-header-optimized .section-controls-area .clinical-metrics-compact {
  display: flex;
  gap: 0.25rem;
}
.clinical-section-header-optimized .section-controls-area .clinical-metrics-compact .metric-badge {
  background: #80bebf;
  color: rgb(5.5568862275, 62.5149700599, 110.4431137725);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.clinical-section-header-optimized .section-controls-area .clinical-metrics-compact .metric-badge.coded {
  background: #dcfce7;
  color: #16a34a;
}

.clinical-accordion-content-optimized {
  padding: 0;
  background: #ffffff;
}
.clinical-accordion-content-optimized .clinical-content-direct {
  padding: 1rem;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-tab-content {
  display: none;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-tab-content.active {
  display: block;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-table-optimized {
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  overflow: hidden;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-table-optimized .table {
  margin-bottom: 0;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-table-optimized .table th {
  background: #80bebf;
  color: #2d3748;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-bottom: 2px solid #e2e8f0;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-table-optimized .table td {
  padding: 0.5rem 1rem;
  vertical-align: top;
  border-bottom: 1px solid #e2e8f0;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-table-optimized .table tbody tr {
  transition: background-color 0.1s var(--ease-out-hover);
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-table-optimized .table tbody tr:hover {
  background: rgba(0, 95, 95, 0.02);
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-table-optimized .table.medical-data-table tbody tr:hover {
  background: transparent;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-cards-container-optimized .clinical-card {
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  margin-bottom: 0.5rem;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-cards-container-optimized .clinical-card .card-body {
  padding: 1rem;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-cards-container-optimized .clinical-card .clinical-field {
  margin-bottom: 0.5rem;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-cards-container-optimized .clinical-card .clinical-field .field-label {
  color: #6c757d;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.clinical-accordion-content-optimized .clinical-content-direct .clinical-cards-container-optimized .clinical-card .clinical-field .field-value {
  color: #2d3748;
}

.medical-terminology-optimized {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.25rem;
}
.medical-terminology-optimized .terminology-badge {
  background: #fef3c7;
  color: #d97706;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.data-volume-indicator-optimized {
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
}
.data-volume-indicator-optimized .data-metrics {
  color: #6c757d;
  font-size: 0.875rem;
}
.data-volume-indicator-optimized .data-metrics .metric-icon {
  color: #085a9f;
  margin-right: 0.25rem;
}

@media (max-width: 768px) {
  .clinical-section-header-optimized {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .clinical-section-header-optimized .header-tab-controls {
    margin: 0;
    justify-content: center;
  }
  .clinical-section-header-optimized .section-controls-area {
    justify-content: center;
  }
}
@media (prefers-color-scheme: dark) {
  .clinical-section-header-optimized .header-tab-button {
    background: #2d3748;
    color: #718096;
  }
  .clinical-section-header-optimized .header-tab-button:hover {
    background: #4a5568;
  }
  .clinical-section-header-optimized .header-tab-button.active {
    background: #085a9f;
    color: #ffffff;
  }
}
.medication-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.medication-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  border-color: #085a9f;
}
.medication-card .medication-header .medication-name-section .medication-name {
  color: #085a9f;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.medication-card .medication-header .medication-name-section .medication-name i {
  color: #22c55e;
}
.medication-card .medication-header .medication-name-section .medication-class {
  font-size: 0.875rem;
  color: #6c757d;
}
.medication-card .medication-header .medication-name-section .medication-class .fa-barcode {
  color: #1e3a5f;
}
.medication-card .medication-header .medication-status .badge {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}
.medication-card .medication-header .medication-status .badge i {
  margin-right: 0.25rem;
}
.medication-card .medication-field .field-header {
  margin-bottom: 0.5rem;
}
.medication-card .medication-field .field-header i {
  font-size: 1.1rem;
}
.medication-card .medication-field .field-header strong {
  color: #2d3748;
  font-size: 0.875rem;
  font-weight: 600;
}
.medication-card .medication-field .field-content {
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
  padding: 0.5rem;
  min-height: 2.5rem;
  display: flex;
  align-items: center;
}
.medication-card .medication-field .field-content .dose-amount {
  font-size: 1.1rem;
  color: #085a9f;
}
.medication-card .medication-field .field-content .route-name {
  color: #2d3748;
  font-weight: 500;
}
.medication-card .medication-field .field-content .time-range .start-date, .medication-card .medication-field .field-content .time-range .end-date {
  display: block;
  margin-bottom: 0.25rem;
}
.medication-card .medication-field .field-content .time-range .start-date i, .medication-card .medication-field .field-content .time-range .end-date i {
  margin-right: 0.25rem;
}
.medication-card .medication-field .field-content .time-range .ongoing-treatment {
  color: #22c55e;
  font-style: italic;
}
.medication-card .medication-field .field-content .time-range .ongoing-treatment i {
  color: #22c55e;
}
.medication-card .medication-field .field-content em {
  color: #6c757d;
  font-style: italic;
}
.medication-card .medication-reason {
  border-top: 1px solid #e2e8f0;
}
.medication-card .medication-reason .field-content {
  background: #f7fafc;
  border-color: #e2e8f0;
}
.medication-card .medication-reason .field-content .medical-context {
  border-top: 1px solid #e2e8f0;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
}
.medication-card .medication-reason .field-content .medical-context small {
  color: #6c757d;
}
.medication-card .medication-reason .field-content .medical-context small i {
  color: #1e3a5f;
}

@media (max-width: 992px) {
  .medication-card .medication-details .row .col-lg-6 {
    margin-bottom: 1rem;
  }
  .medication-card .medication-header .d-flex {
    flex-direction: column;
    align-items: stretch;
  }
  .medication-card .medication-header .d-flex .medication-name-section {
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
  .medication-card .medication-header .d-flex .medication-status {
    align-self: flex-start;
  }
}
@media (max-width: 768px) {
  .medication-card {
    padding: 1rem;
  }
  .medication-card .medication-header {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .medication-card .medication-header .medication-name {
    font-size: 1.1rem;
  }
  .medication-card .medication-field {
    margin-bottom: 0.5rem;
  }
  .medication-card .medication-field .field-header {
    margin-bottom: 0.25rem;
  }
  .medication-card .medication-field .field-header strong {
    font-size: 0.75rem;
  }
  .medication-card .medication-field .field-content {
    padding: 0.25rem;
    font-size: 0.875rem;
  }
  .medication-card .medication-reason {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
}
.strength-badge {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.strength-badge.insulin-strength {
  background-color: #1e3a5f;
  color: #ffffff;
}
.strength-badge.standard-strength {
  background-color: #22c55e;
  color: #ffffff;
}
.strength-badge:not(.insulin-strength):not(.standard-strength) {
  background-color: #718096;
  color: #2d3748;
}

.brand-name {
  color: #005f5f;
  font-weight: 700;
}

.generic-name {
  color: #2d3748;
  font-weight: 400;
}

.active-ingredient {
  line-height: 1.4;
}
.active-ingredient .strength-badge {
  margin-left: 0.25rem;
}

.dose-form {
  color: #2d5a27;
  text-transform: capitalize;
}

.dose-amount {
  font-size: 1.1rem;
  letter-spacing: 0.5px;
}

.route-name {
  color: #dc2626;
  text-transform: capitalize;
}

.medication-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  transition: all 0.2s ease;
}
.medication-card:hover {
  border-color: #1e3a5f;
  box-shadow: 0 4px 12px rgba(0, 95, 95, 0.1);
}
.medication-card .medication-header {
  background: linear-gradient(135deg, #f7fafc 0%, #ffffff 100%);
  margin: -1rem -1rem 1rem -1rem;
  padding: 1rem;
  border-radius: 0.375rem 0.375rem 0 0;
}
.medication-card .medication-header .medication-name {
  margin: 0;
  color: #005f5f;
}
.medication-card .medication-header .medication-class {
  font-size: 0.8rem;
  color: #2d3748;
}
.medication-card .medication-field .field-header {
  margin-bottom: 0.5rem;
}
.medication-card .medication-field .field-header strong {
  font-size: 0.9rem;
  color: #2d3748;
}
.medication-card .medication-field .field-header i {
  font-size: 1rem;
}
.medication-card .medication-field .field-content {
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
  padding: 0.5rem;
  min-height: 2.5rem;
  display: flex;
  align-items: center;
}
.medication-card .medication-field .field-content em {
  color: #718096;
  font-style: italic;
}

@media (max-width: 1199px) {
  .medication-card .col-xl-6 {
    margin-bottom: 1rem;
  }
}
@media (max-width: 767px) {
  .medication-card .medication-field {
    margin-bottom: 0.5rem !important;
  }
  .medication-card .medication-field .field-header {
    margin-bottom: 0.25rem;
  }
  .medication-card .medication-field .field-header strong {
    font-size: 0.85rem;
  }
  .medication-card .medication-field .field-content {
    padding: 0.25rem 0.5rem;
    min-height: 2rem;
  }
}
.medical-problems-table-container {
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.medical-problems-table-container .medical-problems-table {
  margin-bottom: 0;
}
.medical-problems-table-container .medical-problems-table thead {
  background: linear-gradient(135deg, #085a9f, rgb(5.5568862275, 62.5149700599, 110.4431137725));
}
.medical-problems-table-container .medical-problems-table thead th {
  border: none;
  color: white;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 1rem;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
.medical-problems-table-container .medical-problems-table thead th i {
  opacity: 0.9;
  font-size: 0.85rem;
}
.medical-problems-table-container .medical-problems-table thead th:first-child {
  border-top-left-radius: 0.375rem;
}
.medical-problems-table-container .medical-problems-table thead th:last-child {
  border-top-right-radius: 0.375rem;
}
.medical-problems-table-container .medical-problems-table tbody tr {
  border-bottom: 1px solid #e2e8f0;
  transition: background-color 0.2s ease;
}
.medical-problems-table-container .medical-problems-table tbody tr:hover {
  background-color: #f7fafc;
}
.medical-problems-table-container .medical-problems-table tbody tr:hover .status-badge i,
.medical-problems-table-container .medical-problems-table tbody tr:hover .status-badge .fa-solid,
.medical-problems-table-container .medical-problems-table tbody tr:hover .status-badge .fa-regular,
.medical-problems-table-container .medical-problems-table tbody tr:hover .status-badge .fa-light,
.medical-problems-table-container .medical-problems-table tbody tr:hover .status-badge .fa-brands {
  color: white !important;
}
.medical-problems-table-container .medical-problems-table tbody tr:last-child {
  border-bottom: none;
}
.medical-problems-table-container .medical-problems-table tbody tr td {
  padding: 1rem;
  vertical-align: top;
  border: none;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-name-cell {
  min-width: 200px;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-name-cell .problem-title {
  font-size: 1rem;
  line-height: 1.3;
  margin-bottom: 0.25rem;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-name-cell .problem-code {
  font-size: 0.8rem;
  color: #6c757d;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-name-cell .problem-code i {
  opacity: 0.7;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-type-cell {
  min-width: 140px;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-type-cell .badge {
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-type-cell .small {
  font-size: 0.8rem;
  margin-top: 2px;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-time-cell {
  min-width: 120px;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-time-cell .time-info {
  font-size: 0.9rem;
  font-weight: 600;
  color: #085a9f;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-time-cell .end-time {
  font-size: 0.8rem;
  color: #6c757d;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-status-cell {
  min-width: 100px;
  text-align: center;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-status-cell .status-badge {
  font-size: 0.8rem;
  font-weight: 500;
  padding: 0.4rem 0.8rem;
  border-radius: 9999px;
  white-space: nowrap;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-status-cell .status-badge i {
  font-size: 0.75rem;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-severity-cell {
  min-width: 100px;
  text-align: center;
}
.medical-problems-table-container .medical-problems-table tbody tr td.problem-severity-cell .severity-badge {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media (max-width: 1199px) {
  .medical-problems-table-container .medical-problems-table {
    font-size: 0.9rem;
  }
  .medical-problems-table-container .medical-problems-table thead th {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
  }
  .medical-problems-table-container .medical-problems-table tbody td {
    padding: 0.5rem 1rem;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-name-cell .problem-title {
    font-size: 0.95rem;
  }
}
@media (max-width: 767px) {
  .medical-problems-table-container .table-responsive {
    border-radius: 0.375rem;
  }
  .medical-problems-table-container .medical-problems-table {
    font-size: 0.8rem;
  }
  .medical-problems-table-container .medical-problems-table thead th {
    padding: 0.5rem;
    font-size: 0.8rem;
  }
  .medical-problems-table-container .medical-problems-table thead th i {
    display: none;
  }
  .medical-problems-table-container .medical-problems-table tbody td {
    padding: 0.5rem;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-name-cell {
    min-width: 150px;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-name-cell .problem-title {
    font-size: 0.9rem;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-name-cell .problem-code {
    font-size: 0.75rem;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-type-cell {
    min-width: 100px;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-type-cell .badge {
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-status-cell .status-badge {
    font-size: 0.7rem;
    padding: 0.3rem 0.6rem;
  }
  .medical-problems-table-container .medical-problems-table tbody td.problem-severity-cell .severity-badge {
    font-size: 0.8rem;
  }
}
.medical-problems-table .badge.bg-success {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  color: white !important;
}
.medical-problems-table .badge.bg-info {
  background: linear-gradient(135deg, #005f5f, #004a4a) !important;
  color: white !important;
}
.medical-problems-table .badge.bg-warning {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
}
.medical-problems-table .badge.bg-danger {
  background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
  color: white !important;
}
.medical-problems-table .badge.bg-secondary {
  background: linear-gradient(135deg, #2d5a27, #4a7c59) !important;
  color: white !important;
}
.medical-problems-table .status-badge {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.medical-problems-table .status-badge i,
.medical-problems-table .status-badge .fa-solid,
.medical-problems-table .status-badge .fa-regular,
.medical-problems-table .status-badge .fa-light,
.medical-problems-table .status-badge .fa-brands {
  color: white !important;
}
.medical-problems-table .status-badge i:hover,
.medical-problems-table .status-badge .fa-solid:hover,
.medical-problems-table .status-badge .fa-regular:hover,
.medical-problems-table .status-badge .fa-light:hover,
.medical-problems-table .status-badge .fa-brands:hover {
  color: white !important;
  transform: none !important;
  transition: none !important;
}
.medical-problems-table .status-badge:hover i,
.medical-problems-table .status-badge:hover .fa-solid,
.medical-problems-table .status-badge:hover .fa-regular,
.medical-problems-table .status-badge:hover .fa-light,
.medical-problems-table .status-badge:hover .fa-brands {
  color: white !important;
}
.medical-problems-table .severity-badge.text-danger {
  color: #dc2626 !important;
  text-shadow: 0 1px 2px rgba(220, 38, 38, 0.3);
}
.medical-problems-table .severity-badge.text-warning {
  color: #d97706 !important;
  text-shadow: 0 1px 2px rgba(245, 158, 11, 0.3);
}
.medical-problems-table .severity-badge.text-success {
  color: #16a34a !important;
  text-shadow: 0 1px 2px rgba(34, 197, 94, 0.3);
}

.problem-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.problem-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  border-color: #dc2626;
}
.problem-card .problem-header .problem-name-section .problem-name {
  color: #dc2626;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.problem-card .problem-header .problem-name-section .problem-name i {
  color: #f59e0b;
}
.problem-card .problem-header .problem-name-section .problem-code {
  font-size: 0.875rem;
  color: #6c757d;
}
.problem-card .problem-header .problem-name-section .problem-code .fa-barcode {
  color: #1e3a5f;
}
.problem-card .problem-header .problem-status-section .badge {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}
.problem-card .problem-header .problem-status-section .badge i {
  margin-right: 0.25rem;
}
.problem-card .problem-field .field-header {
  margin-bottom: 0.5rem;
}
.problem-card .problem-field .field-header i {
  font-size: 1.1rem;
}
.problem-card .problem-field .field-header strong {
  color: #2d3748;
  font-size: 0.875rem;
  font-weight: 600;
}
.problem-card .problem-field .field-content {
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
  padding: 0.5rem;
  min-height: 2.5rem;
  display: flex;
  align-items: center;
}
.problem-card .problem-field .field-content .onset-date {
  font-size: 1.1rem;
  color: #085a9f;
}
.problem-card .problem-field .field-content .severity {
  color: #2d3748;
  font-weight: 500;
}
.problem-card .problem-field .field-content .provider {
  color: #2d3748;
  font-weight: 500;
}
.problem-card .problem-field .field-content .notes {
  color: #2d3748;
  font-style: italic;
}
.problem-card .problem-status-badge.bg-danger {
  background-color: #dc2626 !important;
  color: #ffffff;
}
.problem-card .problem-status-badge.bg-success {
  background-color: #22c55e !important;
  color: #ffffff;
}
.problem-card .problem-status-badge.bg-secondary {
  background-color: #4a5568 !important;
  color: #ffffff;
}
.problem-card .problem-status-badge.bg-warning {
  background-color: #f59e0b !important;
  color: #2d3748;
}

@media (max-width: 992px) {
  .problem-card .problem-details .row .col-lg-6 {
    margin-bottom: 1rem;
  }
  .problem-card .problem-header .d-flex {
    flex-direction: column;
    align-items: stretch;
  }
  .problem-card .problem-header .d-flex .problem-name-section {
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
  .problem-card .problem-header .d-flex .problem-status-section {
    align-self: flex-start;
  }
}
@media (max-width: 768px) {
  .problem-card {
    padding: 1rem;
  }
  .problem-card .problem-header {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .problem-card .problem-header .problem-name {
    font-size: 1.1rem;
  }
  .problem-card .problem-field {
    margin-bottom: 0.5rem;
  }
  .problem-card .problem-field .field-header {
    margin-bottom: 0.25rem;
  }
  .problem-card .problem-field .field-header strong {
    font-size: 0.75rem;
  }
  .problem-card .problem-field .field-content {
    padding: 0.25rem;
    font-size: 0.875rem;
  }
}
@media (max-width: 576px) {
  .problem-card .col-xl-6 {
    margin-bottom: 1rem;
  }
}
@media (max-width: 767px) {
  .problem-card .problem-field {
    margin-bottom: 0.5rem !important;
  }
  .problem-card .problem-field .field-header {
    margin-bottom: 0.25rem;
  }
  .problem-card .problem-field .field-header strong {
    font-size: 0.85rem;
  }
  .problem-card .problem-field .field-content {
    padding: 0.25rem 0.5rem;
    min-height: 2rem;
  }
}
.pregnancy-tabs-container {
  margin-top: 1rem;
  --current-pregnancy-color: #10b981;
  --current-pregnancy-light: #d1fae5;
  --previous-history-color: #3b82f6;
  --previous-history-light: #dbeafe;
  --overview-summary-color: #8b5cf6;
  --overview-summary-light: #ede9fe;
}
.pregnancy-tabs-container .pregnancy-tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .pregnancy-tabs-container .pregnancy-tab-nav {
    flex-wrap: nowrap;
    gap: 0.5rem;
  }
}
.pregnancy-tabs-container .pregnancy-tab-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: transparent;
  border: none;
  border-radius: 6px 6px 0 0;
  color: #718096;
  font-weight: 500;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
  min-height: 48px;
  flex: 1 1 auto;
  min-width: 0;
}
@media (min-width: 768px) {
  .pregnancy-tabs-container .pregnancy-tab-btn {
    flex: 0 0 auto;
    font-size: 1rem;
    padding: 1rem 1.5rem;
  }
}
.pregnancy-tabs-container .pregnancy-tab-btn .tab-text {
  display: none;
}
@media (min-width: 576px) {
  .pregnancy-tabs-container .pregnancy-tab-btn .tab-text {
    display: inline;
  }
}
.pregnancy-tabs-container .pregnancy-tab-btn .tab-badge {
  border-radius: 20px;
  padding: 2px 6px;
  font-size: 0.75rem;
  font-weight: 700;
  min-width: 20px;
  text-align: center;
  background: #33969a;
  color: #005f5f;
}
.pregnancy-tabs-container .pregnancy-tab-btn .tab-indicator {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  border-radius: 2px;
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=current-pregnancy] .tab-badge {
  background: var(--current-pregnancy-light);
  color: var(--current-pregnancy-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=current-pregnancy] .tab-indicator {
  background: var(--current-pregnancy-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=current-pregnancy]:hover {
  background: var(--current-pregnancy-light);
  color: var(--current-pregnancy-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=current-pregnancy]:hover .tab-indicator {
  width: 80%;
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=current-pregnancy].active {
  background: #ffffff;
  color: var(--current-pregnancy-color);
  border-bottom: 3px solid var(--current-pregnancy-color);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=current-pregnancy].active .tab-indicator {
  width: 100%;
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=previous-pregnancies] .tab-badge {
  background: var(--previous-history-light);
  color: var(--previous-history-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=previous-pregnancies] .tab-indicator {
  background: var(--previous-history-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=previous-pregnancies]:hover {
  background: var(--previous-history-light);
  color: var(--previous-history-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=previous-pregnancies]:hover .tab-indicator {
  width: 80%;
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=previous-pregnancies].active {
  background: #ffffff;
  color: var(--previous-history-color);
  border-bottom: 3px solid var(--previous-history-color);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.15);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=previous-pregnancies].active .tab-indicator {
  width: 100%;
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=pregnancy-overview] .tab-badge {
  background: var(--overview-summary-light);
  color: var(--overview-summary-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=pregnancy-overview] .tab-indicator {
  background: var(--overview-summary-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=pregnancy-overview]:hover {
  background: var(--overview-summary-light);
  color: var(--overview-summary-color);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=pregnancy-overview]:hover .tab-indicator {
  width: 80%;
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=pregnancy-overview].active {
  background: #ffffff;
  color: var(--overview-summary-color);
  border-bottom: 3px solid var(--overview-summary-color);
  box-shadow: 0 2px 8px rgba(139, 92, 246, 0.15);
}
.pregnancy-tabs-container .pregnancy-tab-btn[data-tab=pregnancy-overview].active .tab-indicator {
  width: 100%;
}
.pregnancy-tabs-container .pregnancy-tab-btn:not([data-tab]):hover {
  background: rgba(0, 0, 0, 0.04);
  color: #2d3748;
}
.pregnancy-tabs-container .pregnancy-tab-btn:not([data-tab]):hover .tab-indicator {
  width: 80%;
  background: #085a9f;
}
.pregnancy-tabs-container .pregnancy-tab-btn:not([data-tab]).active {
  background: #ffffff;
  color: #085a9f;
  border-bottom: 3px solid #085a9f;
}
.pregnancy-tabs-container .pregnancy-tab-btn:focus {
  outline: 2px solid #085a9f;
  outline-offset: 2px;
}
.pregnancy-tabs-container .pregnancy-tab-content .pregnancy-tab-pane {
  display: none;
  animation: fadeIn 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.pregnancy-tabs-container .pregnancy-tab-content .pregnancy-tab-pane.active {
  display: block;
}

.current-pregnancy-card {
  background: linear-gradient(135deg, #dcfce7, #ffffff);
  border: 2px solid #4ade80;
  border-radius: 12px;
  padding: 1.5rem;
}
.current-pregnancy-card .pregnancy-status-header {
  margin-bottom: 1rem;
}
.current-pregnancy-card .pregnancy-status-header .pregnancy-card-title {
  color: #16a34a;
  font-weight: 700;
  margin: 0;
}
.current-pregnancy-card .pregnancy-info-card {
  background: #ffffff;
  border: 1px solid #4ade80;
  border-radius: 8px;
  padding: 1rem;
  height: 100%;
}
.current-pregnancy-card .pregnancy-info-card .info-label {
  font-size: 0.875rem;
  color: #718096;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.current-pregnancy-card .pregnancy-info-card .info-value {
  font-size: 1rem;
  color: #2d3748;
  font-weight: 600;
}
.current-pregnancy-card .pregnancy-info-card .info-value .status-badge.pregnant {
  background: #22c55e;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.875rem;
}
.current-pregnancy-card .pregnancy-info-card .info-value .code-reference {
  display: block;
  margin-top: 0.25rem;
  color: #718096;
  font-weight: 400;
}
.current-pregnancy-card .pregnancy-info-card .info-value .delivery-date {
  color: #005f5f;
  font-weight: 700;
}

.previous-pregnancies-container .pregnancy-status-header {
  margin-bottom: 1rem;
}
.previous-pregnancies-container .pregnancy-status-header .pregnancy-card-title {
  color: #005f5f;
  font-weight: 700;
  margin: 0;
}
.previous-pregnancies-container .pregnancy-status-header .pregnancy-subtitle {
  color: #718096;
  font-size: 0.875rem;
  margin: 0.25rem 0 0 0;
}
.previous-pregnancies-container .pregnancy-history-table {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.previous-pregnancies-container .pregnancy-history-table th {
  background: #f7fafc;
  color: #2d3748;
  font-weight: 700;
  border: none;
  font-size: 0.875rem;
}
.previous-pregnancies-container .pregnancy-history-table td {
  border: none;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-cell .outcome-badge {
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 500;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-cell .outcome-badge.livebirth {
  background: #4ade80;
  color: #16a34a;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-cell .outcome-badge.termination {
  background: #fcd34d;
  color: #d97706;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-cell .outcome-badge.stillbirth {
  background: #f87171;
  color: #b91c1c;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-cell .outcome-badge.miscarriage {
  background: #fef3c7;
  color: #d97706;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-cell .outcome-badge.other {
  background: #33969a;
  color: #005f5f;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-cell .outcome-code {
  margin-top: 0.25rem;
  font-size: 0.75rem;
}
.previous-pregnancies-container .pregnancy-history-table .pregnancy-number {
  background: rgba(8, 90, 159, 0.1);
  color: rgb(5.5568862275, 62.5149700599, 110.4431137725);
  padding: 0.25rem 0.5rem;
  border-radius: 20px;
  font-weight: 700;
  font-size: 0.875rem;
  min-width: 30px;
  text-align: center;
  display: inline-block;
}
.previous-pregnancies-container .pregnancy-history-table .outcome-dates .outcome-date {
  background: #e2e8f0;
  color: #2d3748;
  padding: 2px 0.25rem;
  border-radius: 3px;
  font-size: 0.75rem;
  margin-right: 0.25rem;
}

.pregnancy-overview-container .pregnancy-status-header {
  margin-bottom: 1.5rem;
}
.pregnancy-overview-container .pregnancy-status-header .pregnancy-card-title {
  color: rgb(5.5568862275, 62.5149700599, 110.4431137725);
  font-weight: 700;
  margin: 0;
}
.pregnancy-overview-container .pregnancy-status-header .pregnancy-subtitle {
  color: #718096;
  font-size: 0.875rem;
  margin: 0.25rem 0 0 0;
}
.pregnancy-overview-container .overview-cards-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .pregnancy-overview-container .overview-cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}
.pregnancy-overview-container .overview-card {
  background: #ffffff;
  border: 2px solid rgba(8, 90, 159, 0.1);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.pregnancy-overview-container .overview-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  border-color: #085a9f;
}
.pregnancy-overview-container .overview-card .overview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.pregnancy-overview-container .overview-card .overview-header .overview-title {
  color: rgb(5.5568862275, 62.5149700599, 110.4431137725);
  font-weight: 700;
  margin: 0;
  font-size: 1rem;
}
.pregnancy-overview-container .overview-card .overview-header .overview-code {
  background: #80bebf;
  color: rgb(5.5568862275, 62.5149700599, 110.4431137725);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-family: monospace;
}
.pregnancy-overview-container .overview-card .overview-content .overview-dates .dates-list {
  margin-top: 0.25rem;
}
.pregnancy-overview-container .overview-card .overview-content .overview-dates .dates-list .overview-date {
  display: inline-block;
  background: #e2e8f0;
  color: #2d3748;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.875rem;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}

.pregnancy-terminology .code-group {
  margin-bottom: 1rem;
}
.pregnancy-terminology .code-group .code-badge.pregnancy-code {
  background: #4ade80;
  color: #16a34a;
}
.pregnancy-terminology .code-group .code-badge.outcome-code {
  background: #33969a;
  color: #005f5f;
}
.pregnancy-terminology .code-group .code-badge.overview-code {
  background: rgba(8, 90, 159, 0.1);
  color: rgb(5.5568862275, 62.5149700599, 110.4431137725);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.clinical-section {
  margin-bottom: 1.5rem;
}
.clinical-section .clinical-section-header {
  border-radius: 0.375rem 0.375rem 0 0;
}
.clinical-section .clinical-section-header .clinical-section-badge .badge {
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
}
.clinical-section .clinical-section-content {
  border-radius: 0 0 0.375rem 0.375rem;
  min-height: 120px;
}
.clinical-section .empty-state {
  padding: 3rem 2rem;
}
.clinical-section .empty-state i {
  opacity: 0.5;
}

.clinical-cards .clinical-card {
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  transition: all 0.2s ease-in-out;
}
.clinical-cards .clinical-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.clinical-cards .clinical-card:last-child {
  margin-bottom: 0;
}

.clinical-section[data-section-type=medications] .medication-card-header .medication-name {
  font-size: 1.1rem;
  line-height: 1.3;
}
.clinical-section[data-section-type=medications] .medication-card-header .medication-code {
  font-size: 0.8rem;
  opacity: 0.8;
}
.clinical-section[data-section-type=medications] .medication-ingredient .badge {
  font-size: 0.85rem;
  padding: 0.4rem 0.8rem;
}
.clinical-section[data-section-type=medications] .medication-details-grid {
  background: #f8f9fa;
  border-radius: 0.375rem;
  padding: 1rem;
  margin-top: 1rem;
}
.clinical-section[data-section-type=medications] .medication-details-grid .detail-row:last-child {
  border-bottom: none !important;
}
.clinical-section[data-section-type=medications] .medication-details-grid .detail-row .detail-label {
  color: #6c757d;
  font-size: 0.9rem;
}
.clinical-section[data-section-type=medications] .medication-details-grid .detail-row .detail-value {
  font-size: 0.9rem;
  text-align: right;
}

.clinical-section[data-section-type=problems] .clinical-section-header {
  background-color: #ffc107 !important;
}
.clinical-section[data-section-type=problems] .table-warning th {
  background-color: rgba(255, 193, 7, 0.1);
}
.clinical-section[data-section-type=problems] .problem-name {
  color: #856404;
}

.clinical-section[data-section-type=allergies] .clinical-section-header {
  background-color: #dc3545 !important;
}
.clinical-section[data-section-type=allergies] .table-danger th {
  background-color: rgba(220, 53, 69, 0.1);
}
.clinical-section[data-section-type=allergies] .allergy-name {
  color: #721c24;
}

.clinical-section[data-section-type=procedures] .clinical-section-header {
  background-color: #17a2b8 !important;
}
.clinical-section[data-section-type=procedures] .table-info th {
  background-color: rgba(23, 162, 184, 0.1);
}
.clinical-section[data-section-type=procedures] .procedure-name {
  color: #0c5460;
}

.clinical-section[data-section-type=vital_signs] .clinical-section-header {
  background-color: #28a745 !important;
}
.clinical-section[data-section-type=vital_signs] .table-success th {
  background-color: rgba(40, 167, 69, 0.1);
}
.clinical-section[data-section-type=vital_signs] .vital-sign-name {
  color: #155724;
}

.clinical-section[data-section-type=results] .clinical-section-header {
  background-color: #6c757d !important;
}
.clinical-section[data-section-type=results] .table-secondary th {
  background-color: rgba(108, 117, 125, 0.1);
}
.clinical-section[data-section-type=results] .result-name {
  color: #383d41;
}

.clinical-section[data-section-type=immunizations] .clinical-section-header {
  background-color: #007bff !important;
}
.clinical-section[data-section-type=immunizations] .table-primary th {
  background-color: rgba(0, 123, 255, 0.1);
}
.clinical-section[data-section-type=immunizations] .immunization-name {
  color: #004085;
}

.clinical-data-table {
  font-size: 0.9rem;
}
.clinical-data-table th {
  font-weight: 600;
  border-bottom: 2px solid #dee2e6;
}
.clinical-data-table td {
  vertical-align: middle;
  padding: 0.75rem;
}
.clinical-data-table .badge {
  font-size: 0.8rem;
  padding: 0.35rem 0.65rem;
}

@media (max-width: 576px) {
  .clinical-section {
    margin-bottom: 1rem;
  }
  .clinical-section .clinical-section-header {
    padding: 1rem !important;
  }
  .clinical-section .clinical-section-header h5 {
    font-size: 1rem;
  }
  .clinical-section .clinical-section-header .clinical-section-badge .badge {
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
  }
  .clinical-cards {
    padding: 1rem !important;
  }
  .clinical-cards .clinical-card {
    padding: 1rem !important;
    margin-bottom: 0.75rem !important;
  }
  .empty-state {
    padding: 2rem 1rem !important;
  }
  .empty-state i {
    font-size: 2rem !important;
  }
  .empty-state h6 {
    font-size: 1rem;
  }
  .empty-state p {
    font-size: 0.9rem;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .clinical-section .clinical-section-header {
    padding: 1.5rem;
  }
  .clinical-cards {
    padding: 1.5rem;
  }
}
@media (min-width: 992px) {
  .clinical-data-table {
    font-size: 1rem;
  }
  .clinical-section {
    margin-bottom: 2rem;
  }
}
.clinical-section {
  --hse-primary: #007bff;
  --hse-primary-light: rgba(0, 123, 255, 0.1);
  --hse-success: #28a745;
  --hse-info: #17a2b8;
  --hse-warning: #ffc107;
  --hse-danger: #dc3545;
  --hse-secondary: #6c757d;
}
.clinical-section .bg-primary {
  background-color: var(--hse-primary) !important;
}
.clinical-section .text-primary {
  color: var(--hse-primary) !important;
}
.clinical-section .border-primary {
  border-color: var(--hse-primary) !important;
}

.clinical-section .clinical-section-header:focus-within {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}
.clinical-section .clinical-card:focus-within {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}
.clinical-section .btn:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.clinical-card {
  animation: fadeInUp 0.4s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media print {
  .clinical-section {
    break-inside: avoid;
  }
  .clinical-section .clinical-section-header {
    background: #f8f9fa !important;
    color: #212529 !important;
  }
  .clinical-section .clinical-cards {
    display: none;
  }
  .clinical-section .d-none.d-lg-block {
    display: block !important;
  }
}
.toggle-input {
  display: none;
}

.collapsible-wrapper {
  margin-bottom: 1.2rem;
  width: 100%;
}

.collapsible-label-main {
  display: block;
  font-weight: bold;
  color: #004a4a;
  font-size: 15px;
  text-align: left;
  padding: 0.5rem;
  border: 2px solid #004a4a;
  border-radius: 3px;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.25s ease-out;
}
.collapsible-label-main:hover {
  color: #005f5f;
  border-color: #005f5f;
}
.collapsible-label-main::before {
  content: "";
  display: inline-block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid currentColor;
  vertical-align: middle;
  margin-right: 0.7rem;
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

.toggle-input:checked + .collapsible-label-main {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.toggle-input:checked + .collapsible-label-main::before {
  transform: rotate(90deg) translateX(-3px);
}

.collapsible-content-main {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-in-out;
}

.toggle-input:checked + .collapsible-label-main + .collapsible-content-main {
  max-height: none;
}

.collapsible-content-main .content-inner-main {
  border-bottom: 2px solid #004a4a;
  border-left: 2px solid #004a4a;
  border-right: 2px solid #004a4a;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  padding: 0.5rem 1rem;
  background: #ffffff;
}

.collapsible-label-title {
  display: block;
  font-weight: bold;
  color: #ffffff;
  font-size: 15px;
  text-align: left;
  padding: 0.75rem 1rem;
  border: 2px solid #004a4a;
  background: linear-gradient(135deg, #004a4a 0%, rgb(0, 99.5, 99.5) 100%);
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.25s ease-out;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.collapsible-label-title:hover {
  background: linear-gradient(135deg, rgb(0, 89.3, 89.3) 0%, rgb(0, 114.8, 114.8) 100%);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.collapsible-label-title:hover i, .collapsible-label-title:hover .fa-solid, .collapsible-label-title:hover .fa-regular, .collapsible-label-title:hover .fa-light, .collapsible-label-title:hover .fa-brands,
.collapsible-label-title i:hover,
.collapsible-label-title .fa-solid:hover,
.collapsible-label-title .fa-regular:hover,
.collapsible-label-title .fa-light:hover,
.collapsible-label-title .fa-brands:hover {
  color: #ffffff !important;
  fill: #ffffff !important;
  transform: none !important;
  transition: none !important;
}
.collapsible-label-title::before {
  content: "";
  display: inline-block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid currentColor;
  vertical-align: middle;
  margin-right: 0.7rem;
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

.toggle-input:checked + .collapsible-label-title {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.toggle-input:checked + .collapsible-label-title::before {
  transform: rotate(90deg) translateX(-3px);
}

.collapsible-content-title {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-in-out;
}

.toggle-input:checked + .collapsible-label-title + .collapsible-content-title {
  max-height: none;
  overflow: visible;
}

.collapsible-content-title .content-inner-title {
  background: #ffffff;
  border-bottom: 2px solid #004a4a;
  border-left: 2px solid #004a4a;
  border-right: 2px solid #004a4a;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  padding: 0.5rem 1rem;
}

.collapsible-label-sub {
  display: block;
  color: #005f5f;
  font-weight: bold;
  font-size: 13px;
  text-align: left;
  padding: 0.5rem;
  border: 2px solid #005f5f;
  border-radius: 3px;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.25s ease-out;
}
.collapsible-label-sub:hover {
  background: #80bebf;
}
.collapsible-label-sub::before {
  content: "";
  display: inline-block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid currentColor;
  vertical-align: middle;
  margin-right: 0.7rem;
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

.toggle-input:checked + .collapsible-label-sub {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.toggle-input:checked + .collapsible-label-sub::before {
  transform: rotate(90deg) translateX(-3px);
}

.collapsible-content-sub {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-in-out;
}

.toggle-input:checked + .collapsible-label-sub + .collapsible-content-sub {
  max-height: none;
  overflow: visible;
}

.collapsible-content-sub .content-inner-sub {
  background: #ffffff;
  border-bottom: 2px solid #005f5f;
  border-left: 2px solid #005f5f;
  border-right: 2px solid #005f5f;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  padding: 0.5rem 1rem;
}

.clinical-section {
  margin-bottom: 1rem;
}

.clinical-subsection {
  margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
  .collapsible-label-main,
  .collapsible-label-title,
  .collapsible-label-sub {
    font-size: 14px;
    padding: 0.4rem;
  }
  .content-inner-main,
  .content-inner-title,
  .content-inner-sub {
    padding: 0.4rem 0.8rem;
  }
}
.dashboard-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}
.dashboard-page .page-header {
  background: #005f5f;
  color: white;
  padding: 1.5rem 2rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 95, 95, 0.15);
}
.dashboard-page .page-header h1 {
  font-size: 2.25rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white !important;
}
.dashboard-page .page-header h1 .fa {
  color: var(--healthcare-text-light) !important;
}
.dashboard-page .page-header .page-subtitle {
  font-size: 1.1rem;
  margin: 0;
  color: #ffffff !important;
  font-weight: 500;
  opacity: 1 !important;
}

.dashboard-page .dashboard-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.dashboard-page .dashboard-stats > * {
  flex: 1 1 calc(25% - 0.75rem);
  min-width: 0;
}
.dashboard-page .dashboard-stats {
  margin-bottom: 1.5rem;
}
@media (max-width: 1024px) {
  .dashboard-page .dashboard-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .dashboard-page .dashboard-stats > * {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 0;
  }
}
@media (max-width: 768px) {
  .dashboard-page .dashboard-stats {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
.dashboard-page .dashboard-stats .stat-card {
  background: white !important;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.dashboard-page .dashboard-stats .stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.1);
  border-color: #33969a;
}
.dashboard-page .dashboard-stats .stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #005f5f !important;
}
.dashboard-page .dashboard-stats .stat-card.stat-card-primary, .dashboard-page .dashboard-stats .stat-card.stat-card-success, .dashboard-page .dashboard-stats .stat-card.stat-card-warning, .dashboard-page .dashboard-stats .stat-card.stat-card-info {
  background: white !important;
}
.dashboard-page .dashboard-stats .stat-card.stat-card-primary::before, .dashboard-page .dashboard-stats .stat-card.stat-card-success::before, .dashboard-page .dashboard-stats .stat-card.stat-card-warning::before, .dashboard-page .dashboard-stats .stat-card.stat-card-info::before {
  background: #005f5f !important;
}

.dashboard-page .stat-content {
  position: relative;
  z-index: 2;
}

.dashboard-page .stat-label {
  font-size: 0.9rem;
  color: #2d3748 !important;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}

.dashboard-page .stat-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: #005f5f !important;
  margin-bottom: 0.25rem;
  line-height: 1;
}

.dashboard-page .stat-change {
  font-size: 0.85rem;
  font-weight: 500;
  color: #718096 !important;
}
.dashboard-page .stat-change.positive {
  color: #2d5a27 !important;
}
.dashboard-page .stat-change.positive::before {
  content: "↗ ";
  font-weight: 700;
}
.dashboard-page .stat-change.negative {
  color: #dc2626 !important;
}
.dashboard-page .stat-change.negative::before {
  content: "↘ ";
  font-weight: 700;
}

.dashboard-page .stat-icon {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  font-size: 2rem;
  color: #005f5f !important;
  opacity: 0.2;
  z-index: 1;
}
.dashboard-page .stat-icon i {
  color: #005f5f !important;
}

.content-section {
  background: white;
  border-radius: 0.5rem;
  padding: 2rem;
  margin-bottom: 1.5rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.section-title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  color: #005f5f;
  font-weight: 600;
  position: relative;
  padding-bottom: 0.5rem;
}
.section-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: #005f5f;
  border-radius: 2px;
}

.actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.actions-grid > * {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: 0;
}
@media (max-width: 768px) {
  .actions-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}

.action-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.action-card:hover {
  border-color: #005f5f;
  background: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.1);
}
.action-card .action-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  color: #005f5f;
  display: flex;
  justify-content: center;
}
.action-card .action-icon .fa {
  color: #005f5f;
}
.action-card h3 {
  margin-bottom: 0.5rem;
  color: #2d3748;
  font-weight: 600;
  font-size: 1.25rem;
}
.action-card p {
  color: #718096;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.action-card .btn {
  margin-top: auto;
}

.activity-list {
  background: #f7fafc;
  border-radius: 0.375rem;
  padding: 1rem;
}

.activity-item {
  padding: 1rem;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.activity-item:last-child {
  border-bottom: none;
}

.activity-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: #80bebf;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #005f5f;
}
.activity-icon .fa {
  color: #2d3748 !important;
}

.activity-content {
  flex: 1;
}

.activity-description {
  color: #2d3748;
  font-weight: 500;
  margin-bottom: 0.25rem;
}

.activity-timestamp {
  color: #718096;
  font-size: 0.9rem;
}

.activity-footer {
  margin-top: 1.5rem;
  text-align: center;
}

.empty-state {
  text-align: center;
  padding: 2rem;
  color: #718096;
}
.empty-state .empty-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.empty-state h3 {
  color: #2d3748;
  margin-bottom: 0.5rem;
}
.empty-state p {
  color: #718096;
}

.system-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .system-status-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .system-status-grid {
    grid-template-columns: 1fr;
  }
}

.status-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 1.5rem;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.status-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.08);
  border-color: #33969a;
}

.status-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.status-icon {
  width: 48px;
  height: 48px;
  border-radius: 0.375rem;
  background: linear-gradient(135deg, #005f5f 0%, #33969a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.status-icon i {
  font-size: 1.25rem;
  color: white;
}

.status-info {
  flex: 1;
  min-width: 0;
}

.status-title {
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0 0 0.5rem 0;
  line-height: 1.3;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
}
.status-badge.status-online {
  background: rgba(45, 90, 39, 0.1);
  color: #2d5a27;
  border: 1px solid rgba(45, 90, 39, 0.2);
}
.status-badge.status-online .status-dot {
  background: #2d5a27;
  box-shadow: 0 0 0 2px rgba(45, 90, 39, 0.2);
}
.status-badge.status-offline {
  background: rgba(220, 38, 38, 0.1);
  color: #dc2626;
  border: 1px solid rgba(220, 38, 38, 0.2);
}
.status-badge.status-offline .status-dot {
  background: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}
.status-badge.status-unknown {
  background: rgba(245, 158, 11, 0.1);
  color: rgb(147.937007874, 95.188976378, 6.062992126);
  border: 1px solid rgba(245, 158, 11, 0.2);
}
.status-badge.status-unknown .status-dot {
  background: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}
.status-badge.status-neutral {
  background: rgba(113, 128, 150, 0.1);
  color: #2d3748;
  border: 1px solid rgba(113, 128, 150, 0.2);
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.status-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.status-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.status-grid > * {
  flex: 1 1 calc(25% - 0.75rem);
  min-width: 0;
}
@media (max-width: 768px) {
  .status-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .status-grid > * {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 0;
  }
}
@media (max-width: 480px) {
  .status-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}

.status-item {
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
}
.status-item:hover {
  background: white;
  border-color: #33969a;
}

.status-label {
  font-size: 0.9rem;
  color: #718096;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

.status-value {
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.status-value.status-online {
  color: #22c55e;
}
.status-value.status-offline {
  color: #dc2626;
}
.status-value.unknown {
  color: #f59e0b;
}

.status-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.status-online .status-indicator {
  background: #22c55e;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}
.status-offline .status-indicator {
  background: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}
.unknown .status-indicator {
  background: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}

.sync-result {
  margin-top: 1rem;
  padding: 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.9rem;
  text-align: center;
}
.sync-result.success {
  background: #dcfce7;
  color: #16a34a;
  border: 1px solid #4ade80;
}
.sync-result.error {
  background: #fee2e2;
  color: #b91c1c;
  border: 1px solid #f87171;
}
.sync-result.loading {
  background: rgba(0, 95, 95, 0.1);
  color: #004a4a;
  border: 1px solid #33969a;
}

.sync-status {
  background: white;
  padding: 15px;
  border-radius: 10px;
  margin: 20px 0;
  border-left: 4px solid #00b894;
}
.sync-status strong {
  color: #2d3436;
}

.sync-result {
  margin-top: 20px;
  padding: 15px;
  border-radius: 8px;
}
.sync-result.success {
  background: #d1edff;
  color: #0c5460;
  border: 1px solid #bee5eb;
}
.sync-result.error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.country-flag-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #4a7c59;
  border: 1px solid #2d5a27;
  border-radius: 6px;
  padding: 0.25rem 0.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}
.country-flag-badge:hover {
  background: #2d5a27;
  border-color: #2d5a27;
  box-shadow: 0 2px 6px rgba(45, 90, 39, 0.25);
}
.country-flag-badge .flag-image {
  width: 20px;
  height: 15px;
  border-radius: 2px;
  object-fit: cover;
  border: 1px solid #ddd;
  flex-shrink: 0;
}
.country-flag-badge .flag-fallback {
  font-size: 1rem;
  color: #ffffff;
  flex-shrink: 0;
}
.country-flag-badge .country-name {
  font-weight: 500;
  white-space: nowrap;
}

.country-flag-compact {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.country-flag-compact .flag-image {
  width: 18px;
  height: 13px;
  border-radius: 2px;
  object-fit: cover;
  border: 1px solid #ddd;
}
.country-flag-compact .flag-fallback {
  font-size: 0.9rem;
  color: #005f5f;
}

.flag-xs {
  width: 16px;
  height: 12px;
  border-radius: 2px;
  object-fit: cover;
  border: 1px solid #ddd;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
}

.flag-emoji,
.flag-icon {
  font-size: 1.5rem;
  margin-right: 10px;
}
.flag-emoji i,
.flag-icon i {
  font-size: 1.25rem;
  margin-right: 0.5rem;
  vertical-align: middle;
}

@media (max-width: 768px) {
  .dashboard-container {
    margin: 10px;
    border-radius: 15px;
  }
  .smp-dashboard-header {
    padding: 20px;
  }
  .smp-dashboard-header h1 {
    font-size: 2rem;
  }
  .stats-grid,
  .actions-grid {
    padding: 20px;
    gap: 20px;
  }
  .smp-content-section {
    padding: 20px;
  }
  .stat-card {
    padding: 20px;
  }
  .stat-number {
    font-size: 2.5rem;
  }
}
.smp-dashboard-header {
  margin-bottom: 2rem;
  padding-left: 1.5rem;
}
.smp-dashboard-header h1 {
  color: #2d3748;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.smp-dashboard-header h1 i {
  color: #005f5f;
}
.smp-dashboard-header p {
  color: #4a5568;
  font-size: 1rem;
  margin-bottom: 1rem;
}
.smp-dashboard-header .btn {
  margin-top: 0.5rem;
}

.search-section {
  background: white;
  border-radius: 0.5rem;
  padding: 2.5rem;
  margin-bottom: 3rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  border-top: 4px solid #005f5f;
}
.search-section .search-form .form-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto;
  gap: 1.5rem;
  align-items: stretch;
}
@media (max-width: 768px) {
  .search-section .search-form .form-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.search-section .search-form .form-group {
  display: flex;
  flex-direction: column;
}
.search-section .search-form .form-group .form-label {
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
  padding-left: 0.25rem;
  height: 1.5rem;
  display: flex;
  align-items: flex-end;
  line-height: 1.2;
  text-align: left;
}
.search-section .search-form .form-group .form-control {
  padding: 1rem 1.25rem;
  border: 2px solid #e2e8f0;
  border-radius: 0.375rem;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: #ffffff;
  height: 3.25rem;
  line-height: 1.2;
  box-sizing: border-box;
  width: 100%;
}
.search-section .search-form .form-group .form-control:is(select) {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 16px 12px;
  padding-right: 3rem;
  cursor: pointer;
}
.search-section .search-form .form-group .form-control:focus {
  outline: none;
  border-color: #005f5f;
  box-shadow: 0 0 0 4px rgba(0, 95, 95, 0.1);
}
.search-section .search-form .form-group .form-text {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #6b7280;
  text-align: left;
  padding-left: 0.25rem;
}
.search-section .search-form .form-group .btn {
  padding: 1rem 2rem;
  font-weight: 600;
  border-radius: 0.375rem;
  height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  box-sizing: border-box;
  margin-top: 2.25rem;
  width: 100%;
  text-align: center;
}
.search-section .search-form .form-group .btn i {
  margin-right: 0.5rem;
}

.results-section .results-header {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}
.results-section .results-header h2 {
  color: #2d3748;
  font-size: 1.5rem;
  font-weight: 600;
}
.results-section .participants-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 2.5rem;
  padding: 1rem 0;
}
@media (max-width: 768px) {
  .results-section .participants-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0.5rem 0;
  }
}
.results-section .participant-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  padding: 1.5rem;
  transition: all 0.3s ease;
}
.results-section .participant-card:hover {
  border-color: #005f5f;
  box-shadow: 0 4px 12px rgba(0, 95, 95, 0.1);
  transform: translateY(-2px);
}
.results-section .participant-card .participant-name {
  font-size: 1.25rem;
  font-weight: 600;
  color: #005f5f;
  margin-bottom: 1rem;
  line-height: 1.3;
}
.results-section .participant-card .participant-name i {
  margin-right: 0.5rem;
  font-size: 1rem;
  vertical-align: middle;
}
.results-section .participant-card p {
  margin-bottom: 0.5rem;
  color: #2d3748;
}
.results-section .participant-card p strong {
  color: #718096;
  font-weight: 500;
  display: inline-block;
  min-width: 120px;
}
.results-section .participant-card .btn {
  margin-top: 1rem;
}
.results-section .no-results {
  text-align: center;
  padding: 3rem;
  color: #718096;
}
.results-section .no-results .no-results-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}
.results-section .no-results h3 {
  color: #2d3748;
  margin-bottom: 0.5rem;
}

.participant-detail-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
.participant-detail-header .flag-emoji {
  font-size: 2rem;
}
.participant-detail-header .participant-title {
  flex: 1;
}
.participant-detail-header .participant-title .participant-name {
  font-size: 2rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 0.5rem;
}
.participant-detail-header .participant-title .participant-id {
  font-family: "Courier New", monospace;
  background: rgba(0, 0, 0, 0.1);
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-size: 0.9rem;
  color: #718096;
}

.smp-url-section {
  background: #e8f5e8;
  border: 2px solid #22c55e;
  border-radius: 0.375rem;
  padding: 1rem;
  margin-bottom: 2rem;
}
.smp-url-section .smp-url {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.smp-url-section .smp-url code {
  background: rgba(0, 0, 0, 0.1);
  padding: 0.5rem;
  border-radius: 0.25rem;
  font-family: "Courier New", monospace;
  flex: 1;
  min-width: 200px;
  word-break: break-all;
}
.smp-url-section .smp-url .copy-btn {
  white-space: nowrap;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
}

.info-card {
  background: #f7fafc;
  border: 2px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 1.5rem;
}
.info-card h3 {
  color: #005f5f;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 0.5rem;
}
.info-card .detail-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.services-section {
  margin-top: 2rem;
}
.services-section .service-group-info {
  margin-bottom: 1.5rem;
}
.services-section .services-grid {
  display: grid;
  gap: 1.5rem;
}
.services-section .service-card {
  background: #f7fafc;
  border: 2px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 1.5rem;
}
.services-section .service-card .service-header {
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.services-section .service-card .service-header .service-title {
  color: #005f5f;
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.services-section .service-card .service-header .service-meta .service-type {
  background: #e8f6f7;
  color: #005f5f;
  padding: 0.25rem 0.75rem;
  border-radius: 0.25rem;
  font-size: 0.8rem;
  font-weight: 600;
}
.services-section .service-card .endpoints-section {
  margin-top: 1.5rem;
}
.services-section .service-card .endpoints-section .endpoints-title {
  color: #2d3748;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.services-section .service-card .endpoints-section .endpoints-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.services-section .service-card .endpoints-section .endpoint-item {
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  padding: 1rem;
}
.services-section .service-card .endpoints-section .endpoint-item .endpoint-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}
.services-section .service-card .endpoints-section .endpoint-item .endpoint-header .endpoint-transport {
  font-family: "Courier New", monospace;
  background: #e8f6f7;
  color: #005f5f;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.8rem;
}
.services-section .service-card .endpoints-section .endpoint-item .endpoint-header .endpoint-status {
  background: #22c55e;
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 0.25rem;
  font-size: 0.8rem;
  font-weight: 600;
}
.services-section .service-card .endpoints-section .endpoint-item .endpoint-details {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.services-section .service-card .endpoints-section .endpoint-item .endpoint-link {
  color: #005f5f;
  text-decoration: none;
  word-break: break-all;
}
.services-section .service-card .endpoints-section .endpoint-item .endpoint-link:hover {
  text-decoration: underline;
}
.services-section .service-card .endpoints-section .endpoint-item .certificate details summary {
  cursor: pointer;
  color: #005f5f;
  font-weight: 600;
}
.services-section .service-card .endpoints-section .endpoint-item .certificate details summary:hover {
  text-decoration: underline;
}
.services-section .service-card .endpoints-section .endpoint-item .certificate details pre {
  background: #2d3748;
  color: #22c55e;
  padding: 1rem;
  border-radius: 0.375rem;
  overflow-x: auto;
  margin-top: 0.5rem;
  font-size: 0.8rem;
}
.services-section .service-card .no-endpoints {
  text-align: center;
  padding: 2rem;
  color: #718096;
  font-style: italic;
}

.no-services {
  margin-top: 2rem;
}

.email-link {
  color: #005f5f;
  text-decoration: none;
}
.email-link:hover {
  text-decoration: underline;
}

@media (prefers-color-scheme: dark) {
  .dashboard-container {
    background: #2c3e50;
    color: #ecf0f1;
  }
  .action-card {
    background: #34495e;
    border-color: #4a5f7a;
  }
  .action-card:hover {
    background: #3d566e;
  }
  .action-card h3,
  .action-card p {
    color: #ecf0f1;
  }
  .recent-list {
    background: #34495e;
  }
  .recent-item {
    border-color: #4a5f7a;
  }
  .recent-item strong {
    color: #ecf0f1;
  }
}
.text-hco-teal {
  color: #005f5f !important;
}

.bg-hco-teal {
  background-color: #005f5f !important;
  color: #ffffff !important;
}

.bg-hco-green {
  background-color: #2d5a27 !important;
  color: #ffffff !important;
}

.btn-hco-teal {
  background-color: #005f5f;
  border-color: #005f5f;
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}
.btn-hco-teal:hover, .btn-hco-teal:focus {
  background-color: #004a4a;
  border-color: #004a4a;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 95, 95, 0.3);
}

.btn-hco-green {
  background-color: #2d5a27;
  border-color: #2d5a27;
  color: #ffffff;
}
.btn-hco-green:hover, .btn-hco-green:focus {
  background-color: #4a7c59;
  border-color: #4a7c59;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(45, 90, 39, 0.3);
}

.hero-section {
  position: relative;
  background: linear-gradient(135deg, #005f5f 0%, #33969a 50%, #2d5a27 100%);
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.hero-section i,
.hero-section .fa-solid,
.hero-section .fa-regular,
.hero-section .fa-light,
.hero-section .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.hero-section:hover {
  color: var(--healthcare-text-light) !important;
}
.hero-section:hover i,
.hero-section:hover .fa-solid,
.hero-section:hover .fa-regular,
.hero-section:hover .fa-light,
.hero-section:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}
.hero-section {
  padding: 3rem 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .hero-section {
    padding: 4.5rem 1.5rem;
  }
}
@media (min-width: 1200px) {
  .hero-section {
    padding: 6rem 2rem;
  }
}
.hero-section .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.1;
}
.hero-section .hero-background::before, .hero-section .hero-background::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  animation: heroFloat 8s ease-in-out infinite;
}
.hero-section .hero-background::before {
  width: 200px;
  height: 200px;
  top: -100px;
  right: -50px;
  animation-delay: 0s;
}
.hero-section .hero-background::after {
  width: 150px;
  height: 150px;
  bottom: -75px;
  left: -25px;
  animation-delay: 4s;
}
.hero-section .hero-content {
  position: relative;
  z-index: 2;
}
.hero-section .hero-badge .badge {
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-weight: 600;
}
@media (min-width: 768px) {
  .hero-section .hero-badge .badge {
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
  }
}
.hero-section .hero-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .hero-section .hero-title {
    font-size: 2.4rem;
  }
}
@media (min-width: 1200px) {
  .hero-section .hero-title {
    font-size: 3rem;
  }
}
.hero-section .hero-subtitle {
  font-size: 1rem;
  line-height: 1.6;
  opacity: 0.95;
  max-width: 600px;
  margin: 0 auto 2rem;
}
@media (min-width: 768px) {
  .hero-section .hero-subtitle {
    font-size: 1.25rem;
  }
}
.hero-section .hero-stats .stat-item {
  text-align: center;
  padding: 1rem;
}
.hero-section .hero-stats .stat-item .stat-icon {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  opacity: 0.9;
}
@media (min-width: 768px) {
  .hero-section .hero-stats .stat-item .stat-icon {
    font-size: 2rem;
  }
}
.hero-section .hero-stats .stat-item .stat-number {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.25rem;
}
@media (min-width: 768px) {
  .hero-section .hero-stats .stat-item .stat-number {
    font-size: 2rem;
  }
}
.hero-section .hero-stats .stat-item .stat-label {
  font-size: 0.875rem;
  opacity: 0.9;
  font-weight: 500;
}
@media (min-width: 768px) {
  .hero-section .hero-stats .stat-item .stat-label {
    font-size: 1rem;
  }
}

@keyframes heroFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.05);
  }
}
.section-header {
  margin-bottom: 1.5rem;
}
.section-header .section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a202c !important;
  margin-bottom: 1rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.06) 0%, rgba(0, 95, 95, 0.03) 50%, rgba(255, 255, 255, 0.95) 100%);
  padding: 1.5rem 2rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(0, 95, 95, 0.1);
  box-shadow: 0 2px 8px rgba(0, 95, 95, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  transition: none;
  cursor: default;
}
@media (min-width: 768px) {
  .section-header .section-title {
    font-size: 2rem;
    font-weight: 800;
    padding: 2rem 3rem;
    gap: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .section-header .section-title {
    font-size: 2.2rem;
    padding: 2.5rem 4rem;
  }
}
.section-header .section-title i {
  color: #005f5f !important;
  text-shadow: none;
  font-weight: normal;
  font-size: 1em;
  transition: none;
}
.section-header .section-title i.fa, .section-header .section-title i.fab, .section-header .section-title i.fa-solid, .section-header .section-title i.far, .section-header .section-title i.fal, .section-header .section-title i.fat, .section-header .section-title i.fad {
  color: #005f5f !important;
}
.section-header .section-title:hover {
  color: #1a202c !important;
  background: linear-gradient(135deg, rgba(0, 95, 95, 0.06) 0%, rgba(0, 95, 95, 0.03) 50%, rgba(255, 255, 255, 0.95) 100%);
}
.section-header .section-title:hover i {
  color: #005f5f !important;
}
.section-header .section-title:hover i.fa, .section-header .section-title:hover i.fab, .section-header .section-title:hover i.fa-solid, .section-header .section-title:hover i.far, .section-header .section-title:hover i.fal, .section-header .section-title:hover i.fat, .section-header .section-title:hover i.fad {
  color: #005f5f !important;
}
.section-header .section-subtitle {
  font-size: 1rem;
  color: #2d3748 !important;
  line-height: 1.6;
  max-width: 700px;
  margin: 0 auto;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .section-header .section-subtitle {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 3rem;
  }
}
@media (min-width: 1200px) {
  .section-header .section-subtitle {
    margin-bottom: 4rem;
  }
}

.services-section {
  padding: 3rem 1rem;
  background: #ffffff;
}
@media (min-width: 768px) {
  .services-section {
    padding: 4.5rem 1.5rem;
  }
}
.services-section .service-card .service-card-header .service-icon.bg-hco-teal {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
}
.services-section .service-card .service-card-header .service-icon.bg-hco-teal::after {
  background: #005f5f;
}
.services-section .service-card .service-card-header .service-icon.bg-hco-green {
  background: linear-gradient(135deg, #2d5a27 0%, #4a7c59 100%);
}
.services-section .service-card .service-card-header .service-icon.bg-hco-green::after {
  background: #2d5a27;
}
.services-section .service-card .service-card-header .service-icon.bg-primary {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
}
.services-section .service-card .service-card-header .service-icon.bg-primary::after {
  background: #005f5f;
}
.services-section .service-card .service-card-header .service-icon.bg-warning {
  background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);
}
.services-section .service-card .service-card-header .service-icon.bg-warning::after {
  background: #ffc107;
}
.services-section .service-card .service-card-footer .btn-hco-teal {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  border: none;
  color: white;
}
.services-section .service-card .service-card-footer .btn-hco-teal:hover {
  background: linear-gradient(135deg, #004a4a 0%, #004548 100%);
  color: white;
}
.services-section .service-card .service-card-footer .btn-hco-green {
  background: linear-gradient(135deg, #2d5a27 0%, #4a7c59 100%);
  border: none;
  color: white;
}
.services-section .service-card .service-card-footer .btn-hco-green:hover {
  background: linear-gradient(135deg, #4a7c59 0%, rgb(83.5303030303, 139.9696969697, 100.4621212121) 100%);
  color: white;
}
.services-section .service-card .service-card-footer .btn-primary {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  border: none;
  color: white;
}
.services-section .service-card .service-card-footer .btn-primary:hover {
  background: linear-gradient(135deg, #004a4a 0%, #004a4a 100%);
  color: white;
}
.services-section .service-card .service-card-footer .btn-warning {
  background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);
  border: none;
  color: #212529;
}
.services-section .service-card .service-card-footer .btn-warning:hover {
  background: linear-gradient(135deg, #e0a800 0%, #cc9500 100%);
  color: #212529;
}
.services-section .service-card.admin-card {
  border-color: rgba(255, 193, 7, 0.15);
}
.services-section .service-card.admin-card:hover {
  border-color: rgba(255, 193, 7, 0.3);
  box-shadow: 0 20px 40px rgba(255, 193, 7, 0.15);
}

.capabilities-section {
  padding: 3rem 1rem;
  background: linear-gradient(180deg, rgba(45, 90, 39, 0.04) 0%, rgba(45, 90, 39, 0.02) 50%, white 100%);
}
@media (min-width: 768px) {
  .capabilities-section {
    padding: 4.5rem 1.5rem;
  }
}
.capabilities-section .capability-card {
  background: linear-gradient(135deg, rgba(45, 90, 39, 0.03) 0%, white 30%, white 100%);
  border-radius: 0.5rem;
  padding: 2rem;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(45, 90, 39, 0.15);
  box-shadow: 0 6px 16px rgba(45, 90, 39, 0.12), 0 3px 8px rgba(45, 90, 39, 0.08);
}
@media (min-width: 768px) {
  .capabilities-section .capability-card {
    box-shadow: 0 10px 30px rgba(45, 90, 39, 0.15), 0 6px 16px rgba(45, 90, 39, 0.1), 0 3px 8px rgba(45, 90, 39, 0.06);
  }
}
.capabilities-section .capability-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 50px rgba(45, 90, 39, 0.2), 0 15px 30px rgba(45, 90, 39, 0.15), 0 8px 16px rgba(45, 90, 39, 0.12);
  border-color: rgba(45, 90, 39, 0.3);
  background: linear-gradient(135deg, rgba(45, 90, 39, 0.06) 0%, white 25%, white 100%);
}
.capabilities-section .capability-card .capability-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 1.5rem;
  background: linear-gradient(135deg, #2d5a27 0%, #4a7c59 100%);
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(45, 90, 39, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .capabilities-section .capability-card .capability-icon {
    width: 90px;
    height: 90px;
  }
}
.capabilities-section .capability-card .capability-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .capabilities-section .capability-card .capability-title {
    font-size: 1.5rem;
  }
}
.capabilities-section .capability-card .capability-description {
  color: #4a5568;
  line-height: 1.6;
  font-size: 0.875rem;
  font-weight: 450;
}
@media (min-width: 768px) {
  .capabilities-section .capability-card .capability-description {
    font-size: 1rem;
  }
}

.configuration-section {
  padding: 3rem 1rem;
  background: #ffffff;
}
@media (min-width: 768px) {
  .configuration-section {
    padding: 4.5rem 1.5rem;
  }
}
.configuration-section .config-card {
  background: #ffffff;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 95, 95, 0.1);
  box-shadow: 0 4px 12px rgba(0, 95, 95, 0.1), 0 2px 6px rgba(0, 95, 95, 0.05);
}
@media (min-width: 768px) {
  .configuration-section .config-card {
    box-shadow: 0 8px 24px rgba(0, 95, 95, 0.12), 0 4px 12px rgba(0, 95, 95, 0.08), 0 2px 6px rgba(0, 95, 95, 0.04);
  }
}
.configuration-section .config-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 95, 95, 0.15), 0 10px 20px rgba(0, 95, 95, 0.1), 0 6px 12px rgba(0, 95, 95, 0.08);
  border-color: rgba(0, 95, 95, 0.2);
}
.configuration-section .config-card .config-card-header {
  background: linear-gradient(135deg, #005f5f, #33969a);
  color: #ffffff;
  padding: 1.5rem;
  text-align: center;
}
.configuration-section .config-card .config-card-header .config-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.5rem;
  text-align: center;
  line-height: 1;
  background: linear-gradient(135deg, #005f5f, #33969a);
  --fa-display: inline-block;
}
.configuration-section .config-card .config-card-header .config-icon i {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}
.configuration-section .config-card .config-card-header .config-icon i.fa, .configuration-section .config-card .config-card-header .config-icon i.fab, .configuration-section .config-card .config-card-header .config-icon i.fa-solid, .configuration-section .config-card .config-card-header .config-icon i.far, .configuration-section .config-card .config-card-header .config-icon i.fal, .configuration-section .config-card .config-card-header .config-icon i.fat, .configuration-section .config-card .config-card-header .config-icon i.fad {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .configuration-section .config-card .config-card-header .config-icon {
    width: 90px;
    height: 90px;
  }
}
.configuration-section .config-card .config-card-header .config-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
}
@media (min-width: 768px) {
  .configuration-section .config-card .config-card-header .config-title {
    font-size: 1.5rem;
  }
}
.configuration-section .config-card .config-card-body {
  padding: 1.5rem;
}
.configuration-section .config-card .config-card-body .config-description {
  color: #4a5568;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  font-weight: 450;
}
@media (min-width: 768px) {
  .configuration-section .config-card .config-card-body .config-description {
    font-size: 1rem;
  }
}
.configuration-section .config-card .config-card-body .endpoint-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.configuration-section .config-card .config-card-body .endpoint-list .endpoint-item {
  padding: 0.5rem 0;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
}
.configuration-section .config-card .config-card-body .endpoint-list .endpoint-item:last-child {
  border-bottom: none;
}
@media (min-width: 768px) {
  .configuration-section .config-card .config-card-body .endpoint-list .endpoint-item {
    font-size: 1rem;
  }
}
.configuration-section .config-card .config-card-body .endpoint-list .endpoint-item .endpoint-name {
  font-weight: 500;
  color: #2d3748;
}
.configuration-section .config-card .config-card-body .endpoint-list .endpoint-item .endpoint-status {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.configuration-section .config-card .config-card-body .endpoint-list .endpoint-item .endpoint-status.status-active {
  background-color: #dcfce7;
  color: #16a34a;
}
.configuration-section .config-card .config-card-body .endpoint-list .endpoint-item .endpoint-status.status-inactive {
  background-color: #fee2e2;
  color: #b91c1c;
}

.external-services-section {
  padding: 3rem 1rem 4.5rem;
  background: #ffffff;
}
@media (min-width: 768px) {
  .external-services-section {
    padding: 4.5rem 1.5rem 6rem;
  }
}
.external-services-section .external-service-card {
  background: #ffffff;
  border-radius: 0.5rem;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 2px solid transparent;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06), 0 3px 9px rgba(0, 0, 0, 0.03);
}
@media (min-width: 768px) {
  .external-services-section .external-service-card {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 6px 18px rgba(0, 0, 0, 0.04), 0 3px 9px rgba(0, 0, 0, 0.02);
  }
}
.external-services-section .external-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12), 0 15px 30px rgba(0, 0, 0, 0.08), 0 8px 16px rgba(0, 0, 0, 0.06);
  border-color: rgba(0, 95, 95, 0.3);
}
.external-services-section .external-service-card .service-logo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #005f5f, #33969a);
  color: #ffffff;
  text-align: center;
  line-height: 1;
  --fa-display: inline-block;
}
.external-services-section .external-service-card .service-logo i {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}
.external-services-section .external-service-card .service-logo i.fa, .external-services-section .external-service-card .service-logo i.fab, .external-services-section .external-service-card .service-logo i.fa-solid, .external-services-section .external-service-card .service-logo i.far, .external-services-section .external-service-card .service-logo i.fal, .external-services-section .external-service-card .service-logo i.fat, .external-services-section .external-service-card .service-logo i.fad {
  color: #ffffff !important;
  line-height: 1;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .external-services-section .external-service-card .service-logo {
    width: 90px;
    height: 90px;
  }
}
.external-services-section .external-service-card .service-name {
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .external-services-section .external-service-card .service-name {
    font-size: 1.25rem;
  }
}
.external-services-section .external-service-card .service-description {
  color: #636567;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .external-services-section .external-service-card .service-description {
    font-size: 1rem;
  }
}
.external-services-section .external-service-card .btn-external {
  padding: 0.5rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 0.375rem;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  .external-services-section .external-service-card .btn-external {
    padding: 1rem 2rem;
    font-size: 1rem;
  }
}

.container-fluid {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .container-fluid {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .container-fluid {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.row .col-12,
.row .col-sm-6,
.row .col-md-4,
.row .col-lg-3,
.row .col-xl-3 {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .row .col-12,
  .row .col-sm-6,
  .row .col-md-4,
  .row .col-lg-3,
  .row .col-xl-3 {
    margin-bottom: 2rem;
  }
}

html {
  scroll-behavior: smooth;
}

.service-card:focus-within,
.capability-card:focus-within,
.config-card:focus-within,
.external-service-card:focus-within {
  outline: 2px solid #005f5f;
  outline-offset: 2px;
}

@media print {
  .hero-section {
    background: #ffffff !important;
    color: #2d3748 !important;
  }
  .service-card,
  .capability-card,
  .config-card,
  .external-service-card {
    box-shadow: none !important;
    border: 1px solid #dee2e6 !important;
  }
}
.system-status-section {
  padding: 1.5rem 1rem;
  background: #ffffff;
}
@media (min-width: 768px) {
  .system-status-section {
    padding: 2rem 1.5rem;
  }
}
@media (min-width: 1200px) {
  .system-status-section {
    padding: 3rem 2rem;
  }
}

.system-status-section {
  padding: 2rem 1rem 3rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border-top: 1px solid rgba(0, 95, 95, 0.1);
}
@media (min-width: 768px) {
  .system-status-section {
    padding: 3rem 1.5rem 4rem;
  }
}

.system-status-card {
  background: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 95, 95, 0.15);
  overflow: hidden;
}

.status-header {
  background: linear-gradient(135deg, rgba(45, 90, 39, 0.05) 0%, rgba(0, 95, 95, 0.03) 100%);
  padding: 1.5rem 2rem;
  border-bottom: 1px solid rgba(45, 90, 39, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 767px) {
  .status-header {
    padding: 1.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

.status-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.status-badge i {
  color: #2d5a27;
  font-size: 1.25rem;
}
.status-badge .status-label {
  color: #2d3748;
  font-weight: 600;
  font-size: 1.25rem;
}

.last-updated {
  color: #718096;
  font-size: 0.875rem;
}
.last-updated time {
  font-weight: 500;
}

.status-details {
  padding: 2rem;
}
@media (max-width: 767px) {
  .status-details {
    padding: 1.5rem;
  }
}

.status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .status-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }
}

.status-item .status-metric {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  background: rgba(0, 95, 95, 0.03);
  border-radius: 0.375rem;
  border-left: 3px solid #2d5a27;
  transition: all 0.3s ease;
  text-align: center;
}
.status-item .status-metric:hover {
  background: rgba(0, 95, 95, 0.08);
  transform: translateY(-1px);
}
.status-item .status-metric i {
  font-size: 1.5rem;
  width: auto;
  text-align: center;
  align-self: center;
  color: #005f5f !important;
}
.status-item .status-metric .metric-label {
  color: #2d3748 !important;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.2;
}
.status-item .status-metric .metric-status {
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.375rem 0.75rem;
  border-radius: 0.25rem;
  align-self: center;
  min-width: 80px;
}
.status-item .status-metric .metric-status.online {
  background: #2d5a27 !important;
  color: #ffffff !important;
  border: 1px solid #2d5a27;
}
.status-item .status-metric .metric-status.offline {
  background: #dc2626 !important;
  color: #ffffff !important;
  border: 1px solid #dc2626;
}
.status-item .status-metric .metric-status.warning {
  background: #f59e0b !important;
  color: #2d3748 !important;
  border: 1px solid #f59e0b;
}

.integration-note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1rem;
  background: rgba(0, 95, 95, 0.05);
  border-radius: 0.375rem;
  border: 1px solid rgba(0, 95, 95, 0.1);
  color: #2d3748 !important;
  font-size: 0.875rem;
  line-height: 1.5;
}
.integration-note i {
  color: #005f5f !important;
  font-size: 1rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
}

.dashboard-page {
  background: #f7fafc;
  min-height: 100vh;
}
.dashboard-page .page-header {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  padding: 3rem;
  text-align: center;
}
.dashboard-page .page-header h1 {
  margin: 0 0 0.5rem 0;
  font-size: 2.5rem;
  font-weight: 700;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.dashboard-page .page-header .page-subtitle {
  margin: 0;
  font-size: 1.25rem;
  opacity: 0.9;
}

.dashboard-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  gap: 1.5rem;
  margin: 2rem 0;
}
.dashboard-stats .stat-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.dashboard-stats .stat-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.dashboard-stats .stat-card {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.dashboard-stats .stat-card:hover {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.dashboard-stats .stat-card {
  padding: 2rem;
  text-align: center;
  color: #ffffff;
  border-radius: 0.5rem;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.dashboard-stats .stat-card:hover {
  transform: translateY(-5px);
}
.dashboard-stats .stat-card {
  background: linear-gradient(135deg, #c2185b 0%, #e91e63 100%);
}
.dashboard-stats .stat-card.stat-card-primary {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
}
.dashboard-stats .stat-card.stat-card-success {
  background: linear-gradient(135deg, #4ade80 0%, #16a34a 100%);
}
.dashboard-stats .stat-card.stat-card-warning {
  background: linear-gradient(135deg, #fcd34d 0%, #d97706 100%);
}
.dashboard-stats .stat-card.stat-card-info {
  background: linear-gradient(135deg, #33969a 0%, #004a4a 100%);
  color: #2d3748;
}
.dashboard-stats .stat-card .stat-content .stat-label {
  font-size: 0.875rem;
  opacity: 0.9;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.dashboard-stats .stat-card .stat-content .stat-value {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.dashboard-stats .stat-card .stat-content .stat-change {
  font-size: 0.75rem;
  opacity: 0.8;
}
.dashboard-stats .stat-card .stat-content .stat-change.positive::before {
  content: "↗ ";
}
.dashboard-stats .stat-card .stat-icon {
  font-size: 2rem;
  margin-top: 1rem;
}

.content-section {
  padding: 2rem 0;
  border-top: 1px solid #e2e8f0;
}
.content-section .section-title {
  font-size: 1.5rem;
  margin-bottom: 2rem;
  color: #2d3748;
  border-bottom: 3px solid #005f5f;
  padding-bottom: 0.5rem;
  display: inline-block;
}

.actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.actions-grid .action-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.actions-grid .action-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.actions-grid .action-card {
  padding: 2rem;
  text-align: center;
  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1) ease-out, border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.actions-grid .action-card h3 {
  transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.actions-grid .action-card p {
  transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.actions-grid .action-card .action-icon {
  transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.actions-grid .action-card .action-icon .fa {
  transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.actions-grid .action-card:hover {
  border-color: #005f5f;
  background: #33969a;
  transform: translateY(-2px);
}
.actions-grid .action-card:hover h3 {
  color: white !important;
}
.actions-grid .action-card:hover p {
  color: rgba(255, 255, 255, 0.9) !important;
}
.actions-grid .action-card:hover .action-icon {
  color: white !important;
}
.actions-grid .action-card:hover .action-icon .fa {
  color: white !important;
}
.actions-grid .action-card .action-icon {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.actions-grid .action-card h3 {
  margin: 0 0 1rem 0;
  color: #2d3748;
  font-size: 1.25rem;
}
.actions-grid .action-card p {
  color: #718096;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.actions-grid .action-card .sync-result {
  margin-top: 1rem;
}

.activity-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  gap: 1.5rem;
}
.activity-grid .activity-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.activity-grid .activity-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.activity-grid .activity-card {
  padding: 2rem;
}
.activity-grid .activity-card h3 {
  margin: 0 0 1.5rem 0;
  color: #2d3748;
  font-size: 1.25rem;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 0.5rem;
}
.activity-grid .activity-card .activity-list .activity-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #e2e8f0;
}
.activity-grid .activity-card .activity-list .activity-item:last-child {
  border-bottom: none;
}
.activity-grid .activity-card .activity-list .activity-item .activity-content .activity-title {
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 0.25rem;
}
.activity-grid .activity-card .activity-list .activity-item .activity-content .activity-meta {
  font-size: 0.875rem;
  color: #718096;
}
.activity-grid .activity-card .activity-list .activity-item .activity-time {
  font-size: 0.75rem;
  color: #718096;
  font-style: italic;
}

.status-grid .status-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #e2e8f0;
}
.status-grid .status-item:last-child {
  border-bottom: none;
}
.status-grid .status-item .status-label {
  font-weight: 600;
  color: #2d3748;
}
.status-grid .status-item .status-badge {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.status-grid .status-item .status-badge.status-active {
  background: #4ade80;
  color: #16a34a;
}
.status-grid .status-item .status-badge.status-warning {
  background: #fcd34d;
  color: #d97706;
}
.status-grid .status-item .status-badge.status-pending {
  background: #33969a;
  color: #004a4a;
}

.standalone-dashboard * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.standalone-dashboard body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  min-height: 100vh;
  padding: 20px;
}

.dashboard-container {
  max-width: 1200px;
  margin: 0 auto;
  background: white;
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.dashboard-container .header {
  background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
  color: white;
  padding: 30px 40px;
  text-align: center;
}
.dashboard-container .header h1 {
  font-size: 2.5rem;
  margin-bottom: 10px;
  font-weight: 300;
}
.dashboard-container .header p {
  font-size: 1.1rem;
  opacity: 0.9;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  padding: 40px;
}
.stats-grid .stat-card {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: white;
  padding: 30px;
  border-radius: 15px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}
.stats-grid .stat-card:hover {
  transform: translateY(-5px);
}
.stats-grid .stat-card:nth-child(1) {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}
.stats-grid .stat-card:nth-child(2) {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}
.stats-grid .stat-card:nth-child(3) {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}
.stats-grid .stat-card:nth-child(4) {
  background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
  color: #333;
}
.stats-grid .stat-card .stat-number {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.stats-grid .stat-card .stat-label {
  font-size: 1.1rem;
  opacity: 0.9;
}

.sync-btn {
  background: linear-gradient(135deg, #28a745, #20c997);
  color: white;
}
.sync-btn:hover {
  background: linear-gradient(135deg, #218838, #1ea88a);
  transform: translateY(-2px);
}

.sync-result {
  margin-top: 15px;
}

.european-smp-section {
  background: linear-gradient(135deg, #ffeaa7 0%, #fab1a0 100%);
  border-radius: 15px;
  padding: 30px;
  margin-top: 30px;
  text-align: center;
}
.european-smp-section h3 {
  color: #2d3436;
  margin-bottom: 15px;
}

.sync-status {
  background: white;
  padding: 15px;
  border-radius: 10px;
  margin: 20px 0;
  border-left: 4px solid #00b894;
}

.flag-emoji {
  font-size: 1.5rem;
  margin-right: 10px;
}

.container-fluid .d-flex.justify-content-between.align-items-center {
  flex-direction: column;
  align-items: flex-start !important;
  gap: 1rem;
}
@media (max-width: 767px) {
  .col-12 .container-fluid .d-flex.justify-content-between.align-items-center {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 768px) {
  .container-fluid .d-flex.justify-content-between.align-items-center {
    flex-direction: row;
    align-items: center !important;
    gap: 0;
  }
}
.container-fluid .d-flex.justify-content-between.align-items-center > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
}
@media (min-width: 768px) {
  .container-fluid .d-flex.justify-content-between.align-items-center > div:last-child {
    width: auto;
    justify-content: flex-end;
  }
}
.container-fluid .d-flex.justify-content-between.align-items-center > div:last-child .btn {
  flex: 1;
  min-width: 140px;
}
@media (min-width: 768px) {
  .container-fluid .d-flex.justify-content-between.align-items-center > div:last-child .btn {
    flex: none;
    min-width: auto;
  }
}

.container-fluid h1 {
  color: #2d3748;
  font-weight: 600;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0;
}
.container-fluid h1 .fa-tachometer-alt {
  color: #005f5f;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.container-fluid h1 {
  font-size: 1.75rem;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .container-fluid h1 {
    font-size: 2rem;
    gap: 0.75rem;
  }
  .container-fluid h1 .fa-tachometer-alt {
    font-size: 2rem;
  }
}
@media (min-width: 1200px) {
  .container-fluid h1 {
    font-size: 2.25rem;
  }
  .container-fluid h1 .fa-tachometer-alt {
    font-size: 2.5rem;
  }
}

.performance-metrics-grid {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 576px) {
  .performance-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}
@media (min-width: 768px) {
  .performance-metrics-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1200px) {
  .performance-metrics-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}

.metric-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
  padding: 1rem;
}
@media (min-width: 768px) {
  .metric-card {
    padding: 1.5rem;
  }
}
.metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.08);
  border-color: #33969a;
}

.metric-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.metric-icon {
  width: 56px;
  height: 56px;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #005f5f 0%, #33969a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.metric-icon i {
  font-size: 1.5rem;
  color: white !important;
}
.metric-icon.metric-icon-success {
  background: linear-gradient(135deg, #2d5a27 0%, rgb(71.6860465116, 143.3720930233, 62.1279069767) 100%);
}
.metric-icon.metric-icon-success i {
  color: white !important;
}
.metric-icon.metric-icon-info {
  background: linear-gradient(135deg, #1e3a5f 0%, rgb(48.36, 93.496, 153.14) 100%);
}
.metric-icon.metric-icon-info i {
  color: white !important;
}
.metric-icon.metric-icon-warning {
  background: linear-gradient(135deg, rgb(147.937007874, 95.188976378, 6.062992126) 0%, #f59e0b 100%);
}
.metric-icon.metric-icon-warning i {
  color: white !important;
}

.metric-info {
  flex: 1;
  min-width: 0;
}

.metric-title {
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}

.metric-value {
  font-size: 2.25rem;
  font-weight: 700;
  color: #005f5f;
  line-height: 1.1;
  margin-bottom: 0.25rem;
}
.metric-value.metric-value-success {
  color: #2d5a27;
}
.metric-value.metric-value-info {
  color: #1e3a5f;
}
.metric-value.metric-value-warning {
  color: rgb(98.9448818898, 63.6653543307, 4.0551181102);
}

.metric-subtitle {
  font-size: 0.875rem;
  color: #718096;
  line-height: 1.4;
}

.detailed-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .detailed-metrics-grid {
    grid-template-columns: 1fr;
  }
}

.detail-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.detail-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.08);
}

.detail-header {
  background: linear-gradient(135deg, #005f5f 0%, #33969a 100%);
  color: white;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.detail-icon {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.detail-icon i {
  font-size: 1.25rem;
  color: white !important;
}

.detail-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  color: white;
}

.detail-body {
  padding: 1.5rem;
}

.metric-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.metric-row.metric-row-triple {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 480px) {
  .metric-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .metric-row.metric-row-triple {
    grid-template-columns: 1fr;
  }
}

.metric-item {
  text-align: center;
  padding: 1rem;
  background: #f7fafc;
  border-radius: 0.375rem;
  border: 1px solid #e2e8f0;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
}
.metric-item:hover {
  border-color: #33969a;
}

.metric-label {
  font-size: 0.875rem;
  color: #718096;
  font-weight: 500;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.metric-number {
  font-size: 1.75rem;
  font-weight: 700;
  color: #005f5f;
  line-height: 1.2;
}
.metric-number.metric-number-success {
  color: #2d5a27;
}
.metric-number.metric-number-info {
  color: #1e3a5f;
}
.metric-number.metric-number-warning {
  color: rgb(98.9448818898, 63.6653543307, 4.0551181102);
}

.performance-progress {
  margin-top: 1rem;
}

.progress-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #2d3748;
}

.progress-value {
  color: #2d5a27;
  font-weight: 600;
}

.progress-bar-container {
  width: 100%;
  height: 8px;
  background: #f7fafc;
  border-radius: 9999px;
  overflow: hidden;
  position: relative;
}

.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #2d5a27 0%, rgb(62.7906976744, 125.5813953488, 54.4186046512) 100%);
  border-radius: 9999px;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
  position: relative;
}
.progress-bar::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
  animation: progress-shimmer 2s infinite;
}

@keyframes progress-shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
.progress-note {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 0.25rem;
  text-align: center;
}

.document-summary {
  background: rgba(0, 95, 95, 0.05);
  border: 1px solid rgba(0, 95, 95, 0.1);
  border-radius: 0.375rem;
  padding: 1rem;
  font-size: 0.875rem;
  color: #2d3748;
  text-align: center;
  margin-top: 1rem;
}

@media (max-width: 1200px) {
  .performance-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .metric-card,
  .detail-card {
    margin-bottom: 1rem;
  }
  .metric-value {
    font-size: 1.875rem;
  }
  .metric-number {
    font-size: 1.5rem;
  }
  .detail-header {
    padding: 1rem;
  }
  .detail-body {
    padding: 1rem;
  }
}
@media (max-width: 480px) {
  .performance-metrics-grid {
    gap: 1rem;
  }
  .detailed-metrics-grid {
    gap: 1rem;
  }
  .metric-header {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
  .metric-icon {
    width: 48px;
    height: 48px;
    align-self: center;
  }
  .metric-value {
    font-size: 1.75rem;
  }
}
.badge.bg-info, .badge.bg-danger, .badge.bg-secondary, .badge.bg-success, .badge.bg-primary {
  color: white !important;
  font-weight: 500;
}
.badge.bg-info:hover, .badge.bg-danger:hover, .badge.bg-secondary:hover, .badge.bg-success:hover, .badge.bg-primary:hover {
  color: white !important;
}
.badge.bg-warning {
  color: #2d3748 !important;
  font-weight: 600;
}
.badge.bg-warning:hover {
  color: #2d3748 !important;
}
.badge.bg-light {
  color: #2d3748 !important;
}
.badge.bg-light:hover {
  color: #2d3748 !important;
}

.audit-trail-table .table tbody tr {
  border-bottom: 1px solid #e2e8f0;
}
.audit-trail-table .table tbody tr:hover {
  background-color: rgba(0, 95, 95, 0.02);
}
.audit-trail-table .table .timestamp-col {
  font-family: "Courier New", monospace;
  font-size: 0.875rem;
  color: #718096;
}
.audit-trail-table .table .user-col .badge {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
}
.audit-trail-table .table .action-col .badge {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.audit-trail-table .table .object-col {
  font-weight: 500;
  color: #2d3748;
}
.audit-trail-table .table .changes-col {
  font-size: 0.875rem;
  color: #718096;
  font-style: italic;
}

.nav-tabs .nav-item .nav-link {
  color: #2d3748;
  border: 1px solid transparent;
}
.nav-tabs .nav-item .nav-link:hover {
  color: #005f5f;
  border-color: #e2e8f0;
}
.nav-tabs .nav-item .nav-link.active {
  color: #005f5f;
  background-color: white;
  border-color: #e2e8f0 #e2e8f0 white;
  font-weight: 600;
}
.nav-tabs .nav-item .nav-link i {
  color: inherit;
}

.container-fluid h1 {
  color: #2d3748;
  font-weight: 600;
}
.container-fluid h1 .fa-search {
  color: #005f5f;
  margin-right: 0.5rem;
}

@media (max-width: 768px) {
  .audit-trail-table .table {
    font-size: 0.875rem;
  }
  .audit-trail-table .table .timestamp-col {
    font-size: 0.75rem;
  }
  .audit-trail-table .table .badge {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
  }
  .d-flex.justify-content-between.align-items-center {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 1rem;
  }
  .d-flex.justify-content-between.align-items-center > div:last-child {
    display: flex;
    gap: 0.5rem;
    width: 100%;
  }
  .d-flex.justify-content-between.align-items-center > div:last-child .btn {
    flex: 1;
  }
}
@media (prefers-contrast: high) {
  .badge {
    border: 2px solid currentColor;
    font-weight: 700;
  }
  .audit-trail-table .table tbody tr:hover {
    background-color: rgba(0, 95, 95, 0.1);
  }
}
@media print {
  .audit-trail-table .badge {
    border: 1px solid #000;
    color: #000 !important;
    background: transparent !important;
  }
}
.certificate-type-icon {
  font-size: 1.1em;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}
.certificate-type-icon.fa-shield-halved {
  color: #d4841c !important;
}
.certificate-type-icon.fa-sitemap {
  color: #0d6efd !important;
}
.certificate-type-icon.fa-user-shield {
  color: #198754 !important;
}
.certificate-type-icon.fa-server {
  color: #6f42c1 !important;
}
.certificate-type-icon.fa-code {
  color: #fd7e14 !important;
}
.certificate-type-icon.fa-key {
  color: #6c757d !important;
}
.certificate-type-icon.fa-certificate {
  color: #005f5f !important;
}

.cert-status-active {
  color: #198754 !important;
}

.cert-status-expired {
  color: #dc3545 !important;
  opacity: 0.7;
}

.cert-status-inactive {
  color: #6c757d !important;
  opacity: 0.6;
}

.modal.show {
  display: flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
}
.modal.show .modal-content {
  pointer-events: auto !important;
  position: relative;
  z-index: 1056 !important;
}
.modal::before {
  pointer-events: none !important;
}

.modal-backdrop {
  pointer-events: none !important;
}
.modal-backdrop.show {
  opacity: 0.5 !important;
  visibility: visible !important;
}

.modal-content {
  pointer-events: auto !important;
  cursor: default;
}
.modal-content * {
  pointer-events: auto !important;
}

.cert-navigation {
  background-color: #f8f9fa !important;
  border-bottom: 1px solid #dee2e6 !important;
}
.cert-navigation .btn {
  min-width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cert-navigation .btn:disabled {
  opacity: 0.4;
}

.cert-details-table tbody tr td:first-child {
  background-color: #f8f9fa;
  border-right: 1px solid #dee2e6;
  font-weight: 600;
  color: #2d3748;
  vertical-align: top;
  padding: 8px 12px;
}
.cert-details-table tbody tr td:last-child {
  padding: 8px 12px;
  vertical-align: top;
  word-break: break-all;
}
.cert-details-table tbody tr td:last-child code {
  background-color: transparent;
  color: #0066cc;
  font-size: 0.9em;
  padding: 0;
  font-family: "Courier New", Consolas, monospace;
  word-break: break-all;
  white-space: normal;
}

.modal-xl {
  max-width: 90%;
}
@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

.modal-footer .btn-primary {
  background-color: #005f5f;
  border-color: #005f5f;
  min-width: 80px;
}
.modal-footer .btn-primary:hover {
  background-color: #002c2c;
  border-color: #002c2c;
}

.container-fluid h1 {
  color: #2d3748;
  font-weight: 600;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0;
}
.container-fluid h1 .fa-certificate {
  color: #005f5f;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.container-fluid h1 {
  font-size: 1.75rem;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .container-fluid h1 {
    font-size: 2rem;
    gap: 0.75rem;
  }
  .container-fluid h1 .fa-certificate {
    font-size: 2rem;
  }
}
@media (min-width: 1200px) {
  .container-fluid h1 {
    font-size: 2.25rem;
  }
  .container-fluid h1 .fa-certificate {
    font-size: 2.5rem;
  }
}

.container-fluid .d-flex.justify-content-between.align-items-center {
  flex-direction: column;
  align-items: flex-start !important;
  gap: 1rem;
}
@media (max-width: 767px) {
  .col-12 .container-fluid .d-flex.justify-content-between.align-items-center {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 768px) {
  .container-fluid .d-flex.justify-content-between.align-items-center {
    flex-direction: row;
    align-items: center !important;
    gap: 0;
  }
}
.container-fluid .d-flex.justify-content-between.align-items-center > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
}
@media (min-width: 768px) {
  .container-fluid .d-flex.justify-content-between.align-items-center > div:last-child {
    width: auto;
    justify-content: flex-end;
  }
}
.container-fluid .d-flex.justify-content-between.align-items-center > div:last-child .btn {
  flex: 1;
  min-width: 140px;
}
@media (min-width: 768px) {
  .container-fluid .d-flex.justify-content-between.align-items-center > div:last-child .btn {
    flex: none;
    min-width: auto;
  }
}

.metric-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out, border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1) ease-out;
  padding: 1rem;
}
@media (min-width: 768px) {
  .metric-card {
    padding: 1.5rem;
  }
}
.metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 95, 95, 0.08);
  border-color: #33969a;
}

.metric-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.metric-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.metric-icon i {
  font-size: 1.25rem;
  color: white !important;
}
.metric-icon.bg-success {
  background: linear-gradient(135deg, #2d5a27 0%, rgb(38.25, 76.5, 33.15) 100%);
}
.metric-icon.bg-primary {
  background: linear-gradient(135deg, #005f5f 0%, rgb(0, 80.75, 80.75) 100%);
}
.metric-icon.bg-warning {
  background: linear-gradient(135deg, #f59e0b 0%, rgb(209.0330708661, 134.5007874016, 8.5669291339) 100%);
}
.metric-icon.bg-danger {
  background: linear-gradient(135deg, #dc2626 0%, rgb(188.8416666667, 30.4583333333, 30.4583333333) 100%);
}

.metric-content {
  flex: 1;
  min-width: 0;
}

.metric-label {
  font-size: 0.875rem;
  color: #718096;
  font-weight: 500;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.metric-number {
  font-size: 1.75rem;
  font-weight: 700;
  color: #2d3748;
  line-height: 1;
}

.certificate-table-container .table tbody tr {
  border-bottom: 1px solid #e2e8f0;
}
.certificate-table-container .table tbody tr:hover {
  background-color: rgba(0, 95, 95, 0.02);
}
.certificate-table-container .table .fa-certificate {
  color: #005f5f;
  margin-right: 0.5rem;
}
.certificate-table-container .table .badge {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
}
.certificate-table-container .table .btn-group .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

.nav-tabs .nav-item .nav-link {
  color: #2d3748;
  border: 1px solid transparent;
}
.nav-tabs .nav-item .nav-link:hover {
  color: #005f5f;
  border-color: #e2e8f0;
}
.nav-tabs .nav-item .nav-link.active {
  color: #005f5f;
  background-color: white;
  border-color: #e2e8f0 #e2e8f0 white;
  font-weight: 600;
}
.nav-tabs .nav-item .nav-link i {
  color: inherit;
}

@media (max-width: 768px) {
  .certificate-table-container .table {
    font-size: 0.875rem;
  }
  .certificate-table-container .table .btn-group .btn {
    padding: 0.125rem 0.25rem;
    font-size: 0.7rem;
  }
  .certificate-table-container .table .badge {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
  }
  .row .col-md-3 {
    margin-bottom: 1rem;
  }
}
@media (prefers-contrast: high) {
  .certificate-table-container .table tbody tr:hover {
    background-color: rgba(0, 95, 95, 0.1);
  }
  .metric-card {
    border-width: 2px;
  }
}
@media print {
  .certificate-table-container .btn-group {
    display: none;
  }
  .certificate-table-container .badge {
    border: 1px solid #000;
    color: #000 !important;
    background: transparent !important;
  }
}
.forms-page .form-container {
  max-width: 800px;
  margin: 0 auto;
}
.forms-page .form-header {
  text-align: center;
  margin-bottom: 3rem;
}
.forms-page .form-header h1 {
  margin-bottom: 1rem;
  color: #2d3748;
}
.forms-page .form-header .form-description {
  color: #4a5568;
  font-size: 1.25rem;
}
.forms-page .form-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.forms-page .form-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.forms-page .form-card .form-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem;
}
.forms-page .form-card .form-steps .step {
  display: flex;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #e2e8f0;
  color: #4a5568;
  font-weight: 500;
  position: relative;
}
.forms-page .form-card .form-steps .step.step-active {
  background-color: #005f5f;
  color: #ffffff;
}
.forms-page .form-card .form-steps .step.step-completed {
  background-color: #22c55e;
  color: #ffffff;
}
.forms-page .form-card .form-steps .step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 60px;
  height: 2px;
  background-color: #e2e8f0;
  transform: translateY(-50%);
}
.forms-page .form-card .form-steps .step.step-completed:not(:last-child)::after {
  background-color: #22c55e;
}
.forms-page .form-section {
  margin-bottom: 3rem;
}
.forms-page .form-section .section-header {
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}
.forms-page .form-section .section-header h2 {
  margin: 0;
  color: #2d3748;
  font-size: 1.5rem;
}
.forms-page .form-section .section-header .section-description {
  margin-top: 0.5rem;
  color: #4a5568;
  font-size: 0.875rem;
}
.forms-page .form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
}
@media (min-width: 480px) {
  .forms-page .form-actions {
    flex-direction: column;
    gap: 1rem;
  }
}
.forms-page .form-actions .form-actions-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.forms-page .form-actions .form-actions-right {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 480px) {
  .forms-page .form-actions .form-actions-right {
    width: 100%;
  }
  .forms-page .form-actions .form-actions-right .btn {
    flex: 1;
  }
}
.forms-page .form-progress {
  background-color: #f7fafc;
  height: 8px;
  border-radius: 4px;
  margin-bottom: 3rem;
  overflow: hidden;
}
.forms-page .form-progress .progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #005f5f, #1e3a5f);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 4px;
}
.forms-page .form-validation-summary {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.forms-page .form-validation-summary:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.forms-page .form-validation-summary {
  background-color: #f8d7da;
  border-left: 4px solid #dc2626;
  margin-bottom: 1.5rem;
}
.forms-page .form-validation-summary h3 {
  color: #721c24;
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.forms-page .form-validation-summary ul {
  margin: 0;
  padding-left: 1.5rem;
}
.forms-page .form-validation-summary ul li {
  color: #721c24;
  margin-bottom: 0.25rem;
}
.forms-page .form-success-message {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.forms-page .form-success-message:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.forms-page .form-success-message {
  background-color: #e8f5e8;
  border-left: 4px solid #22c55e;
  text-align: center;
}
.forms-page .form-success-message .success-icon {
  font-size: 2.5rem;
  color: #22c55e;
  margin-bottom: 1.5rem;
}
.forms-page .form-success-message h2 {
  color: #2d5a27;
  margin-bottom: 1rem;
}
.forms-page .form-success-message p {
  color: #2d5a27;
  margin-bottom: 1.5rem;
}

.patient-data-view .access-info {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.patient-data-view .access-info:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.patient-data-view .access-info {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  border-left: 4px solid #005f5f;
}
.patient-data-view .access-info.access-break-glass {
  border-left-color: #f59e0b;
  background: #fcd34d;
}
.patient-data-view .access-info .access-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-items: center;
}
@media (min-width: 480px) {
  .patient-data-view .access-info .access-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.patient-data-view .access-info .emergency-reason {
  margin-top: 0.5rem;
}
.patient-data-view .translation-note {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: #718096;
  font-style: italic;
}
.patient-data-view .no-data-message {
  padding: 3rem;
  text-align: center;
  color: #718096;
}
.patient-data-view .no-data-message p {
  margin: 0;
}

.page-header .country-flag,
.page-header h1 .country-flag,
div.page-header img.country-flag {
  width: 48px !important;
  height: 32px !important;
  border-radius: 4px;
  vertical-align: middle;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.1);
  object-fit: cover;
  max-width: 48px !important;
  max-height: 32px !important;
}
@media (max-width: 640px) {
  .page-header .country-flag,
  .page-header h1 .country-flag,
  div.page-header img.country-flag {
    width: 40px !important;
    height: 27px !important;
    max-width: 40px !important;
    max-height: 27px !important;
  }
}

.page-header h1 {
  display: flex;
  align-items: center;
}
.page-header h1 .country-flag {
  margin-right: 0.75rem;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .page-header h1 {
    flex-direction: column;
    text-align: center;
  }
  .page-header h1 .country-flag {
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
}

.login .cancel-button {
  background-color: #e2e8f0;
  color: #2d3748;
  border: 1px solid #e2e8f0;
  padding: 0.5rem 1rem;
  margin-left: 0.5rem;
  text-decoration: none;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.4;
  display: inline-block;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.login .cancel-button:hover {
  background-color: #718096;
  text-decoration: none;
  color: #2d3748;
}
.login .cancel-button:focus {
  outline: 2px solid #005f5f;
  outline-offset: 2px;
}
.login .submit-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.login .submit-row input[type=submit] {
  margin: 0;
  background-color: #005f5f;
  border-color: #005f5f;
}
.login .submit-row input[type=submit]:hover {
  background-color: #004a4a;
  border-color: #004a4a;
}

.admin-dashboard #test-data-management {
  margin-top: 1.5rem;
}
.admin-dashboard #test-data-management caption {
  background: linear-gradient(135deg, #1e3a5f, #005f5f);
  color: #ffffff;
  font-weight: 700;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem 0.25rem 0 0;
}
.admin-dashboard #test-data-management caption a {
  color: #ffffff;
  text-decoration: none;
}
.admin-dashboard #test-data-management caption a:hover {
  color: #80bebf;
}
.admin-dashboard #test-data-management .model-row th {
  background: #f7fafc;
  font-weight: 700;
  color: #1e3a5f;
}
.admin-dashboard #test-data-management .model-row:hover {
  background: #f7fafc;
}

.admin-header {
  background-color: #005f5f;
  border-bottom: 3px solid #004a4a;
}
.admin-header h1 {
  color: #ffffff;
  font-family: "Georgia", "Times New Roman", serif;
}
.admin-header .user-tools a {
  color: #80bebf;
}
.admin-header .user-tools a:hover {
  color: #ffffff;
}

.admin-form .form-row {
  margin-bottom: 1rem;
}
.admin-form .required label:after {
  content: " *";
  color: #dc2626;
}
.admin-form .help {
  color: #718096;
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}
.admin-table th {
  background-color: #80bebf;
  color: #2d3748;
  padding: 0.5rem;
  text-align: left;
  font-weight: 600;
}
.admin-table td {
  padding: 0.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.admin-table tr:nth-child(even) {
  background-color: #f7fafc;
}
.admin-table tr:hover {
  background-color: #80bebf;
}

.import-status-card {
  background: #f7fafc;
  padding: 1.5rem;
  border-radius: 0.375rem;
  margin: 1rem 0;
  border: 1px solid #e2e8f0;
}

.status-info {
  margin-bottom: 1.5rem;
}
.status-info p {
  margin: 0.5rem 0;
}
.status-info code {
  background: #2d3748;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-family: monospace;
}

.progress-section {
  margin: 1.5rem 0;
}
.progress-section h4 {
  margin-bottom: 1rem;
}

.progress-bar-container {
  background: #718096;
  border-radius: 0.375rem;
  height: 25px;
  margin: 1rem 0;
  position: relative;
  overflow: hidden;
}

.progress-bar {
  background: linear-gradient(90deg, #22c55e 0%, #1a7f47 100%);
  height: 100%;
  border-radius: 0.375rem;
  transition: width 0.3s ease-in-out;
  width: 0%;
  position: relative;
}
.progress-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  background-size: 50px 50px;
  animation: progress-stripes 2s linear infinite;
}
.progress-bar.status-pending {
  background: linear-gradient(90deg, #f59e0b 0%, #d97706 100%);
}
.progress-bar.status-running {
  background: linear-gradient(90deg, #005f5f 0%, #0052a3 100%);
}
.progress-bar.status-completed {
  background: linear-gradient(90deg, #22c55e 0%, #1a7f47 100%);
}
.progress-bar.status-completed::before {
  animation: none;
}
.progress-bar.status-failed {
  background: linear-gradient(90deg, #dc2626 0%, #a31a1a 100%);
}
.progress-bar.status-failed::before {
  animation: none;
}

@keyframes progress-stripes {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 50px 50px;
  }
}
.progress-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 700;
  color: #2d3748;
  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8);
  z-index: 2;
  pointer-events: none;
}

.progress-message {
  margin: 1rem 0;
  font-style: italic;
  color: #718096;
  min-height: 1.5em;
  transition: opacity 0.2s ease;
}
.progress-message.updating {
  opacity: 0.6;
}

.progress-details {
  margin: 1rem 0;
}
.progress-details p {
  margin: 0.5rem 0;
}

.results-section {
  margin: 1.5rem 0;
}
.results-section h4 {
  margin-bottom: 1rem;
}

.success-message {
  background: #4ade80;
  color: #16a34a;
  padding: 1rem;
  border-radius: 0.375rem;
  margin: 1rem 0;
}
.success-message .success-list {
  margin: 1rem 0;
  padding-left: 1.5rem;
}
.success-message .success-list li {
  margin: 0.25rem 0;
}

.error-message {
  background: #f87171;
  color: #b91c1c;
  padding: 1rem;
  border-radius: 0.375rem;
  margin: 1rem 0;
}

.error-details {
  margin: 1rem 0;
}
.error-details h5 {
  margin-bottom: 0.5rem;
}

.error-log {
  max-height: 200px;
  overflow-y: auto;
  background: #f7fafc;
  padding: 1rem;
  border-radius: 0.25rem;
}
.error-log .error-item {
  margin: 0.25rem 0;
  font-family: monospace;
  font-size: 0.875rem;
}

.navigation-actions {
  margin: 1.5rem 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: flex-start;
}

.auto-refresh-info {
  margin: 1rem 0;
  padding: 1rem;
  background: #33969a;
  border-radius: 0.375rem;
  color: #004a4a;
}
.auto-refresh-info p {
  margin: 0 0 0.5rem 0;
}

.help-content {
  background: #f7fafc;
  padding: 1rem;
  border-radius: 0.375rem;
  margin: 1rem 0;
  border: 1px solid #e2e8f0;
}
.help-content h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.help-content ul {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}
.help-content li {
  margin: 0.25rem 0;
}

.help-section {
  margin-top: 2rem;
  padding: 1.5rem;
  background: #33969a;
  border-radius: 0.375rem;
  color: #004a4a;
}
.help-section h3 {
  margin-top: 0;
  margin-bottom: 1rem;
}
.help-section ul {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}
.help-section li {
  margin: 0.25rem 0;
}
.help-section a {
  color: #005f5f;
  text-decoration: none;
}
.help-section a:hover {
  text-decoration: underline;
}

.progress-indicator {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: #33969a;
  border-radius: 0.375rem;
  color: #004a4a;
}
.progress-indicator.hidden {
  display: none;
}
.progress-indicator h3 {
  margin-top: 0;
  margin-bottom: 1rem;
}
.progress-indicator p {
  margin: 0.5rem 0;
}
.progress-indicator p small {
  font-size: 0.75rem;
  color: #718096;
}

.country-selection-page {
  min-height: 100vh;
  background: #f7fafc;
}
.country-selection-page .country-header {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  padding: 2rem 1.5rem;
  margin: 0 0 2rem 0;
  position: relative;
  overflow: hidden;
}
.country-selection-page .country-header::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 20px 20px;
  animation: float 10s linear infinite;
}
.country-selection-page .country-header h1 {
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.country-selection-page .country-header .page-subtitle {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.25rem;
  margin: 0.5rem 0 0 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.country-selection-page .country-header .header-actions {
  margin-left: 2rem;
}
@media (min-width: 480px) {
  .country-selection-page .country-header .header-actions {
    margin-left: 0;
  }
}
.country-selection-page .country-header .header-actions a {
  font-size: 0.875rem;
}
@media (min-width: 480px) {
  .country-selection-page .country-header {
    padding: 1.5rem;
  }
  .country-selection-page .country-header h1 {
    font-size: 1.5rem;
  }
  .country-selection-page .country-header .header-actions {
    margin-top: 1rem;
  }
  .country-selection-page .country-header .header-actions a {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
}
.country-selection-page .page-header {
  text-align: center;
  margin-bottom: 2rem;
}
.country-selection-page .page-header .page-title {
  color: #2d3748;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.country-selection-page .page-header .page-subtitle {
  color: #718096;
  font-size: 1.25rem;
  margin-bottom: 2rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.country-selection-page .search-section {
  margin-bottom: 2rem;
  text-align: center;
}
.country-selection-page .search-section .search-box {
  max-width: 500px;
  margin: 0 auto;
  position: relative;
}
.country-selection-page .search-section .search-box::before {
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.25rem;
  opacity: 0.5;
  z-index: 2;
}
.country-selection-page .search-section .search-input {
  width: 100%;
  padding: 1.5rem 2rem;
  padding-right: 50px;
  border: 2px solid #e2e8f0;
  border-radius: 0.5rem;
  font-size: 1.125rem;
  background: #ffffff;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.country-selection-page .search-section .search-input:focus {
  outline: none;
  border-color: #005f5f;
  box-shadow: 0 0 0 4px rgba(0, 95, 95, 0.1);
  transform: translateY(-2px);
}
.country-selection-page .search-section .search-input::placeholder {
  color: #718096;
}
.country-selection-page .country-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 480px) {
  .country-selection-page .country-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
  }
}
.country-selection-page .country-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.country-selection-page .country-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.country-selection-page .country-card {
  padding: 1.5rem;
  text-align: center;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f8f9ff 0%, #f1f3ff 100%);
  border: 2px solid #e2e8f0;
}
.country-selection-page .country-card:hover:not(.unavailable) {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(102, 126, 234, 0.2);
  border-color: #005f5f;
  background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
}
.country-selection-page .country-card.unavailable {
  opacity: 0.6;
  cursor: not-allowed;
  background: #f7fafc;
}
.country-selection-page .country-card.unavailable:hover {
  transform: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.country-selection-page .country-card .country-flag {
  width: 60px;
  height: 45px;
  margin: 0 auto 1rem auto;
  border-radius: 0.25rem;
  overflow: hidden;
  background: #718096;
  border: 2px solid rgba(255, 255, 255, 0.5);
}
.country-selection-page .country-card .country-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.125rem;
}
.country-selection-page .country-card .country-name {
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
}
.country-selection-page .country-card .country-status {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  display: inline-block;
}
.country-selection-page .country-card .country-status.available {
  color: #16a34a;
  background: linear-gradient(135deg, #4ade80 0%, #dcfce7 100%);
}
.country-selection-page .country-card .country-status.unavailable {
  color: #b91c1c;
  background: linear-gradient(135deg, #f87171 0%, #fee2e2 100%);
}
.country-selection-page .footer-actions {
  text-align: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 2px solid #e2e8f0;
}
.country-selection-page .footer-actions .btn {
  margin: 0 0.5rem;
}
@media (min-width: 480px) {
  .country-selection-page .footer-actions .btn {
    display: block;
    margin: 0.5rem 0;
    width: 100%;
  }
}

.btn-lg {
  padding: 1rem 2rem;
  font-size: 1.25rem;
  border-radius: 0.375rem;
  position: relative;
  overflow: hidden;
}
.btn-lg::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.btn-lg:hover::before {
  left: 100%;
}
.btn-lg:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 95, 95, 0.4);
}

@keyframes float {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  33% {
    transform: translate(1px, -1px) rotate(1deg);
  }
  66% {
    transform: translate(-1px, 1px) rotate(-1deg);
  }
}
.break-glass-reason.hidden {
  display: none;
}

.no-services-message {
  grid-column: 1/-1;
  text-align: center;
  padding: 2rem;
  color: var(--hse-text-secondary);
}

.view-data-link {
  margin-left: 1rem;
  color: var(--hse-primary);
  text-decoration: none;
}
.view-data-link:hover {
  text-decoration: underline;
}

.pdf-frame {
  border: 1px solid var(--hse-border);
  display: block;
}

.pdf-controls {
  margin-top: 10px;
  text-align: center;
}

.fullscreen-modal.hidden {
  display: none;
}
.fullscreen-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.95);
  z-index: 10000;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.fullscreen-modal.show {
  opacity: 1;
}

.fullscreen-content {
  position: relative;
  width: 95%;
  height: 95%;
  margin: 2.5%;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.fullscreen-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background: var(--hse-primary);
  color: white;
}
.fullscreen-header .fullscreen-title h2 {
  margin: 0;
  font-size: 1.2rem;
}
.fullscreen-header .fullscreen-controls {
  display: flex;
  gap: 0.5rem;
}

.fullscreen-pdf-container {
  height: calc(100% - 70px);
  position: relative;
}
.fullscreen-pdf-container .fullscreen-pdf-frame {
  width: 100%;
  height: 100%;
  border: none;
}

@media (max-width: 768px) {
  .fullscreen-content {
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
  }
  .fullscreen-header {
    padding: 0.75rem 1rem;
  }
  .fullscreen-header .fullscreen-title h2 {
    font-size: 1rem;
  }
}
.file-upload-label {
  border: 2px dashed var(--hse-secondary-light);
  padding: 1rem;
  border-radius: 4px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.file-upload-label:hover {
  border-color: var(--hse-primary);
  background-color: var(--hse-background-light);
}
.file-upload-label.upload-dragover {
  border-color: var(--hse-primary);
  background-color: var(--hse-primary-light);
}
.file-upload-label.upload-ready {
  border-color: var(--hse-success);
  background-color: var(--hse-success-light);
}
.file-upload-label.upload-error {
  border-color: var(--hse-error);
  background-color: var(--hse-error-light);
}

#fileUploadFeedback {
  margin-top: 0.5rem;
}
#fileUploadFeedback.hidden {
  display: none;
}
#fileUploadFeedback .text-success {
  color: var(--hse-success);
}
#fileUploadFeedback .text-error {
  color: var(--hse-error);
}

.patient-search-form .form-actions {
  margin-top: 1.5rem;
  text-align: center;
}
.patient-search-form .break-glass-explanation {
  font-size: 0.9rem;
  color: var(--hse-text-secondary);
  margin-bottom: 1rem;
}

.pdf-viewer-container.hidden {
  display: none;
}
.pdf-viewer-container .pdf-viewer-background {
  background-color: var(--hse-background-light);
}
.pdf-viewer-container .pdf-frame-rounded {
  border-radius: 0 0 0.375rem 0.375rem;
}

.pdf-fallback.hidden {
  display: none;
}

.patient-details-container {
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.patient-details-header {
  margin-bottom: 2rem;
}
.patient-details-header .breadcrumb-nav {
  margin-bottom: 1rem;
}
.patient-details-header .breadcrumb-nav .breadcrumb-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #005f5f;
  text-decoration: none;
  font-size: 0.9rem;
}
.patient-details-header .breadcrumb-nav .breadcrumb-link:hover {
  text-decoration: underline;
}
.patient-details-header .page-title {
  font-size: 2rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 0.5rem;
}
.patient-details-header .match-confidence-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
}
.patient-details-header .match-confidence-badge.success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.patient-details-header .match-confidence-badge.warning {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7;
}

.patient-details-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .patient-details-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .patient-details-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.patient-info-card,
.patient-summary-card,
.document-actions-card,
.no-match-card {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.patient-info-card .card-header,
.patient-summary-card .card-header,
.document-actions-card .card-header,
.no-match-card .card-header {
  background: #f7fafc;
  padding: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.patient-info-card .card-header .card-title,
.patient-summary-card .card-header .card-title,
.document-actions-card .card-header .card-title,
.no-match-card .card-header .card-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}
.patient-info-card .card-header .card-subtitle,
.patient-summary-card .card-header .card-subtitle,
.document-actions-card .card-header .card-subtitle,
.no-match-card .card-header .card-subtitle {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: #718096;
}
.patient-info-card .card-content,
.patient-summary-card .card-content,
.document-actions-card .card-content,
.no-match-card .card-content {
  padding: 1.5rem;
}

.info-grid {
  display: grid;
  gap: 1rem;
}
.info-grid .info-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.info-grid .info-item .info-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.info-grid .info-item .info-value {
  font-size: 1rem;
  color: #2d3748;
  font-weight: 500;
}

.action-buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.action-buttons .action-button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
}
.action-buttons .action-button .button-subtitle {
  font-size: 0.8rem;
  font-weight: 400;
  opacity: 0.8;
  margin-left: auto;
}
.action-buttons .action-button.primary {
  background: #005f5f;
  color: white;
}
.action-buttons .action-button.primary:hover {
  background: #002c2c;
}
.action-buttons .action-button.secondary {
  background: #f7fafc;
  color: #2d3748;
  border: 1px solid #e2e8f0;
}
.action-buttons .action-button.secondary:hover {
  background: rgb(228.4545454545, 238.4090909091, 245.0454545455);
}
.action-buttons .action-button.accent {
  background: linear-gradient(135deg, #1e3a5f, #2d5a27);
  color: white;
  border: none;
}
.action-buttons .action-button.accent:hover {
  background: linear-gradient(135deg, rgb(17.76, 34.336, 56.24), rgb(27.2093023256, 54.4186046512, 23.5813953488));
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.action-buttons .action-button.outline {
  background: transparent;
  color: #005f5f;
  border: 1px solid #005f5f;
}
.action-buttons .action-button.outline:hover {
  background: #005f5f;
  color: white;
}
.action-buttons .action-button.pdf-download {
  background: #dc3545;
  color: white;
  border: none;
}
.action-buttons .action-button.pdf-download:hover {
  background: rgb(189.2151898734, 32.7848101266, 47.7721518987);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.25);
}
.action-buttons .action-button.pdf-download:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(220, 53, 69, 0.25);
}

.document-metadata .metadata-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 0.9rem;
  color: #718096;
  border-bottom: 1px solid #e2e8f0;
}
.document-metadata .metadata-item:last-child {
  border-bottom: none;
}

.no-match-message {
  text-align: center;
}
.no-match-message > i {
  font-size: 3rem;
  color: #718096;
  margin-bottom: 1rem;
  display: block;
}
.no-match-message h3 {
  font-size: 1.5rem;
  color: #2d3748;
  margin-bottom: 1rem;
}
.no-match-message p {
  color: #718096;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.no-match-message .search-suggestions {
  background: #f7fafc;
  padding: 1.5rem;
  border-radius: 6px;
  margin-bottom: 2rem;
  text-align: left;
}
.no-match-message .search-suggestions h4 {
  font-size: 1rem;
  color: #2d3748;
  margin-bottom: 1rem;
}
.no-match-message .search-suggestions ul {
  margin: 0;
  padding-left: 1.5rem;
}
.no-match-message .search-suggestions ul li {
  color: #718096;
  margin-bottom: 0.5rem;
}

.cda-document-container {
  padding: 2rem;
  max-width: 1400px;
  margin: 0 auto;
}

.page-header {
  margin-bottom: 2rem;
}
.page-header .page-title {
  font-size: 2rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 0.5rem;
}
.page-header .page-subtitle {
  color: #718096;
  font-size: 1rem;
}

.document-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}
@media (max-width: 768px) {
  .document-actions {
    flex-direction: column;
  }
}

@media (min-width: 768px) {
  .grid-span-2 {
    grid-column: span 2;
  }
}

@media (min-width: 1024px) {
  .grid-span-3 {
    grid-column: span 3;
  }
}

@media (max-width: 768px) {
  .patient-details-container,
  .cda-document-container {
    padding: 1rem;
  }
  .patient-details-grid {
    grid-template-columns: 1fr;
  }
  .action-buttons .action-button {
    flex-direction: column;
    text-align: center;
  }
  .action-buttons .action-button .button-subtitle {
    margin-left: 0;
    margin-top: 0.25rem;
  }
}
.cda-document-container {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  background: #ffffff;
  color: #4a4a4a;
  padding: 0;
  max-width: 1400px;
  margin: 0 auto;
}

.ps-header {
  background: linear-gradient(135deg, #085a9f 0%, #009fd1 100%);
  color: #ffffff;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.ps-header .ps-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.ps-header .ps-subtitle {
  font-size: 1.1rem;
  opacity: 0.9;
  font-weight: 400;
}

.patient-identity-banner {
  background: #e6f2ff;
  border: 3px solid #085a9f;
  padding: 1.5rem;
  margin: 1rem 0;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.patient-identity-banner .patient-identity-left .patient-name {
  font-size: 1.5rem;
  color: #085a9f;
  margin-bottom: 0.5rem;
}
.patient-identity-banner .patient-identity-left .patient-details {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.patient-identity-banner .patient-identity-left .patient-details span {
  background: #ffffff;
  padding: 0.25rem 0.75rem;
  border-radius: 15px;
  font-size: 0.9rem;
  font-weight: 500;
  border: 1px solid #009fd1;
}
.patient-identity-banner .patient-identity-right {
  text-align: right;
}
.patient-identity-banner .patient-identity-right .document-meta {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.patient-identity-banner .patient-identity-right .document-meta div {
  background: #ffffff;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-weight: 500;
  border: 1px solid #009fd1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 0.85rem;
}
.patient-identity-banner .patient-identity-right .document-meta div i {
  margin-right: 0.4rem;
  opacity: 0.8;
}
.patient-identity-banner .patient-identity-right .document-meta .document-country {
  background: linear-gradient(135deg, #085a9f, #009fd1);
  color: #ffffff;
  border-color: #085a9f;
  font-size: 0.9rem;
  font-weight: 600;
}
.patient-identity-banner .patient-identity-right .document-meta .document-creation-date {
  background: linear-gradient(135deg, #e8f5e8, #d4edda);
  border-color: #28a745;
}
.patient-identity-banner .patient-identity-right .document-meta .document-creation-date i {
  color: #28a745;
}
.patient-identity-banner .patient-identity-right .document-meta .document-update-date {
  background: linear-gradient(135deg, #fff3cd, #ffeaa7);
  border-color: #ffc107;
}
.patient-identity-banner .patient-identity-right .document-meta .document-update-date i {
  color: #e67e22;
}
.patient-identity-banner .patient-identity-right .document-meta .document-update-date.critical-info {
  background: linear-gradient(135deg, #fff3cd, #f39c12);
  border-color: #e67e22;
  border-width: 2px;
  font-weight: 600;
  animation: subtle-pulse 3s ease-in-out infinite;
}
.patient-identity-banner .patient-identity-right .document-meta .document-update-date.critical-info i {
  color: #d35400;
  font-weight: bold;
}
.patient-identity-banner .patient-identity-right .document-meta .document-version {
  background: linear-gradient(135deg, #e2f3f8, #d1ecf1);
  border-color: #17a2b8;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  font-size: 0.8rem;
}
.patient-identity-banner .patient-identity-right .document-meta .document-version i {
  color: #17a2b8;
}
.patient-identity-banner .patient-identity-right .document-meta .document-language {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border-color: #6c757d;
  opacity: 0.9;
  font-size: 0.8rem;
}

.safety-alerts-section {
  background: linear-gradient(135deg, #dc3545 0%, #e74c3c 100%);
  color: #ffffff;
  padding: 1.5rem;
  margin: 1rem 0 2rem 0;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}
.safety-alerts-section .alert-header {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}
.safety-alerts-section .alert-header i {
  font-size: 1.5rem;
  animation: pulse 2s infinite;
}
.safety-alerts-section .allergy-alerts,
.safety-alerts-section .medical-alerts {
  margin-bottom: 1rem;
}
.safety-alerts-section .allergy-alerts h4,
.safety-alerts-section .medical-alerts h4 {
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
  border-bottom: 2px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 0.5rem;
}
.safety-alerts-section .allergy-alerts .alert-item,
.safety-alerts-section .medical-alerts .alert-item {
  background: rgba(255, 255, 255, 0.15);
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  border-radius: 8px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.safety-alerts-section .allergy-alerts .alert-item.allergy,
.safety-alerts-section .medical-alerts .alert-item.allergy {
  display: flex;
  justify-content: space-between;
}
.safety-alerts-section .allergy-alerts .alert-item.allergy .alert-substance,
.safety-alerts-section .medical-alerts .alert-item.allergy .alert-substance {
  font-weight: 600;
}
.safety-alerts-section .allergy-alerts .alert-item.allergy .alert-reaction,
.safety-alerts-section .medical-alerts .alert-item.allergy .alert-reaction {
  font-style: italic;
}

.cda-translation-dashboard {
  background: linear-gradient(135deg, #085a9f 0%, #009fd1 100%);
  color: white;
  padding: 2rem;
  border-radius: 15px;
  margin-bottom: 2rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
.cda-translation-dashboard .dashboard-title {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}
.cda-translation-dashboard .dashboard-subtitle {
  opacity: 0.9;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}

.translation-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.stat-card {
  background: rgba(255, 255, 255, 0.15);
  padding: 1.5rem;
  border-radius: 12px;
  text-align: center;
  backdrop-filter: blur(15px);
  border: 2px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.stat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
}
.stat-card.quality {
  border-left: 5px solid #28a745;
}
.stat-card.sections {
  border-left: 5px solid #009fd1;
}
.stat-card.medical-terms {
  border-left: 5px solid #ffc107;
}
.stat-card.coded {
  border-left: 5px solid #6f42c1;
}
.stat-card.compliance {
  border-left: 5px solid #28a745;
}
.stat-card .stat-icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  opacity: 0.8;
}
.stat-card .stat-content .stat-value {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.stat-card .stat-content .stat-label {
  font-size: 0.9rem;
  opacity: 0.9;
  font-weight: 500;
}

.container {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  column-gap: 10px;
  row-gap: 10px;
}

.wrap-collapsible {
  margin-bottom: 1.2rem;
  width: 100%;
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  animation: fadeInUp 0.5s ease-out;
}

input[type=checkbox] {
  display: none;
}

.lbl-toggle-main {
  display: block;
  font-weight: bold;
  color: #085a9f;
  font-size: 15px;
  text-align: left;
  padding: 1rem 1.5rem;
  border: 2px solid #085a9f;
  background: #fff;
  cursor: pointer;
  border-radius: 10px 10px 0 0;
  transition: all 0.25s ease-out;
  margin: 0;
}
.lbl-toggle-main:hover {
  color: #009fd1;
  background: #f8f9fa;
}
.lbl-toggle-main::before {
  content: " ";
  display: inline-block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid currentColor;
  vertical-align: middle;
  margin-right: 0.7rem;
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

.toggle:checked + .lbl-toggle-main::before {
  transform: rotate(90deg) translateX(-3px);
}

.lbl-toggle-title {
  display: block;
  font-weight: bold;
  color: #fff;
  font-size: 15px;
  text-align: left;
  padding: 1rem 1.5rem;
  border: 2px solid #085a9f;
  background: #085a9f;
  cursor: pointer;
  border-radius: 3px;
  transition: all 0.25s ease-out;
  margin: 0;
}
.lbl-toggle-title:hover {
  color: #009fd1;
}
.lbl-toggle-title::before {
  content: " ";
  display: inline-block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid currentColor;
  vertical-align: middle;
  margin-right: 0.7rem;
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

.toggle:checked + .lbl-toggle-title::before {
  transform: rotate(90deg) translateX(-3px);
}

.lbl-toggle {
  display: block;
  color: #009fd1;
  font-weight: bold;
  font-size: 13px;
  text-align: left;
  padding: 0.8rem 1.5rem;
  border: 2px solid #009fd1;
  background: #fff;
  cursor: pointer;
  border-radius: 3px;
  transition: all 0.25s ease-out;
  margin: 0.5rem 0;
}
.lbl-toggle:hover {
  background: #f8f9fa;
}
.lbl-toggle::before {
  content: " ";
  display: inline-block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid currentColor;
  vertical-align: middle;
  margin-right: 0.7rem;
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

.toggle:checked + .lbl-toggle::before {
  transform: rotate(90deg) translateX(-3px);
}

.collapsible-content-main,
.collapsible-content-title,
.collapsible-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-in-out;
}

.toggle:checked + .lbl-toggle-main + .collapsible-content-main,
.toggle:checked + .lbl-toggle-title + .collapsible-content-title,
.toggle:checked + .lbl-toggle + .collapsible-content {
  max-height: none;
  overflow: visible;
}

.content-inner-main,
.content-inner-title,
.content-inner {
  background: white;
  border-bottom: 2px solid #085a9f;
  border-left: 2px solid #085a9f;
  border-right: 2px solid #085a9f;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  padding: 1.5rem;
}

.translation_table,
.medication_summary_table,
.extended_header_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-bottom: 1rem;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.translation_table th,
.medication_summary_table th,
.extended_header_table th {
  background: #e6f2ff;
  color: #4a4a4a;
  font-size: 12px;
  font-weight: bold;
  padding: 12px;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid #009fd1;
}
.translation_table th.subtitle,
.medication_summary_table th.subtitle,
.extended_header_table th.subtitle {
  background: #009fd1;
  color: #ffffff;
}
.translation_table td,
.medication_summary_table td,
.extended_header_table td {
  font-size: 12px;
  padding: 12px;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid #ecf0f1;
}
.translation_table tr:nth-child(even),
.medication_summary_table tr:nth-child(even),
.extended_header_table tr:nth-child(even) {
  background: #ffffff;
}
.translation_table tr:nth-child(odd),
.medication_summary_table tr:nth-child(odd),
.extended_header_table tr:nth-child(odd) {
  background: #e6f2ff;
}

.mobile-view {
  display: none;
}

.web-view {
  display: block;
}

.toggle-container {
  display: flex;
  justify-content: space-between;
  margin: 15px;
  gap: 2px;
}

.toggle-button-translated,
.toggle-button-original {
  padding: 12px 20px;
  flex-grow: 1;
  text-align: center;
  background-color: #fff;
  color: #085a9f;
  border: 2px solid #085a9f;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.3s ease;
  font-size: 13px;
  border-radius: 5px;
}
.toggle-button-translated:hover,
.toggle-button-original:hover {
  background-color: #085a9f;
  color: #fff;
}
.toggle-button-translated.active,
.toggle-button-original.active {
  background-color: #085a9f;
  color: #fff;
}

.data-section {
  margin-bottom: 2rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.section-header {
  background: linear-gradient(135deg, #085a9f 0%, #009fd1 100%);
  color: white;
  padding: 1rem 1.5rem;
  font-weight: bold;
  font-size: 1.1em;
}

.section-content {
  padding: 1.5rem;
}

.compliance-indicators {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

.indicator {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 500;
}
.indicator.coded {
  background: #e8f5e8;
  color: #2d5a27;
  border: 1px solid #4a7c59;
}
.indicator.free-text {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7;
}

.section-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: 0.5rem;
}
.section-type-badge.coded {
  background: #e8f5e8;
  color: #2d5a27;
  border: 1px solid #4a7c59;
}
.section-type-badge.free-text {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7;
}

.section-code-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 500;
  font-family: "Courier New", monospace;
  background: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
  margin-left: 0.5rem;
}

.medical-terms-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 600;
  background: #e6f2ff;
  color: #085a9f;
  border: 1px solid #009fd1;
  margin-left: 0.5rem;
}

.code-system-badge {
  display: none;
  font-size: 0.7rem;
  font-weight: 600;
  font-family: "Courier New", monospace;
  color: #2c5530;
  margin-left: 0.5rem;
  margin-right: 0.75rem;
  padding: 0.2rem 0.4rem;
  border: 1px solid #4a7c59;
  background: #e8f5e8;
  border-radius: 4px;
  white-space: nowrap;
  font-style: normal;
}
.code-system-badge::before {
  content: "✓ ";
  color: #28a745;
  font-weight: bold;
  margin-right: 0.15rem;
}
.code-system-badge.show {
  display: inline-block;
  opacity: 1;
}
.code-system-badge:not(:last-child) {
  margin-right: 0.75rem;
}

.table-cell-enhanced .primary-content {
  display: block;
  line-height: 1.3;
  margin-bottom: 0.125rem;
}
.table-cell-enhanced .badge-row {
  display: none;
  margin-top: 0.5rem;
  padding-top: 0.375rem;
  border-top: 1px solid rgba(74, 124, 89, 0.2);
  font-size: 0.7rem;
  line-height: 1.3;
  opacity: 1;
  background: rgba(232, 245, 232, 0.3);
}
.table-cell-enhanced .badge-row.show {
  display: block;
}
.table-cell-enhanced .badge-row .code-system-badge {
  display: inline-block;
  margin-right: 1rem;
}
.table-cell-enhanced .badge-row .code-system-badge:last-child {
  margin-right: 0;
}
.table-cell-enhanced .badge-row::before {
  content: "Terminology Source: ";
  font-size: 0.65rem;
  color: #6c757d;
  font-weight: 500;
  margin-right: 0.5rem;
  font-style: italic;
}

/* Updated CSS for badge toggle functionality */
.patient-summary-table td,
.patient-summary-table .ps-td,
.ps-table td,
.ps-table .ps-td {
  position: relative;
  vertical-align: top;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes subtle-pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.02);
    opacity: 0.95;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (prefers-contrast: high) {
  .stat-card {
    border: 3px solid #ffffff;
    background: rgba(255, 255, 255, 0.3);
  }
  .patient-identity-banner {
    border-width: 4px;
  }
  .safety-alerts-section {
    border: 3px solid #ffffff;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
.cda-viewer {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
}
.cda-viewer .cda-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background: #f8f9fa;
  border-bottom: 1px solid #dee2e6;
}
.cda-viewer .cda-toolbar .toolbar-left h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
}
.cda-viewer .cda-toolbar .toolbar-right {
  display: flex;
  gap: 1rem;
}
.cda-viewer .cda-content {
  background: #2d3748;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
.cda-viewer .cda-content #xmlContent {
  background: #2d3748;
  color: #f7fafc;
  padding: 1.5rem;
  margin: 0;
  font-family: "Courier New", monospace;
  font-size: 12px;
  line-height: 1.4;
  overflow-x: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
}

@media (max-width: 768px) {
  .cda-document-container {
    padding: 0.5rem;
  }
  .h1center {
    font-size: 1.3em;
    padding: 0.5rem;
  }
  .cda-translation-dashboard {
    padding: 1rem;
    border-radius: 8px;
  }
  .translation-stats {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .stat-value {
    font-size: 1.5rem;
  }
  .toggle-container {
    flex-direction: column;
    gap: 0.5rem;
  }
  .toggle-button-translated,
  .toggle-button-original {
    padding: 10px 15px;
    font-size: 12px;
  }
  .cda-toolbar {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  .cda-toolbar .toolbar-right {
    justify-content: center;
  }
}
.ps-table-container {
  margin: 1.5rem 0;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.ps-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  font-size: 0.9rem;
}
.ps-table .ps-th {
  background: linear-gradient(135deg, #085a9f 0%, #009fd1 100%);
  color: #ffffff;
  font-weight: 600;
  padding: 1rem 0.75rem;
  text-align: left;
  border: none;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.ps-table .ps-td {
  padding: 0.875rem 0.75rem;
  border-bottom: 1px solid #e9ecef;
  vertical-align: top;
  line-height: 1.5;
}
.ps-table .ps-tr:hover {
  background-color: #e6f2ff;
  transition: background-color 0.2s ease;
}
.ps-table .ps-row-even {
  background-color: #ffffff;
}
.ps-table .ps-row-odd {
  background-color: #f8f9fa;
}

.ps-table-medications .ps-th:nth-child(1) {
  width: 20%;
}
.ps-table-medications .ps-th:nth-child(2) {
  width: 15%;
}
.ps-table-medications .ps-th:nth-child(3) {
  width: 12%;
}
.ps-table-medications .ps-th:nth-child(4) {
  width: 8%;
}
.ps-table-medications .ps-th:nth-child(5) {
  width: 12%;
}
.ps-table-medications .ps-th:nth-child(6) {
  width: 10%;
}
.ps-table-medications .ps-th:nth-child(7) {
  width: 10%;
}
.ps-table-medications .ps-th:nth-child(8) {
  width: 13%;
}

.ps-table-allergies .ps-th:nth-child(1) {
  width: 20%;
}
.ps-table-allergies .ps-th:nth-child(2) {
  width: 25%;
}
.ps-table-allergies .ps-th:nth-child(3) {
  width: 20%;
}
.ps-table-allergies .ps-th:nth-child(4) {
  width: 15%;
}
.ps-table-allergies .ps-th:nth-child(5) {
  width: 20%;
}

.ps-table-problems .ps-th:nth-child(1) {
  width: 30%;
}
.ps-table-problems .ps-th:nth-child(2) {
  width: 15%;
}
.ps-table-problems .ps-th:nth-child(3) {
  width: 15%;
}
.ps-table-problems .ps-th:nth-child(4) {
  width: 40%;
}

.ps-table-procedures .ps-th:nth-child(1) {
  width: 25%;
}
.ps-table-procedures .ps-th:nth-child(2) {
  width: 15%;
}
.ps-table-procedures .ps-th:nth-child(3) {
  width: 20%;
}
.ps-table-procedures .ps-th:nth-child(4) {
  width: 15%;
}
.ps-table-procedures .ps-th:nth-child(5) {
  width: 25%;
}

.ps-table-results .ps-th:nth-child(1) {
  width: 25%;
}
.ps-table-results .ps-th:nth-child(2) {
  width: 15%;
}
.ps-table-results .ps-th:nth-child(3) {
  width: 20%;
}
.ps-table-results .ps-th:nth-child(4) {
  width: 15%;
}
.ps-table-results .ps-th:nth-child(5) {
  width: 25%;
}

@media (max-width: 768px) {
  .ps-table .ps-th,
  .ps-table .ps-td {
    padding: 0.5rem;
    font-size: 0.8rem;
  }
  .ps-table-container {
    margin: 1rem 0;
    overflow-x: auto;
  }
}
.administrative-section {
  margin-bottom: 2rem;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.administrative-section .admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  padding: 1.5rem;
}

.admin-contact-card {
  background: #e6f2ff;
  border: 2px solid #009fd1;
  border-radius: 8px;
  padding: 1.25rem;
  transition: all 0.3s ease;
}
.admin-contact-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 159, 209, 0.2);
}
.admin-contact-card .admin-card-header {
  background: #009fd1;
  color: #ffffff;
  font-weight: 600;
  padding: 0.75rem 1rem;
  margin: -1.25rem -1.25rem 1rem -1.25rem;
  border-radius: 6px 6px 0 0;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  line-height: 1.3;
}
.admin-contact-card .admin-card-header .fa,
.admin-contact-card .admin-card-header .fa-solid {
  margin-right: 0.5rem;
  opacity: 0.9;
}
.admin-contact-card .admin-info-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(8, 90, 159, 0.1);
}
.admin-contact-card .admin-info-row:last-child {
  margin-bottom: 0;
  border-bottom: none;
}
.admin-contact-card .admin-info-row .admin-label {
  font-weight: 600;
  color: #085a9f;
  font-size: 0.85rem;
  min-width: 80px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.admin-contact-card .admin-info-row .admin-value {
  color: #4a4a4a;
  font-size: 0.9rem;
  line-height: 1.4;
  text-align: right;
  flex: 1;
  margin-left: 1rem;
}
.admin-contact-card .admin-info-row .admin-value.organization-name {
  font-weight: 600;
  color: #085a9f;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  line-height: 1.3;
}
.admin-contact-card .admin-info-row .admin-value.person-name {
  font-weight: 600;
  color: #4a4a4a;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.3;
}
.admin-contact-card .admin-info-row .admin-value.contact-info {
  font-family: "Courier New", monospace;
  font-size: 0.8rem;
  background: rgba(255, 255, 255, 0.7);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px solid rgba(8, 90, 159, 0.2);
}
.admin-contact-card .admin-info-row .admin-value .contact-item {
  display: block;
  margin-bottom: 0.25rem;
}
.admin-contact-card .admin-info-row .admin-value .contact-item:last-child {
  margin-bottom: 0;
}
.admin-contact-card .admin-info-row .admin-value .contact-item .contact-type {
  font-weight: 500;
  color: #009fd1;
  margin-right: 0.5rem;
  text-transform: capitalize;
}
.admin-contact-card .admin-info-row .admin-value .contact-item .contact-address {
  color: #4a4a4a;
  line-height: 1.3;
}
.admin-contact-card.patient-contact {
  border-color: #28a745;
  background: rgb(195.7028985507, 240.7971014493, 206);
}
.admin-contact-card.patient-contact .admin-card-header {
  background: #28a745;
}
.admin-contact-card.author-contact {
  border-color: #085a9f;
}
.admin-contact-card.author-contact .admin-card-header {
  background: #085a9f;
}
.admin-contact-card.legal-authenticator {
  border-color: #ffc107;
  background: #fff4d3;
}
.admin-contact-card.legal-authenticator .admin-card-header {
  background: #ffc107;
  color: #4a4a4a;
}
.admin-contact-card.custodian {
  border-color: #6f42c1;
  background: rgb(242.6653386454, 238.8107569721, 249.6892430279);
}
.admin-contact-card.custodian .admin-card-header {
  background: #6f42c1;
}
.admin-contact-card.guardian {
  border-color: #dc3545;
  background: rgb(253.8924050633, 248.6075949367, 249.1139240506);
}
.admin-contact-card.guardian .admin-card-header {
  background: #dc3545;
}
.admin-contact-card.cabinet-medicale {
  border-color: #17a2b8;
  background: rgb(189.6666666667, 239.0217391304, 246.8333333333);
}
.admin-contact-card.cabinet-medicale .admin-card-header {
  background: #17a2b8;
}
.admin-contact-card.participant-contact {
  border-color: #fd7e14;
  background: rgb(254.9367088608, 250.917721519, 247.5632911392);
}
.admin-contact-card.participant-contact .admin-card-header {
  background: #fd7e14;
}

.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .contact-info-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.admin-empty-state {
  text-align: center;
  padding: 2rem;
  color: #6c757d;
  font-style: italic;
}
.admin-empty-state .fa,
.admin-empty-state .fa-solid {
  font-size: 2rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.admin-empty-state p {
  margin: 0;
  font-size: 0.9rem;
}

@media (max-width: 768px) {
  .administrative-section .admin-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  .admin-contact-card {
    padding: 1rem;
  }
  .admin-contact-card .admin-card-header {
    margin: -1rem -1rem 0.75rem -1rem;
    font-size: 0.8rem;
  }
  .admin-contact-card .admin-info-row {
    flex-direction: column;
    gap: 0.25rem;
  }
  .admin-contact-card .admin-info-row .admin-label {
    min-width: auto;
    margin-bottom: 0.25rem;
  }
  .admin-contact-card .admin-info-row .admin-value {
    text-align: left;
    margin-left: 0;
  }
}
@media print {
  .ps-table {
    break-inside: avoid;
  }
  .ps-table .ps-th {
    background: #f0f0f0 !important;
    color: #000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ps-table .ps-tr:hover {
    background-color: transparent !important;
  }
  .ps-table-container {
    box-shadow: none;
    margin: 0.5rem 0;
  }
  .administrative-section {
    break-inside: avoid;
    box-shadow: none;
  }
  .administrative-section .admin-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .administrative-section .admin-contact-card {
    break-inside: avoid;
    box-shadow: none;
    border: 1px solid #ddd;
  }
  .administrative-section .admin-contact-card .admin-card-header {
    background: #f0f0f0 !important;
    color: #000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.patient-form-container {
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.form-header {
  text-align: center;
  margin-bottom: 3rem;
}
.form-header .page-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2d3748;
  margin-bottom: 0.5rem;
}
.form-header .page-subtitle {
  font-size: 1.25rem;
  color: #4a5568 !important;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.5;
}

.messages-container {
  margin-bottom: 2rem;
}
.messages-container .alert {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.messages-container .alert:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.messages-container .alert {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  margin-bottom: 1rem;
  border-left: 4px solid;
}
.messages-container .alert.alert-error {
  background: rgb(251.875, 235.625, 235.625);
  border-left-color: #dc2626;
  color: rgb(178.25, 28.75, 28.75);
}
.messages-container .alert.alert-warning {
  background: rgb(253.031496063, 235.905511811, 206.968503937);
  border-left-color: #f59e0b;
  color: rgb(172.4330708661, 110.9507874016, 7.0669291339);
}
.messages-container .alert.alert-success {
  background: rgb(212.7857142857, 247.7142857143, 225.6428571429);
  border-left-color: #22c55e;
  color: rgb(26.4935064935, 153.5064935065, 73.2467532468);
}
.messages-container .alert.alert-info {
  background: rgb(69.5, 255, 255);
  border-left-color: #005f5f;
  color: #002c2c;
}
.messages-container .alert i {
  font-size: 1.2rem;
}

.patient-form-wrapper {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
}
@media (max-width: 1024px) {
  .patient-form-wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.form-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.form-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-card .card-header {
  padding: 2rem 2rem 1.5rem 2rem;
  border-bottom: 1px solid #e2e8f0;
  margin: -1.5rem -1.5rem 2rem -1.5rem;
}
.form-card .card-header .card-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: white !important;
  margin-bottom: 0.5rem;
}
.form-card .card-header .card-title i {
  color: white !important;
  font-size: 1.5rem;
}
.form-card .card-header .card-title i.fa-search,
.form-card .card-header .card-title i.fa-solid.fa-search {
  color: white !important;
  font-size: 1.6rem !important;
  margin-right: 0.8rem !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
  vertical-align: middle !important;
}
.form-card .card-header .card-title i.fa-lg {
  font-size: 1.6rem !important;
}
.form-card .card-header .card-description {
  color: white !important;
  font-size: 1rem;
  margin: 0;
  line-height: 1.5;
}
.form-card .card-content {
  padding: 0;
}

.patient-search-form .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .patient-search-form .form-grid {
    grid-template-columns: 1fr;
  }
}
.patient-search-form .form-grid .form-group:nth-child(3), .patient-search-form .form-grid .form-group:nth-child(6) {
  grid-column: 1/-1;
}
.patient-search-form .form-group {
  margin-bottom: 1.5rem;
}
.patient-search-form .form-group .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #2d3748;
  font-size: 0.875rem;
}
.patient-search-form .form-group .form-label.required::after {
  content: " *";
  color: #dc2626;
}
.patient-search-form .form-group input,
.patient-search-form .form-group select {
  width: 100%;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  background-color: #ffffff;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.patient-search-form .form-group input:focus,
.patient-search-form .form-group select:focus {
  outline: none;
  border: 2px solid #005f5f;
  box-shadow: 0 0 0 2px rgba(31, 78, 121, 0.1);
}
.patient-search-form .form-group input::placeholder,
.patient-search-form .form-group select::placeholder {
  color: #718096;
}
.patient-search-form .form-group input,
.patient-search-form .form-group select {
  width: 100%;
}
.patient-search-form .form-group .field-errors {
  margin-top: 0.25rem;
}
.patient-search-form .form-group .field-errors .error-message {
  display: block;
  color: #dc2626;
  font-size: 0.875rem;
  font-weight: 500;
}
.patient-search-form .form-actions {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}
@media (max-width: 480px) {
  .patient-search-form .form-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .patient-search-form .form-actions .btn {
    width: 100%;
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
  }
  .patient-search-form .form-actions .btn .btn-text-full {
    display: none;
  }
  .patient-search-form .form-actions .btn .btn-text-short {
    display: inline;
  }
}
@media (min-width: 480px) and (max-width: 640px) {
  .patient-search-form .form-actions {
    flex-direction: column;
    align-items: center;
  }
  .patient-search-form .form-actions .btn {
    width: 100%;
    max-width: 280px;
    font-size: 1rem;
  }
  .patient-search-form .form-actions .btn .btn-text-full {
    display: inline;
  }
  .patient-search-form .form-actions .btn .btn-text-short {
    display: none;
  }
}
@media (min-width: 640px) {
  .patient-search-form .form-actions {
    flex-direction: row;
  }
  .patient-search-form .form-actions .btn .btn-text-full {
    display: inline;
  }
  .patient-search-form .form-actions .btn .btn-text-short {
    display: none;
  }
}
.patient-search-form .form-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.patient-search-form .form-actions .btn.btn-large {
  padding: 1.5rem 3rem;
  font-size: 1.25rem;
  font-weight: 600;
}
@media (max-width: 640px) {
  .patient-search-form .form-actions .btn.btn-large {
    padding: 1rem 1.5rem;
    font-size: 1rem;
  }
}
.patient-search-form .form-actions .btn i {
  font-size: 1.1rem;
  flex-shrink: 0;
}
.patient-search-form .form-actions .btn.btn-info {
  background-color: #005f5f !important;
  border-color: #005f5f !important;
  color: white !important;
}
.patient-search-form .form-actions .btn.btn-info:hover:not(:disabled) {
  background-color: #004a4a !important;
  border-color: #004a4a !important;
  color: white !important;
}
.patient-search-form .form-actions .btn.btn-info i, .patient-search-form .form-actions .btn.btn-info .fa, .patient-search-form .form-actions .btn.btn-info .fas, .patient-search-form .form-actions .btn.btn-info .far, .patient-search-form .form-actions .btn.btn-info .fab {
  color: white !important;
}
.patient-search-form .form-actions .btn.btn-info:hover:not(:disabled) i, .patient-search-form .form-actions .btn.btn-info:hover:not(:disabled) .fa, .patient-search-form .form-actions .btn.btn-info:hover:not(:disabled) .fas, .patient-search-form .form-actions .btn.btn-info:hover:not(:disabled) .far, .patient-search-form .form-actions .btn.btn-info:hover:not(:disabled) .fab {
  color: white !important;
}

.search-info-card {
  background-color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
.search-info-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.search-info-card .card-header {
  padding: 1.5rem 1.5rem 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  margin: -1.5rem -1.5rem 1.5rem -1.5rem;
}
.search-info-card .card-header .card-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}
.search-info-card .card-header .card-title i {
  color: #005f5f;
  font-size: 1.2rem;
}
.search-info-card .card-content {
  padding: 0;
}
.search-info-card .card-content .info-section {
  margin-bottom: 2rem;
}
.search-info-card .card-content .info-section:last-child {
  margin-bottom: 0;
}
.search-info-card .card-content .info-section h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 1rem;
}
.search-info-card .card-content .info-section ol {
  padding-left: 1.5rem;
  color: #4a5568 !important;
  line-height: 1.6;
}
.search-info-card .card-content .info-section ol li {
  margin-bottom: 0.25rem;
}
.search-info-card .card-content .info-section p {
  color: #4a5568 !important;
  line-height: 1.6;
  margin: 0;
}
.search-info-card .card-content .country-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.search-info-card .card-content .country-badges .country-badge {
  background: #f7fafc;
  color: #2d3748;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  border: 1px solid #e2e8f0;
}

.development-search-section {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: rgb(254.4181818182, 254.6363636364, 254.7818181818);
  border-radius: 0.5rem;
  border: 2px dashed #e2e8f0;
}
.development-search-section .development-options-title {
  color: #2d3748;
  font-weight: 700;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  font-size: 1rem;
}
.development-search-section .development-options-title i {
  color: #f59e0b;
}
.development-search-section .development-search-option {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  background: #ffffff;
  border-radius: 0.375rem;
  border: 2px solid #e2e8f0;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  user-select: none;
}
.development-search-section .development-search-option:hover {
  border-color: #005f5f;
  background: rgb(84.8, 255, 255);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 95, 95, 0.15);
}
.development-search-section .development-search-option.active {
  border-color: #22c55e;
  background: rgb(225.8337662338, 249.9662337662, 234.7168831169);
  box-shadow: 0 2px 8px rgba(34, 197, 94, 0.15);
}
.development-search-section .development-search-option.active:hover {
  border-color: rgb(26.4935064935, 153.5064935065, 73.2467532468);
  background: rgb(212.7857142857, 247.7142857143, 225.6428571429);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2);
}
.development-search-section .development-search-option .development-search-checkbox {
  margin-top: 2px;
  transform: scale(1.2);
  accent-color: #005f5f;
  pointer-events: none;
}
.development-search-section .development-search-option .development-search-content {
  flex: 1;
}
.development-search-section .development-search-option .development-search-content .development-search-label {
  font-weight: 600;
  color: #2d3748;
  cursor: pointer;
  margin: 0 0 0.25rem 0;
  display: flex;
  align-items: center;
  font-size: 1rem;
}
.development-search-section .development-search-option .development-search-content .development-search-label i {
  color: #005f5f;
}
.development-search-section .development-search-option .development-search-content .development-search-description {
  font-size: 0.875rem;
  color: #4a5568;
  line-height: 1.4;
  margin: 0;
}

@media (max-width: 768px) {
  .patient-form-container {
    padding: 1.5rem;
  }
  .form-header .page-title {
    font-size: 2rem;
  }
}
.test-patients-page .card-footer .btn {
  margin: 0 0.25rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.test-patients-page .card-footer .btn i {
  margin-right: 0.5rem;
  transition: transform 0.2s ease;
}
.test-patients-page .card-footer .btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.test-patients-page .card-footer .btn:hover:not(:disabled) i {
  transform: scale(1.1);
}
.test-patients-page .card-footer .btn-secondary {
  background-color: #4a5568 !important;
  border-color: #4a5568 !important;
  color: #ffffff !important;
}
.test-patients-page .card-footer .btn-secondary:hover:not(:disabled) {
  background-color: #2d3748 !important;
  border-color: #2d3748 !important;
  color: #ffffff !important;
}
.test-patients-page .card-footer .btn-secondary i, .test-patients-page .card-footer .btn-secondary .fa, .test-patients-page .card-footer .btn-secondary .fas, .test-patients-page .card-footer .btn-secondary .far, .test-patients-page .card-footer .btn-secondary .fab {
  color: #ffffff !important;
}
.test-patients-page .card-footer .btn-secondary:hover:not(:disabled) i, .test-patients-page .card-footer .btn-secondary:hover:not(:disabled) .fa, .test-patients-page .card-footer .btn-secondary:hover:not(:disabled) .fas, .test-patients-page .card-footer .btn-secondary:hover:not(:disabled) .far, .test-patients-page .card-footer .btn-secondary:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.test-patients-page .card-footer .btn-outline-primary {
  border-color: #005f5f !important;
  color: #005f5f !important;
}
.test-patients-page .card-footer .btn-outline-primary:hover:not(:disabled) {
  background-color: #005f5f !important;
  border-color: #005f5f !important;
  color: #ffffff !important;
}
.test-patients-page .card-footer .btn-outline-primary i, .test-patients-page .card-footer .btn-outline-primary .fa, .test-patients-page .card-footer .btn-outline-primary .fas, .test-patients-page .card-footer .btn-outline-primary .far, .test-patients-page .card-footer .btn-outline-primary .fab {
  color: #005f5f !important;
}
.test-patients-page .card-footer .btn-outline-primary:hover:not(:disabled) i, .test-patients-page .card-footer .btn-outline-primary:hover:not(:disabled) .fa, .test-patients-page .card-footer .btn-outline-primary:hover:not(:disabled) .fas, .test-patients-page .card-footer .btn-outline-primary:hover:not(:disabled) .far, .test-patients-page .card-footer .btn-outline-primary:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.test-patients-page .card-footer .btn-outline-info {
  border-color: #005f5f !important;
  color: #005f5f !important;
}
.test-patients-page .card-footer .btn-outline-info:hover:not(:disabled) {
  background-color: #005f5f !important;
  border-color: #005f5f !important;
  color: #ffffff !important;
}
.test-patients-page .card-footer .btn-outline-info i, .test-patients-page .card-footer .btn-outline-info .fa, .test-patients-page .card-footer .btn-outline-info .fas, .test-patients-page .card-footer .btn-outline-info .far, .test-patients-page .card-footer .btn-outline-info .fab {
  color: #005f5f !important;
}
.test-patients-page .card-footer .btn-outline-info:hover:not(:disabled) i, .test-patients-page .card-footer .btn-outline-info:hover:not(:disabled) .fa, .test-patients-page .card-footer .btn-outline-info:hover:not(:disabled) .fas, .test-patients-page .card-footer .btn-outline-info:hover:not(:disabled) .far, .test-patients-page .card-footer .btn-outline-info:hover:not(:disabled) .fab {
  color: #ffffff !important;
}
.test-patients-page .card.border-info {
  border-color: #005f5f !important;
}
.test-patients-page .card.border-info .text-info {
  color: #005f5f !important;
}
.test-patients-page .card.border-success {
  border-color: #22c55e !important;
}
.test-patients-page .card.border-success .text-success {
  color: #22c55e !important;
}
.test-patients-page .card.border-warning {
  border-color: #f59e0b !important;
}
.test-patients-page .card.border-warning .text-warning {
  color: #f59e0b !important;
}

.test-patients-page .card-header.bg-primary {
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%) !important;
}
.test-patients-page .card-header.bg-primary h4 {
  color: #ffffff !important;
}
.test-patients-page .card-header.bg-primary h4 i {
  color: #ffffff !important;
}
.test-patients-page .card-header.bg-primary p {
  color: rgba(255, 255, 255, 0.9) !important;
}

@media (max-width: 640px) {
  .test-patients-page .card-footer .d-flex {
    flex-direction: column;
    gap: 1rem;
  }
  .test-patients-page .card-footer .btn {
    width: 100%;
    margin: 0;
  }
  .service-card .btn-outline-primary:hover:not(:disabled) i, .service-card .btn-outline-primary:hover:not(:disabled) .fa, .service-card .btn-outline-primary:hover:not(:disabled) .fas, .service-card .btn-outline-primary:hover:not(:disabled) .far, .service-card .btn-outline-primary:hover:not(:disabled) .fab {
    color: #ffffff !important;
    transform: scale(1.1) !important;
  }
  .service-card .btn-sm:hover:not(:disabled) i,
  .service-card .btn-sm:hover:not(:disabled) .fa,
  .service-card .btn-sm:hover:not(:disabled) .fas,
  .service-card .btn-sm:hover:not(:disabled) .far,
  .service-card .btn-sm:hover:not(:disabled) .fab {
    color: #ffffff !important;
    transform: scale(1.1) !important;
  }
}
.patient-search-page {
  background: linear-gradient(135deg, #f7fafc 0%, #c3cfe2 100%);
  min-height: 100vh;
}
.patient-search-page .page-header {
  background: linear-gradient(135deg, #005f5f 0%, #1e3a5f 100%) !important;
  color: white !important;
  padding: 2rem;
  border-radius: 20px;
  margin-bottom: 2rem;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.patient-search-page .page-header h1, .patient-search-page .page-header h2, .patient-search-page .page-header h3, .patient-search-page .page-header h4, .patient-search-page .page-header h5, .patient-search-page .page-header h6, .patient-search-page .page-header p, .patient-search-page .page-header .page-subtitle {
  color: white !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.patient-search-page .page-header h1 {
  display: flex;
  align-items: center;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
}
.patient-search-page .page-header h1 i {
  color: white !important;
}
.patient-search-page .page-header .page-subtitle {
  margin-top: 0.5rem;
  opacity: 0.95;
}
.patient-search-page .page-header .country-flag,
.patient-search-page .page-header img.country-flag {
  width: 48px !important;
  height: 32px !important;
  display: inline-block;
  vertical-align: middle;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  object-fit: cover;
}
.patient-search-page .country-header {
  background: linear-gradient(135deg, #005f5f 0%, #1e3a5f 100%);
  color: white !important;
  padding: 2rem;
  border-radius: 20px;
  margin-bottom: 2rem;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}
.patient-search-page .country-header::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}
.patient-search-page .country-header h1, .patient-search-page .country-header h2, .patient-search-page .country-header h3, .patient-search-page .country-header h4, .patient-search-page .country-header h5, .patient-search-page .country-header h6, .patient-search-page .country-header p, .patient-search-page .country-header span, .patient-search-page .country-header div, .patient-search-page .country-header strong {
  color: white !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.patient-search-page .country-header h1 {
  margin: 0;
  font-size: 2.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
  color: white !important;
}
@media (max-width: 640px) {
  .patient-search-page .country-header h1 {
    font-size: 1.8rem;
    flex-direction: column;
    text-align: center;
  }
}
.patient-search-page .country-header .country-flag,
.patient-search-page .country-header .flag-sm {
  width: 48px !important;
  height: 32px !important;
  border-radius: 8px;
  margin-right: 1.5rem;
  vertical-align: middle;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.3);
  display: inline-block;
  font-weight: bold;
  font-size: 12px;
  object-fit: cover;
}
.patient-search-page .country-header .country-flag.country-flag-de,
.patient-search-page .country-header .flag-sm.country-flag-de {
  background: #000;
  color: #ff0000;
}
@media (max-width: 640px) {
  .patient-search-page .country-header .country-flag,
  .patient-search-page .country-header .flag-sm {
    margin-right: 0;
    margin-bottom: 15px;
  }
}
.patient-search-page .country-header .header-actions {
  position: relative;
  z-index: 2;
}
@media (max-width: 640px) {
  .patient-search-page .country-header .header-actions {
    margin-top: 1.5rem;
    text-align: center;
  }
  .patient-search-page .country-header .header-actions a {
    display: block;
    margin: 10px 0;
  }
}
.patient-search-page .ism-info {
  background: linear-gradient(135deg, #e8f5e8 0%, #d4edda 100%);
  padding: 25px;
  margin: 2rem 0;
  border-radius: 15px;
  border-left: 6px solid #22c55e;
  box-shadow: 0 5px 20px rgba(34, 197, 94, 0.1);
  position: relative;
}
.patient-search-page .ism-info::before {
  content: "\f57d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 3rem;
  opacity: 0.15;
  color: #22c55e;
}
.patient-search-page .ism-info h4 {
  color: #22c55e;
  margin-bottom: 10px;
  font-size: 1.25rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
}
.patient-search-page .ism-info p, .patient-search-page .ism-info span, .patient-search-page .ism-info strong, .patient-search-page .ism-info div {
  color: #2d5016 !important;
}
.patient-search-page .ism-info i, .patient-search-page .ism-info .fa, .patient-search-page .ism-info .fas, .patient-search-page .ism-info .far, .patient-search-page .ism-info .fab, .patient-search-page .ism-info .fal, .patient-search-page .ism-info .fat, .patient-search-page .ism-info .fad {
  color: #2d5016 !important;
}
.patient-search-page .ism-info i:hover, .patient-search-page .ism-info .fa:hover, .patient-search-page .ism-info .fas:hover, .patient-search-page .ism-info .far:hover, .patient-search-page .ism-info .fab:hover, .patient-search-page .ism-info .fal:hover, .patient-search-page .ism-info .fat:hover, .patient-search-page .ism-info .fad:hover {
  color: #1a3009 !important;
}
.patient-search-page .search-form {
  background: #ffffff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media (max-width: 640px) {
  .patient-search-page .search-form {
    padding: 25px;
    margin: 15px;
  }
}
.patient-search-page .field-group {
  margin-bottom: 35px;
  padding: 2rem;
  border: none;
  border-radius: 15px;
  background: linear-gradient(135deg, #f8f9ff 0%, #f1f3ff 100%);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.patient-search-page .field-group:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.patient-search-page .field-group::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #005f5f, #1e3a5f);
}
.patient-search-page .field-group h5, .patient-search-page .field-group p, .patient-search-page .field-group span, .patient-search-page .field-group label, .patient-search-page .field-group strong, .patient-search-page .field-group div, .patient-search-page .field-group .field-group-title {
  color: #212529 !important;
}
.patient-search-page .field-group i, .patient-search-page .field-group .fa, .patient-search-page .field-group .fas, .patient-search-page .field-group .far, .patient-search-page .field-group .fab, .patient-search-page .field-group .fal, .patient-search-page .field-group .fat, .patient-search-page .field-group .fad {
  color: #212529 !important;
}
.patient-search-page .field-group i:hover, .patient-search-page .field-group .fa:hover, .patient-search-page .field-group .fas:hover, .patient-search-page .field-group .far:hover, .patient-search-page .field-group .fab:hover, .patient-search-page .field-group .fal:hover, .patient-search-page .field-group .fat:hover, .patient-search-page .field-group .fad:hover {
  color: #000000 !important;
}
@media (max-width: 640px) {
  .patient-search-page .field-group {
    padding: 1.5rem;
    margin-bottom: 25px;
  }
}
.patient-search-page .field-group-title {
  font-weight: 700;
  color: #005f5f;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(0, 95, 95, 0.2);
  display: flex;
  align-items: center;
  gap: 10px;
}
.patient-search-page .form-field {
  margin-bottom: 25px;
  position: relative;
}
.patient-search-page .form-field label {
  display: block;
  font-weight: 500;
  margin-bottom: 8px;
  color: #2d3748;
  font-size: 1rem;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.patient-search-page .form-field label.required::after {
  content: " *";
  color: #dc2626;
  font-weight: bold;
}
.patient-search-page .form-field input,
.patient-search-page .form-field select {
  width: 100%;
  padding: 15px 20px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 16px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background: #ffffff;
  position: relative;
}
.patient-search-page .form-field input:focus,
.patient-search-page .form-field select:focus {
  outline: none;
  border-color: #005f5f;
  box-shadow: 0 0 0 4px rgba(0, 95, 95, 0.1);
  transform: translateY(-1px);
}
.patient-search-page .form-field input:hover,
.patient-search-page .form-field select:hover {
  border-color: #718096;
}
.patient-search-page .form-field .help-text {
  font-size: 0.875rem;
  color: #4a5568;
  margin-top: 8px;
  font-style: italic;
}
.patient-search-page .form-field .error-message {
  color: #dc2626;
  font-size: 0.875rem;
  margin-top: 8px;
  display: none;
  font-weight: 500;
}
.patient-search-page .search-button {
  background: linear-gradient(135deg, #005f5f 0%, #1e3a5f 100%);
  color: #ffffff;
  border: none;
  padding: 18px 40px;
  font-size: 1.25rem;
  font-weight: 700;
  border-radius: 15px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: block;
  margin: 40px auto 0;
  min-width: 250px;
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.patient-search-page .search-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.patient-search-page .search-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 95, 95, 0.4);
}
.patient-search-page .search-button:hover::before {
  left: 100%;
}
.patient-search-page .search-button:active {
  transform: translateY(-1px);
}
.patient-search-page .search-button.loading {
  pointer-events: none;
}
.patient-search-page .search-button.loading::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid transparent;
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.patient-search-page .refresh-ism {
  background: linear-gradient(135deg, #22c55e 0%, #2f855a 100%);
  color: #ffffff;
  border: none;
  padding: 12px 20px;
  border-radius: 10px;
  font-size: 0.95rem;
  cursor: pointer;
  margin-left: 15px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
}
.patient-search-page .refresh-ism:hover {
  background: linear-gradient(135deg, #2f855a 0%, #276749 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(34, 197, 94, 0.3);
}
.patient-search-page .btn-light {
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: #2d3748;
  padding: 12px 20px;
  border-radius: 10px;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.patient-search-page .btn-light:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.patient-search-page .alert-warning {
  background: linear-gradient(135deg, #fff3cd 0%, #fef7e0 100%);
  border: none;
  border-left: 6px solid #f59e0b;
  border-radius: 15px;
  padding: 2rem;
  box-shadow: 0 5px 20px rgba(245, 158, 11, 0.1);
}
.patient-search-page .alert-warning h4 {
  color: #c05621;
  font-weight: 700;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(10deg);
  }
}
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(5px);
  }
}
@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideOut {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0;
  }
}
.custom-alert {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1060;
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  max-width: 400px;
  animation: slideIn 0.3s ease;
}
.custom-alert.alert-error {
  background: linear-gradient(135deg, #fed7d7 0%, #feb2b2 100%);
  border-left: 4px solid #dc2626;
}
.custom-alert.alert-info {
  background: linear-gradient(135deg, #bee3f8 0%, #90cdf4 100%);
  border-left: 4px solid #005f5f;
}
.custom-alert .alert-content {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #2d3748;
  font-weight: 500;
}
.custom-alert .alert-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  margin-left: auto;
  opacity: 0.7;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.custom-alert .alert-close:hover {
  opacity: 1;
}

.form-control.is-valid {
  border-color: #22c55e;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.form-control.is-valid:focus {
  border-color: #22c55e;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.form-control.is-invalid {
  border-color: #dc2626;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
.form-control.is-invalid:focus {
  border-color: #dc2626;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.validation-error {
  color: #dc2626;
  font-size: 0.875rem;
  margin-top: 0.25rem;
  display: block;
}
.validation-error::before {
  content: "⚠ ";
  margin-right: 0.25rem;
}

#patient_id {
  font-family: "Courier New", monospace;
  font-size: 1.1rem;
  letter-spacing: 0.5px;
}
#patient_id:focus {
  font-weight: bold;
}
#patient_id.is-valid {
  background-color: rgba(34, 197, 94, 0.05);
}
#patient_id.is-invalid {
  background-color: rgba(220, 38, 38, 0.05);
}

.ism-type-selection {
  margin-bottom: 2rem;
}
.ism-type-selection .ism-type-title {
  margin-bottom: 1rem;
  color: #2c3e50;
  font-weight: 500;
  font-size: 1.25rem;
}
.ism-type-selection .ism-type-options {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.ism-type-selection .ism-type-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #f8f9fa;
  border-radius: 6px;
  border: 2px solid #e9ecef;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.ism-type-selection .ism-type-option:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.ism-type-selection .ism-type-option.selected {
  background: #e3f2fd;
  border-color: #1976d2;
}
.ism-type-selection .ism-type-option .ism-type-radio {
  accent-color: #1976d2;
}
.ism-type-selection .ism-type-option .ism-type-content .ism-type-label {
  font-weight: 600;
  color: #2c3e50;
  cursor: pointer;
  margin: 0;
  display: block;
}
.ism-type-selection .ism-type-option .ism-type-content .ism-type-description {
  font-size: 0.85rem;
  color: #666;
  margin-top: 0.25rem;
  line-height: 1.3;
}

.local-search-section {
  margin-bottom: 2rem;
}
.local-search-section .local-search-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 6px;
  border: 2px solid #e3f2fd;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.local-search-section .local-search-option:hover {
  background: #f0f7ff;
  border-color: #3498db;
}
.local-search-section .local-search-option .local-search-checkbox {
  transform: scale(1.2);
  accent-color: #3498db;
}
.local-search-section .local-search-option .local-search-content .local-search-label {
  font-weight: 600;
  color: #2c3e50;
  cursor: pointer;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.local-search-section .local-search-option .local-search-content .local-search-description {
  font-size: 0.9rem;
  color: #666;
  font-style: italic;
  margin-top: 0.25rem;
  line-height: 1.4;
}

.break-glass-section {
  background: linear-gradient(135deg, #fff5f5 0%, #fed7d7 100%);
  border: 2px solid #fc8181;
  border-radius: 15px;
  padding: 2rem;
  margin-bottom: 2rem;
  position: relative;
}
.break-glass-section::before {
  content: "\f071";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: -15px;
  right: 20px;
  font-size: 2rem;
  background: #ffffff;
  padding: 5px 10px;
  border-radius: 50%;
  border: 2px solid #fc8181;
  color: #c53030;
}
.break-glass-section .break-glass-title {
  color: #c53030;
  font-weight: 700;
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
}
.break-glass-section .break-glass-checkbox {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.break-glass-section .break-glass-checkbox input[type=checkbox] {
  transform: scale(1.3);
  accent-color: #c53030;
}
.break-glass-section .break-glass-checkbox .break-glass-label {
  font-weight: 500;
  color: #c53030;
  cursor: pointer;
  margin: 0;
  user-select: none;
}
.break-glass-section .break-glass-explanation {
  color: #742a2a;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  font-style: italic;
}
.break-glass-section .break-glass-reason {
  animation: slideDown 0.3s ease-out;
}
.break-glass-section .break-glass-reason label {
  font-weight: 500;
  color: #c53030;
}
.break-glass-section .break-glass-reason textarea {
  border: 2px solid #fc8181;
  border-radius: 8px;
  padding: 1rem;
  resize: vertical;
  min-height: 100px;
}
.break-glass-section .break-glass-reason textarea:focus {
  outline: none;
  border-color: #c53030;
  box-shadow: 0 0 0 3px rgba(197, 48, 48, 0.1);
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}
.ism-type-selection {
  margin-bottom: 2rem;
}
.ism-type-selection .ism-type-title {
  margin-bottom: 1rem;
  color: #2c3e50;
  font-weight: 500;
  font-size: 1.25rem;
}
.ism-type-selection .ism-type-options {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.ism-type-selection .ism-type-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #f8f9fa;
  border-radius: 6px;
  border: 2px solid #e9ecef;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.ism-type-selection .ism-type-option:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.ism-type-selection .ism-type-option.selected {
  background: #e3f2fd;
  border-color: #1976d2;
}
.ism-type-selection .ism-type-option .ism-type-radio {
  accent-color: #1976d2;
}
.ism-type-selection .ism-type-option .ism-type-content .ism-type-label {
  font-weight: 600;
  color: #2c3e50;
  cursor: pointer;
  margin: 0;
  display: block;
}
.ism-type-selection .ism-type-option .ism-type-content .ism-type-description {
  font-size: 0.85rem;
  color: #666;
  margin-top: 0.25rem;
  line-height: 1.3;
}

.local-search-section {
  margin-bottom: 2rem;
}
.local-search-section .local-search-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 6px;
  border: 2px solid #e3f2fd;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.local-search-section .local-search-option:hover {
  background: #f0f7ff;
  border-color: #3498db;
}
.local-search-section .local-search-option .local-search-checkbox {
  transform: scale(1.2);
  accent-color: #3498db;
}
.local-search-section .local-search-option .local-search-content .local-search-label {
  font-weight: 600;
  color: #2c3e50;
  cursor: pointer;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.local-search-section .local-search-option .local-search-content .local-search-description {
  font-size: 0.9rem;
  color: #666;
  font-style: italic;
  margin-top: 0.25rem;
  line-height: 1.4;
}

.break-glass-section {
  background: linear-gradient(135deg, #fff5f5 0%, #fed7d7 100%);
  border: 2px solid #fc8181;
  border-radius: 15px;
  padding: 2rem;
  margin-bottom: 2rem;
  position: relative;
}
.break-glass-section::before {
  content: "\f071";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: -15px;
  right: 20px;
  font-size: 2rem;
  background: #ffffff;
  padding: 5px 10px;
  border-radius: 50%;
  border: 2px solid #fc8181;
  color: #c53030;
}
.break-glass-section .break-glass-title {
  color: #c53030;
  font-weight: 700;
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
}
.break-glass-section .break-glass-checkbox {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.break-glass-section .break-glass-checkbox input[type=checkbox] {
  transform: scale(1.3);
  accent-color: #c53030;
}
.break-glass-section .break-glass-checkbox .break-glass-label {
  font-weight: 500;
  color: #c53030;
  cursor: pointer;
  margin: 0;
  user-select: none;
}
.break-glass-section .break-glass-explanation {
  color: #742a2a;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  font-style: italic;
}
.break-glass-section .break-glass-reason {
  animation: slideDown 0.3s ease-out;
}
.break-glass-section .break-glass-reason label {
  font-weight: 500;
  color: #c53030;
}
.break-glass-section .break-glass-reason textarea {
  border: 2px solid #fc8181;
  border-radius: 8px;
  padding: 1rem;
  resize: vertical;
  min-height: 100px;
}
.break-glass-section .break-glass-reason textarea:focus {
  outline: none;
  border-color: #c53030;
  box-shadow: 0 0 0 3px rgba(197, 48, 48, 0.1);
}

img.country-flag,
h1 img.country-flag,
.country-flag {
  width: 48px !important;
  height: 32px !important;
  max-width: 48px !important;
  max-height: 32px !important;
  border-radius: 4px;
  vertical-align: middle;
  object-fit: cover;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  img.country-flag,
  h1 img.country-flag,
  .country-flag {
    width: 40px !important;
    height: 27px !important;
    max-width: 40px !important;
    max-height: 27px !important;
  }
}

.context-flag,
img.context-flag {
  width: 24px !important;
  height: 16px !important;
  max-width: 24px !important;
  max-height: 16px !important;
  border-radius: 2px;
  object-fit: cover;
  vertical-align: middle;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .context-flag,
  img.context-flag {
    width: 20px !important;
    height: 13px !important;
    max-width: 20px !important;
    max-height: 13px !important;
  }
}

.results-container {
  padding: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 480px) {
  .results-container {
    padding: 1rem;
  }
}

.results-header {
  margin-bottom: 2rem;
}
.results-header h1 {
  font-size: 2rem;
  color: #2d3748;
  margin-bottom: 1rem;
}
@media (max-width: 480px) {
  .results-header h1 {
    font-size: 1.5rem;
  }
}
.results-header .back-button {
  display: inline-flex;
  align-items: center;
  color: #005f5f;
  text-decoration: none;
  margin-bottom: 1rem;
  font-weight: 500;
}
.results-header .back-button:hover {
  text-decoration: underline;
}

.request-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #005f5f 0%, #004a4a 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-out;
  border: 1px solid transparent;
  min-height: 44px;
}
@media (max-width: 480px) {
  .request-button {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    min-height: 40px;
  }
  .request-button .btn-text-full {
    display: none;
  }
  .request-button .btn-text-mobile {
    display: inline;
  }
}
@media (min-width: 481px) {
  .request-button .btn-text-full {
    display: inline;
  }
  .request-button .btn-text-mobile {
    display: none;
  }
}
.request-button:hover {
  background: linear-gradient(135deg, #004a4a 0%, #001717 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 95, 95, 0.3);
  color: #ffffff;
  text-decoration: none;
}
.request-button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 95, 95, 0.3);
}
.request-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0, 95, 95, 0.2);
}
.request-button i {
  font-size: 1rem;
  flex-shrink: 0;
}
@media (max-width: 480px) {
  .request-button i {
    font-size: 0.875rem;
  }
}

.service-card {
  background: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border: 1px solid #e2e8f0;
  transition: all 0.2s ease-out;
  overflow: hidden;
}
@media (max-width: 480px) {
  .service-card {
    margin-bottom: 1rem;
  }
}
.service-card:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.service-card .service-header {
  padding: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
@media (max-width: 480px) {
  .service-card .service-header {
    padding: 1rem;
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
}
.service-card .service-header .service-icon {
  font-size: 2rem;
  flex-shrink: 0;
}
@media (max-width: 480px) {
  .service-card .service-header .service-icon {
    font-size: 1.5rem;
  }
}
.service-card .service-header .service-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}
@media (max-width: 480px) {
  .service-card .service-header .service-title {
    font-size: 1rem;
  }
}
.service-card .service-description {
  padding: 0 1.5rem 1rem 1.5rem;
  color: #718096;
  line-height: 1.5;
}
@media (max-width: 480px) {
  .service-card .service-description {
    padding: 0 1rem 0.5rem 1rem;
    font-size: 0.875rem;
  }
}
.service-card .service-actions {
  padding: 0 1.5rem 1.5rem 1.5rem;
}
@media (max-width: 480px) {
  .service-card .service-actions {
    padding: 0 1rem 1rem 1rem;
  }
}

.consent-section {
  margin: 1rem 0;
}
.consent-section h5 {
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 0.5rem;
}
@media (max-width: 480px) {
  .consent-section h5 {
    font-size: 0.875rem;
  }
}
.consent-section .consent-options {
  display: flex;
  gap: 1.5rem;
}
@media (max-width: 480px) {
  .consent-section .consent-options {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.consent-section .consent-options .consent-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.consent-section .consent-options .consent-option input[type=radio] {
  accent-color: #005f5f;
}
.consent-section .consent-options .consent-option label {
  font-size: 0.875rem;
  color: #2d3748;
  cursor: pointer;
}
@media (max-width: 480px) {
  .consent-section .consent-options .consent-option label {
    font-size: 0.75rem;
  }
}

.alert {
  margin-bottom: 1rem;
  padding: 1rem;
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 480px) {
  .alert {
    margin-bottom: 0.5rem;
    padding: 0.5rem;
    font-size: 0.875rem;
    flex-direction: column;
    text-align: center;
    gap: 0.25rem;
  }
}
.alert i {
  font-size: 1.25rem;
  flex-shrink: 0;
}
@media (max-width: 480px) {
  .alert i {
    font-size: 1rem;
  }
}
.alert:has-text("confidence") + .alert:has-text("confidence") {
  display: none;
}

.patient-info {
  background: #f7fafc;
  border-radius: 0.5rem;
  padding: 2rem;
  margin-bottom: 2rem;
  border: 1px solid #e2e8f0;
}
@media (max-width: 480px) {
  .patient-info {
    padding: 1rem;
    margin-bottom: 1.5rem;
  }
}
.patient-info h3 {
  color: #2d3748;
  margin-bottom: 1.5rem;
}
@media (max-width: 480px) {
  .patient-info h3 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
}

.patient-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}
@media (max-width: 480px) {
  .patient-details {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

.detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.detail-item .detail-label {
  font-weight: 600;
  color: #2d3748;
  font-size: 0.875rem;
}
.detail-item .detail-value {
  color: #718096;
  font-size: 0.875rem;
  line-height: 1.5;
}

.tab-navigation {
  display: flex;
  margin-bottom: 1rem;
  border-bottom: 2px solid #e9ecef;
  gap: 0;
}

.tab-button {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 1rem !important;
  text-align: center !important;
  position: relative !important;
}
.tab-button .tab-content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.25rem !important;
}
.tab-button .tab-content i {
  font-size: 1rem !important;
  line-height: 1 !important;
}
.tab-button .tab-content .tab-text {
  font-size: 0.9rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.tab-button .badge {
  align-self: center !important;
  margin-top: 0 !important;
}
.tab-button {
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 500;
  color: #6c757d;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
  border-radius: 8px 8px 0 0;
  margin-right: 0.25rem;
  position: relative;
}
.tab-button:hover {
  color: #495057;
  background: #f8f9fa;
  transform: translateY(-1px);
}
.tab-button.active {
  color: #2d3748 !important;
  border-bottom-color: var(--hse-primary);
  background: #f8f9fa !important;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 91, 184, 0.3);
}
.tab-button.active:hover {
  color: #2d3748 !important;
  background: #e9ecef !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 12px rgba(0, 91, 184, 0.4);
}

.clinical-section .clinical-tab-content {
  display: none;
  width: 100%;
  min-height: auto;
}
.clinical-section .clinical-tab-content.active {
  display: block;
  width: 100%;
  min-height: auto;
}

.extended-tab-content-container {
  background: white;
  border-radius: 0 0 0.375rem 0.375rem;
  width: 100%;
  min-height: auto;
  position: relative;
  overflow: hidden;
  contain: layout;
}

.clinical-section {
  width: 100%;
  overflow: hidden;
  contain: layout style;
  position: relative;
}
.clinical-section .clinical-tab-content {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  contain: layout;
}
.clinical-section .clinical-tab-content:not(.active) {
  display: none !important;
  visibility: hidden;
  position: absolute;
  left: -9999px;
}
.clinical-section .clinical-tab-content.active {
  display: block !important;
  visibility: visible;
  position: relative;
  left: auto;
}

@media (max-width: 768px) {
  .tab-navigation {
    flex-direction: column;
    gap: 0.25rem;
  }
  .tab-button {
    margin-right: 0;
    margin-bottom: 0.25rem;
    border-radius: 0.375rem;
    text-align: center;
  }
  .clinical-tab-content.active {
    display: block;
    width: 100%;
    min-height: auto;
    padding: 1rem;
  }
}
.clinical-section {
  background: white;
  border-radius: 0.375rem;
  border: 1px solid #dee2e6;
  margin-bottom: 1.5rem;
}

.enhanced-cda-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.enhanced-cda-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.patient-info-section .info-label {
  font-weight: 600;
  color: var(--hse-text-primary);
  margin-bottom: 0.25rem;
}
.patient-info-section .info-value {
  color: var(--hse-text-secondary);
  margin-bottom: 1rem;
}

.medical-content .section-header {
  background: var(--hse-neutral-lightest);
  padding: 1rem;
  border-bottom: 1px solid var(--hse-border);
  font-weight: 600;
  color: var(--hse-text-primary);
}
.medical-content .section-content {
  padding: 1rem;
}
.medical-content .section-content p {
  margin-bottom: 0.75rem;
  line-height: 1.6;
}
.medical-content .section-content ul,
.medical-content .section-content ol {
  padding-left: 1.5rem;
}
.medical-content .section-content ul li,
.medical-content .section-content ol li {
  margin-bottom: 0.5rem;
}

.cda-document .document-header {
  background: var(--hse-primary);
  color: white;
  padding: 1.5rem;
  border-radius: 0.375rem 0.375rem 0 0;
}
.cda-document .document-header h1,
.cda-document .document-header h2,
.cda-document .document-header h3 {
  color: white;
  margin-bottom: 0.5rem;
}
.cda-document .document-header .document-meta {
  font-size: 0.9rem;
  opacity: 0.9;
}
.cda-document .document-body {
  padding: 2rem;
  background: white;
  border-radius: 0 0 0.375rem 0.375rem;
  border: 1px solid var(--hse-border);
  border-top: none;
}

.extended-patient-content .tab-pane {
  padding: 1.5rem;
  background: white;
  border-radius: 0 0 0.375rem 0.375rem;
}
.extended-patient-content .info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.extended-patient-content .info-item .label {
  font-weight: 600;
  color: var(--hse-text-primary);
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}
.extended-patient-content .info-item .value {
  color: var(--hse-text-secondary);
  font-size: 1rem;
  word-wrap: break-word;
}

.text-medical {
  color: var(--hse-primary);
  font-weight: 500;
}

.bg-medical-light {
  background-color: rgba(0, 91, 184, 0.05);
}

.border-medical {
  border-color: var(--hse-primary) !important;
}

.shadow-medical {
  box-shadow: 0 2px 8px rgba(0, 91, 184, 0.15);
}

@media print {
  .tab-navigation {
    display: none;
  }
  .clinical-tab-content {
    display: block !important;
    page-break-inside: avoid;
  }
  .enhanced-cda-card {
    box-shadow: none;
    border: 1px solid #ccc;
  }
}
.section-wrapper {
  margin-bottom: 1.5rem;
  width: 100%;
  display: block;
  clear: both;
}

.card {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

html,
body {
  height: auto !important;
  min-height: 100vh;
  overflow-x: hidden;
}

main {
  height: auto !important;
  min-height: unset !important;
}

.container-fluid {
  height: auto !important;
  min-height: unset !important;
  overflow-x: hidden !important;
  max-width: 100vw;
}

.tab-content .tab-pane > div {
  max-height: 100%;
  overflow-y: visible;
}

.admin-contact-card {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.admin-contact-card.guardian-contact .admin-card-header {
  background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
}
.admin-contact-card.other-contact-card .admin-card-header {
  background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
}

.admin-card-header {
  background: linear-gradient(135deg, #085a9f 0%, #064a8a 100%);
  color: white;
  padding: 0.75rem 1rem;
  font-weight: 600;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-card-header i {
  margin-right: 0.5rem;
  opacity: 0.9;
}

.admin-card-content {
  padding: 1rem;
}

.admin-info-row {
  display: flex;
  align-items: flex-start;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f1f3f4;
}
.admin-info-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.admin-label {
  min-width: 120px;
  font-weight: 600;
  color: #495057;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.admin-label i {
  color: #085a9f;
  width: 16px;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

.admin-value {
  color: #212529;
  font-size: 0.9rem;
  line-height: 1.4;
  margin-left: 0.75rem;
  flex: 1;
}

.role-badge {
  background: rgba(255, 255, 255, 0.2);
  padding: 0.15rem 0.4rem;
  border-radius: 12px;
  font-size: 0.75rem;
  margin-left: 0.5rem;
  font-weight: normal;
}

.language-badge {
  display: inline-block;
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.8rem;
  margin-right: 0.5rem;
  margin-bottom: 0.25rem;
  border: 1px solid #bbdefb;
}

.contact-section-item {
  margin-bottom: 1.5rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid #e9ecef;
}
.contact-section-item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none;
}

.section-icon-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #495057 !important;
}
.section-icon-header i {
  color: #007bff !important;
  margin-right: 0.5rem !important;
}

.contact-info-unified {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.contact-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 0.75rem !important;
  margin-bottom: 0.75rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.contact-header {
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
  color: white;
  padding: 0.5rem 0.75rem !important;
  margin: -0.75rem -0.75rem 0.75rem -0.75rem !important;
  border-radius: 6px 6px 0 0;
  font-size: 0.9rem !important;
  font-weight: 500;
}
.contact-header i {
  opacity: 0.9;
}

.contact-content {
  padding: 0 !important;
}

.address-inline {
  font-size: 0.95rem !important;
  color: #212529 !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.4 !important;
}

.address-details-inline {
  font-size: 0.85rem !important;
  color: #495057 !important;
  line-height: 1.4 !important;
}

.address-line {
  display: inline-block;
  margin-right: 0.5rem !important;
  margin-bottom: 0.25rem !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
}
.address-line:after {
  content: ", ";
  color: #6c757d;
}
.address-line:last-child:after {
  content: "";
}

.detail-item {
  display: inline-block !important;
  margin-right: 1rem !important;
  margin-bottom: 0.25rem !important;
  font-size: 0.85rem !important;
  white-space: nowrap;
}

.detail-label {
  font-weight: 600 !important;
  color: #495057 !important;
  margin-right: 0.25rem !important;
}

.detail-value {
  color: #212529 !important;
}

.telecom-container {
  margin-top: 0.5rem;
}

.telecom-item {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0.5rem !important;
  padding: 0.25rem 0 !important;
  border-bottom: 1px solid #f1f3f4;
}
.telecom-item:last-child {
  border-bottom: none;
}

.telecom-icon {
  margin-right: 0.75rem !important;
  min-width: 20px;
}

.telecom-details {
  flex: 1;
  font-size: 0.9rem !important;
}

.telecom-value {
  font-weight: 500;
  color: #212529;
}

.card-header i,
.card-header .fa-solid,
.card-header .far,
.card-header .fal,
.card-header .fab,
.card-header .fa,
.bg-primary i,
.bg-secondary i,
.bg-success i,
.bg-danger i,
.bg-warning i,
.bg-info i,
.bg-dark i,
.bg-teal i {
  color: white !important;
  fill: white !important;
}
.card-header i:hover,
.card-header .fa-solid:hover,
.card-header .far:hover,
.card-header .fal:hover,
.card-header .fab:hover,
.card-header .fa:hover,
.bg-primary i:hover,
.bg-secondary i:hover,
.bg-success i:hover,
.bg-danger i:hover,
.bg-warning i:hover,
.bg-info i:hover,
.bg-dark i:hover,
.bg-teal i:hover {
  color: white !important;
  fill: white !important;
}

.card-header:hover i,
.card-header:hover .fa-solid,
.card-header:hover .far,
.card-header:hover .fal,
.card-header:hover .fab,
.card-header:hover .fa,
.bg-primary:hover i,
.bg-secondary:hover i,
.bg-success:hover i,
.bg-danger:hover i,
.bg-warning:hover i,
.bg-info:hover i,
.bg-dark:hover i,
.bg-teal:hover i {
  color: white !important;
  fill: white !important;
}

.card-header.bg-success:hover i,
.card-header.bg-success:hover .fa-solid,
.card-header.bg-success:hover .far,
.card-header.bg-success:hover .fal,
.card-header.bg-success:hover .fab,
.card-header.bg-success:hover .fa {
  color: white !important;
  fill: white !important;
  transform: none !important;
}

.card-header.bg-primary:hover i,
.card-header.bg-primary:hover .fa-solid,
.card-header.bg-primary:hover .far,
.card-header.bg-primary:hover .fal,
.card-header.bg-primary:hover .fab,
.card-header.bg-primary:hover .fa,
.card-header.bg-secondary:hover i,
.card-header.bg-secondary:hover .fa-solid,
.card-header.bg-secondary:hover .far,
.card-header.bg-secondary:hover .fal,
.card-header.bg-secondary:hover .fab,
.card-header.bg-secondary:hover .fa,
.card-header.bg-info:hover i,
.card-header.bg-info:hover .fa-solid,
.card-header.bg-info:hover .far,
.card-header.bg-info:hover .fal,
.card-header.bg-info:hover .fab,
.card-header.bg-info:hover .fa,
.card-header.bg-warning:hover i,
.card-header.bg-warning:hover .fa-solid,
.card-header.bg-warning:hover .far,
.card-header.bg-warning:hover .fal,
.card-header.bg-warning:hover .fab,
.card-header.bg-warning:hover .fa,
.card-header.bg-danger:hover i,
.card-header.bg-danger:hover .fa-solid,
.card-header.bg-danger:hover .far,
.card-header.bg-danger:hover .fal,
.card-header.bg-danger:hover .fab,
.card-header.bg-danger:hover .fa,
.card-header.bg-dark:hover i,
.card-header.bg-dark:hover .fa-solid,
.card-header.bg-dark:hover .far,
.card-header.bg-dark:hover .fal,
.card-header.bg-dark:hover .fab,
.card-header.bg-dark:hover .fa,
.card-header.bg-teal:hover i,
.card-header.bg-teal:hover .fa-solid,
.card-header.bg-teal:hover .far,
.card-header.bg-teal:hover .fal,
.card-header.bg-teal:hover .fab,
.card-header.bg-teal:hover .fa {
  color: var(--healthcare-text-light) !important;
  fill: var(--healthcare-text-light) !important;
  transform: none !important;
  transition: none !important;
}

.collapsible-label-title:hover i,
.collapsible-label-title:hover .fa-solid,
.collapsible-label-title:hover .fa-regular,
.collapsible-label-title:hover .fa-light,
.collapsible-label-title:hover .fa-brands {
  color: white !important;
  fill: white !important;
  transform: none !important;
}

@media (max-width: 480px) {
  .card-header {
    padding: 0.75rem !important;
  }
  .card-header h1,
  .card-header h2,
  .card-header h3,
  .card-header h4,
  .card-header h5,
  .card-header h6 {
    font-size: 1rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.25rem !important;
    word-wrap: break-word;
    hyphens: auto;
  }
  .card-header i,
  .card-header .fa-solid,
  .card-header .far,
  .card-header .fal,
  .card-header .fab,
  .card-header .fa {
    font-size: 0.875rem !important;
    margin-right: 0.5rem !important;
    flex-shrink: 0;
  }
  .card-header {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
  }
}
@media (min-width: 481px) and (max-width: 768px) {
  .card-header {
    padding: 1rem !important;
  }
  .card-header h1,
  .card-header h2,
  .card-header h3,
  .card-header h4,
  .card-header h5,
  .card-header h6 {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
  }
  .card-header i,
  .card-header .fa-solid,
  .card-header .far,
  .card-header .fal,
  .card-header .fab,
  .card-header .fa {
    font-size: 1rem !important;
    margin-right: 0.625rem !important;
  }
}
@media (min-width: 769px) {
  .card-header h1,
  .card-header h2,
  .card-header h3,
  .card-header h4,
  .card-header h5,
  .card-header h6 {
    font-size: 1.25rem !important;
    line-height: 1.5 !important;
  }
  .card-header i,
  .card-header .fa-solid,
  .card-header .far,
  .card-header .fal,
  .card-header .fab,
  .card-header .fa {
    font-size: 1.125rem !important;
    margin-right: 0.75rem !important;
  }
}

.contact-info-unified {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 0.5rem;
  border: 1px solid #dee2e6;
}

.contact-section-unified {
  margin-bottom: 1.5rem;
}
.contact-section-unified:last-child {
  margin-bottom: 0;
}

.contact-section-title-unified {
  font-weight: 600;
  color: #495057;
  margin-bottom: 1rem;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

.contact-card-unified {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 0.375rem;
  padding: 1rem;
}

.contact-type-badge {
  background: #e3f2fd;
  color: #1976d2;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.contact-value-unified {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-weight: 500;
  color: #212529;
  word-break: break-all;
}

.address-line-unified {
  margin-bottom: 0.25rem;
  color: #495057;
}
.address-line-unified:last-child {
  margin-bottom: 0;
}

.document-info-unified {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 0.5rem;
  border: 1px solid #dee2e6;
}

.document-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 0.375rem;
  padding: 1.5rem;
  height: 100%;
}

.healthcare-info-unified {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 0.5rem;
  border: 1px solid #dee2e6;
}

.healthcare-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 0.375rem;
  padding: 1.5rem;
  height: 100%;
}

.healthcare-header {
  font-weight: 600;
  color: #495057;
  margin-bottom: 1rem;
  font-size: 1rem;
  display: flex;
  align-items: center;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e9ecef;
}
.healthcare-header i {
  color: #28a745;
  margin-right: 0.5rem;
}

.healthcare-content {
  color: #212529;
}
.healthcare-content .fa-solid,
.healthcare-content .fa,
.healthcare-content .fas,
.healthcare-content .far,
.healthcare-content .fal,
.healthcare-content .fat,
.healthcare-content .fad,
.healthcare-content .fab {
  transition: none !important;
}
.healthcare-content .fa-solid:hover,
.healthcare-content .fa:hover,
.healthcare-content .fas:hover,
.healthcare-content .far:hover,
.healthcare-content .fal:hover,
.healthcare-content .fat:hover,
.healthcare-content .fad:hover,
.healthcare-content .fab:hover {
  color: inherit !important;
  transform: none !important;
  box-shadow: none !important;
}
.healthcare-content .fa-id-card.text-secondary,
.healthcare-content .fa-phone.text-secondary,
.healthcare-content .fa-envelope.text-secondary,
.healthcare-content .fa-address-book.text-secondary,
.healthcare-content .fa-building.text-secondary,
.healthcare-content .fa-globe.text-secondary {
  color: #6c757d !important;
}
.healthcare-content .fa-id-card.text-secondary:hover,
.healthcare-content .fa-phone.text-secondary:hover,
.healthcare-content .fa-envelope.text-secondary:hover,
.healthcare-content .fa-address-book.text-secondary:hover,
.healthcare-content .fa-building.text-secondary:hover,
.healthcare-content .fa-globe.text-secondary:hover {
  color: #6c757d !important;
}
.healthcare-content .fa-id-card.text-success,
.healthcare-content .fa-phone.text-success,
.healthcare-content .fa-envelope.text-success,
.healthcare-content .fa-address-book.text-success,
.healthcare-content .fa-building.text-success,
.healthcare-content .fa-globe.text-success {
  color: #28a745 !important;
}
.healthcare-content .fa-id-card.text-success:hover,
.healthcare-content .fa-phone.text-success:hover,
.healthcare-content .fa-envelope.text-success:hover,
.healthcare-content .fa-address-book.text-success:hover,
.healthcare-content .fa-building.text-success:hover,
.healthcare-content .fa-globe.text-success:hover {
  color: #28a745 !important;
}
.healthcare-content .fa-id-card.text-primary,
.healthcare-content .fa-phone.text-primary,
.healthcare-content .fa-envelope.text-primary,
.healthcare-content .fa-address-book.text-primary,
.healthcare-content .fa-building.text-primary,
.healthcare-content .fa-globe.text-primary {
  color: #007bff !important;
}
.healthcare-content .fa-id-card.text-primary:hover,
.healthcare-content .fa-phone.text-primary:hover,
.healthcare-content .fa-envelope.text-primary:hover,
.healthcare-content .fa-address-book.text-primary:hover,
.healthcare-content .fa-building.text-primary:hover,
.healthcare-content .fa-globe.text-primary:hover {
  color: #007bff !important;
}
.healthcare-content .fa-id-card.text-info,
.healthcare-content .fa-phone.text-info,
.healthcare-content .fa-envelope.text-info,
.healthcare-content .fa-address-book.text-info,
.healthcare-content .fa-building.text-info,
.healthcare-content .fa-globe.text-info {
  color: #17a2b8 !important;
}
.healthcare-content .fa-id-card.text-info:hover,
.healthcare-content .fa-phone.text-info:hover,
.healthcare-content .fa-envelope.text-info:hover,
.healthcare-content .fa-address-book.text-info:hover,
.healthcare-content .fa-building.text-info:hover,
.healthcare-content .fa-globe.text-info:hover {
  color: #17a2b8 !important;
}

.provider-name,
.organization-name {
  font-weight: 600;
  color: #212529;
  margin-bottom: 0.75rem;
  font-size: 1.1rem;
}

.provider-details,
.organization-details {
  margin-top: 1rem;
}

.provider-code {
  font-family: "Courier New", monospace;
  background: #f8f9fa;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid #e9ecef;
}

.id-item {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  padding: 0.25rem 0;
  border-bottom: 1px solid #f1f3f4;
}
.id-item:last-child {
  border-bottom: none;
}

.id-value {
  font-weight: 500;
  color: #212529;
  margin-right: 0.5rem;
}

.id-system {
  color: #6c757d;
  font-size: 0.85rem;
}

.provider-telecom {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  padding: 0.25rem 0;
}

.telecom-value {
  color: #212529;
  margin-right: 0.5rem;
}

.telecom-type {
  color: #6c757d;
  font-size: 0.85rem;
}

.address-display {
  background: #f8f9fa;
  padding: 0.75rem;
  border-radius: 0.25rem;
  border: 1px solid #e9ecef;
  margin-bottom: 0.5rem;
}
.address-display:last-child {
  margin-bottom: 0;
}

.address-location {
  color: #495057;
  font-weight: 500;
  margin-top: 0.25rem;
}

.document-content {
  color: #212529;
}

.document-type {
  font-weight: 600;
  color: #212529;
  margin-bottom: 0.75rem;
  font-size: 1.1rem;
}

.document-standard {
  display: block;
  font-size: 0.85rem;
  color: #6c757d;
  font-weight: normal;
  margin-top: 0.25rem;
}

.document-details {
  margin-top: 1rem;
}

.detail-section-title {
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.75rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.status-badge {
  padding: 0.25rem 0.75rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-active {
  background: #d4edda;
  color: #155724;
}

.status-secure {
  background: #cce7ff;
  color: #004085;
}

.status-normal {
  background: #fff3cd;
  color: #856404;
}

.document-meta-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid #e9ecef;
}
.document-meta-item:last-child {
  border-bottom: none;
}

.meta-label {
  font-weight: 500;
  color: #6c757d;
  font-size: 0.9rem;
}

.meta-value {
  font-weight: 500;
  color: #212529;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.meta-code {
  font-family: "Courier New", Courier, monospace;
  background: #f8f9fa;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.8rem;
  color: #495057;
  border: 1px solid #e9ecef;
}

.healthcare-info-unified {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 0.5rem;
  border: 1px solid #dee2e6;
}

.healthcare-section {
  margin-bottom: 1.5rem;
}
.healthcare-section:last-child {
  margin-bottom: 0;
}

.healthcare-section-title {
  font-weight: 600;
  color: #495057;
  margin-bottom: 1rem;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.provider-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 0.375rem;
  padding: 1.5rem;
  margin-bottom: 1rem;
}
.provider-card:last-child {
  margin-bottom: 0;
}

.provider-name {
  font-weight: 600;
  color: #212529;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.provider-role {
  color: #28a745;
  font-weight: 500;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

.provider-specialty {
  color: #17a2b8;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

.provider-details {
  margin-top: 1rem;
}

.provider-detail-item {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  padding: 0.5rem;
  background: #f8f9fa;
  border-radius: 0.25rem;
}
.provider-detail-item i {
  width: 1.25rem;
  margin-right: 0.75rem;
  color: #6c757d;
}

.organization-details {
  background: #f8f9fa;
  padding: 1rem;
  border-radius: 0.375rem;
  margin-top: 1rem;
}

.organization-name {
  font-weight: 600;
  color: #212529;
  margin-bottom: 0.75rem;
}

.telecom-label {
  font-weight: 600;
  color: #495057;
  font-size: 0.9rem !important;
}

.telecom-value {
  font-weight: 500;
  color: #212529;
}

.telecom-meta {
  font-size: 0.8rem !important;
  color: #6c757d !important;
  margin-top: 0.1rem !important;
}

.guardian-card .contact-header {
  background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
}

.guardian-section {
  margin-bottom: 1rem;
}

.guardian-subtitle {
  font-size: 0.85rem;
  color: #495057;
  font-weight: 600;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e9ecef;
  padding-bottom: 0.25rem;
}

.border-info-custom {
  border-color: #b3d9ff !important;
}

.bg-info-light {
  background-color: #f0f8ff !important;
}

.nav-tabs-healthcare .nav-link,
.nav-tabs .nav-link,
button.nav-link {
  background-color: #ffffff !important;
  border: 2px solid #0085e9 !important;
  color: #0085e9 !important;
  border-radius: 0.375rem !important;
  padding: 0.5rem 1rem !important;
  margin-right: 0.5rem !important;
  transition: all 0.3s ease-in-out !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  border-bottom: 2px solid #0085e9 !important;
}
.nav-tabs-healthcare .nav-link:hover,
.nav-tabs .nav-link:hover,
button.nav-link:hover {
  background-color: #0085e9 !important;
  border-color: #0085e9 !important;
  color: #1a1a1a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(0, 133, 233, 0.3) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  border-bottom: 2px solid #0085e9 !important;
}
.nav-tabs-healthcare .nav-link:hover i,
.nav-tabs .nav-link:hover i,
button.nav-link:hover i {
  color: #1a1a1a !important;
  opacity: 1 !important;
}
.nav-tabs-healthcare .nav-link.active,
.nav-tabs .nav-link.active,
button.nav-link.active {
  background-color: #0085e9 !important;
  border-color: #0085e9 !important;
  color: var(--healthcare-text-light) !important;
  box-shadow: 0 2px 8px rgba(0, 133, 233, 0.3) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  border-bottom: 2px solid #0085e9 !important;
}
.nav-tabs-healthcare .nav-link.active i,
.nav-tabs .nav-link.active i,
button.nav-link.active i {
  color: var(--healthcare-text-light) !important;
  opacity: 1 !important;
}
.nav-tabs-healthcare .nav-link.active:hover,
.nav-tabs .nav-link.active:hover,
button.nav-link.active:hover {
  background-color: #0070c7 !important;
  border-color: #0070c7 !important;
  color: var(--healthcare-text-light) !important;
  transform: translateY(-1px) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  border-bottom: 2px solid #0070c7 !important;
}
.nav-tabs-healthcare .nav-link.active:hover i,
.nav-tabs .nav-link.active:hover i,
button.nav-link.active:hover i {
  color: var(--healthcare-text-light) !important;
  opacity: 1 !important;
}
.nav-tabs-healthcare .nav-link i,
.nav-tabs .nav-link i,
button.nav-link i {
  color: #0085e9 !important;
  transition: color 0.3s ease-in-out !important;
  opacity: 1 !important;
}

.clinical-cards-container {
  padding: 0.5rem 0;
}

.clinical-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.clinical-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.clinical-card.border-success {
  border-left: 4px solid #28a745;
  background: linear-gradient(to right, rgba(40, 167, 69, 0.05) 0%, transparent 100%);
}

.clinical-field {
  border-bottom: 1px solid #f1f3f4;
}
.clinical-field:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.clinical-field.primary-field-mobile {
  background: linear-gradient(to right, rgba(0, 133, 233, 0.05) 0%, transparent 100%);
  padding: 0.75rem;
  margin: -0.5rem -0.75rem 0.5rem -0.75rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(0, 133, 233, 0.1);
}

.field-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6c757d;
}
.field-label .terminology-indicator {
  font-size: 0.7rem;
  opacity: 0.7;
}

.field-value {
  font-size: 0.9rem;
  line-height: 1.4;
}
.field-value .primary-field-content strong {
  font-size: 1rem;
  color: #212529;
}
.field-value .field-content {
  color: #495057;
}

.medical-codes-container-mobile .medical-code-item {
  gap: 0.25rem;
}
.medical-codes-container-mobile .medical-code-item .badge {
  font-size: 0.7rem;
  padding: 0.25rem 0.5rem;
}
.medical-codes-container-mobile .medical-code-item code {
  font-size: 0.75rem;
  background: #f8f9fa;
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  border: 1px solid #dee2e6;
}

.medical-terminology .badge {
  font-size: 0.7rem;
  padding: 0.25rem 0.5rem;
}
.medical-terminology .badge .fa-tag {
  font-size: 0.6rem;
}

@media (max-width: 767.98px) {
  .clinical-cards-container {
    padding: 0.25rem 0;
  }
  .clinical-card {
    margin-bottom: 1rem;
  }
  .clinical-card .card-body {
    padding: 0.75rem;
  }
  .clinical-field {
    margin-bottom: 0.75rem;
  }
  .clinical-field.primary-field-mobile {
    margin: -0.25rem -0.5rem 0.5rem -0.5rem;
    padding: 0.5rem;
  }
  .field-label {
    margin-bottom: 0.25rem;
  }
  .medical-codes-container-mobile .medical-code-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .medical-codes-container-mobile .medical-code-item .badge,
  .medical-codes-container-mobile .medical-code-item code {
    margin: 0 0.25rem 0.25rem 0;
  }
}
@media (min-width: 640px) {
  .clinical-cards-container {
    padding: 0.75rem 0;
  }
  .clinical-card .card-body {
    padding: 1rem;
  }
  .clinical-field.primary-field-mobile {
    padding: 0.75rem;
    margin: -0.5rem -0.75rem 0.75rem -0.75rem;
  }
}
@media (min-width: 768px) {
  .clinical-cards-container {
    display: none !important;
  }
}
.uploaded-document-view {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

.info-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
}

.patient-details-grid,
.document-details-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.detail-item .label {
  font-weight: 600;
  color: #495057;
  font-size: 0.9rem;
}
.detail-item .value {
  color: #212529;
}

.status-badge {
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 500;
}
.status-badge.success {
  background: #d4edda;
  color: #155724;
}
.status-badge.pending {
  background: #fff3cd;
  color: #856404;
}

.sections-container {
  margin-top: 2rem;
}

.section-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.section-header {
  background: #f8f9fa;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.section-title {
  margin: 0;
  color: #333;
}

.section-code {
  background: #e9ecef;
  color: #495057;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.85rem;
}

.section-content {
  padding: 1.5rem;
}

.dual-language-content {
  position: relative;
}

.language-tabs {
  display: flex;
  margin-bottom: 1rem;
  border-bottom: 2px solid #e9ecef;
}

.tab-button {
  background: none;
  border: none;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  font-weight: 500;
  color: #6c757d;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}
.tab-button:hover {
  color: #495057;
  background: #f8f9fa;
}
.tab-button.active {
  color: #0066cc;
  border-bottom-color: #0066cc;
}

.language-content {
  display: none;
}
.language-content.active {
  display: block;
}

.single-language-content {
  /* Standard content styling */
}

.no-content {
  color: #6c757d;
  font-style: italic;
  text-align: center;
  padding: 2rem;
}

.no-sections {
  text-align: center;
  padding: 3rem 0;
}

.empty-state {
  background: #f8f9fa;
  border: 2px dashed #dee2e6;
  border-radius: 8px;
  padding: 3rem;
}
.empty-state h4 {
  color: #6c757d;
  margin-bottom: 1rem;
}
.empty-state p {
  color: #6c757d;
  margin: 0;
}

.cda-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.cda-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 30px;
}
.cda-header h1 {
  margin: 0 0 10px 0;
  font-size: 28px;
}

.language-indicator {
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 14px;
  margin-top: 10px;
}

.patient-info-section {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 30px;
}

.patient-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.patient-info-column h3 {
  color: #495057;
  border-bottom: 2px solid #007bff;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.patient-field {
  margin-bottom: 15px;
  padding: 10px;
  background: white;
  border-radius: 4px;
  border-left: 4px solid #007bff;
}

.field-label {
  font-weight: bold;
  color: #495057;
  margin-bottom: 5px;
}

.field-value {
  color: #6c757d;
}

.bilingual-sections {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 30px;
}

.section-column {
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
}

.section-column-header {
  padding: 15px 20px;
  font-weight: bold;
  color: white;
}

.original-column .section-column-header {
  background: #dc3545;
}

.translated-column .section-column-header {
  background: #28a745;
}

.section-content {
  padding: 20px;
  max-height: 600px;
  overflow-y: auto;
}

.medical-section {
  margin-bottom: 30px;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  overflow: hidden;
}

.section-title {
  background: #f8f9fa;
  padding: 15px 20px;
  margin: 0;
  font-size: 18px;
  border-bottom: 1px solid #e9ecef;
}

.section-body {
  padding: 20px;
}

.medical-table {
  width: 100%;
  border-collapse: collapse;
  margin: 15px 0;
  font-size: 14px;
}
.medical-table th {
  background: #f8f9fa;
  padding: 12px 8px;
  text-align: left;
  border: 1px solid #dee2e6;
  font-weight: bold;
}
.medical-table td {
  padding: 10px 8px;
  border: 1px solid #dee2e6;
  vertical-align: top;
}
.medical-table tr:nth-child(even) {
  background: #f8f9fa;
}

.section-text {
  line-height: 1.6;
  color: #495057;
}

.translation-controls {
  background: #e9ecef;
  padding: 15px 20px;
  margin-bottom: 20px;
  border-radius: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.view-toggle {
  display: flex;
  gap: 10px;
}

.toggle-btn {
  padding: 8px 16px;
  border: 1px solid #007bff;
  background: white;
  color: #007bff;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
}
.toggle-btn.active, .toggle-btn:hover {
  background: #007bff;
  color: white;
}

.single-column {
  grid-template-columns: 1fr;
}

@media (max-width: 768px) {
  .bilingual-sections {
    grid-template-columns: 1fr;
  }
  .patient-info-grid {
    grid-template-columns: 1fr;
  }
  .translation-controls {
    flex-direction: column;
    gap: 15px;
  }
}
.uploaded-documents-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

.documents-summary {
  margin: 2rem 0;
}

.summary-card {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 1.5rem;
}

.documents-list {
  margin-top: 2rem;
}

.document-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 1.5rem;
  transition: box-shadow 0.2s ease;
}
.document-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.document-card.processed {
  border-left: 4px solid #28a745;
}
.document-card.pending {
  border-left: 4px solid #ffc107;
}

.document-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.document-title {
  margin: 0 0 0.5rem 0;
  color: #333;
}

.document-meta {
  margin: 0;
  color: #6c757d;
}

.document-actions {
  flex-shrink: 0;
}

.document-details {
  border-top: 1px solid #e9ecef;
  padding-top: 1rem;
}

.patient-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}

.info-item {
  display: flex;
  flex-direction: column;
}
.info-item .label {
  font-weight: 600;
  color: #495057;
  font-size: 0.9rem;
}
.info-item .value {
  color: #212529;
}

.sections-summary {
  margin-top: 1rem;
}

.sections-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.section-badge {
  background: #e9ecef;
  color: #495057;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.85rem;
}

.no-documents {
  text-align: center;
  padding: 3rem 0;
}

.empty-state {
  background: #f8f9fa;
  border: 2px dashed #dee2e6;
  border-radius: 8px;
  padding: 3rem;
}
.empty-state h4 {
  color: #6c757d;
  margin-bottom: 1rem;
}
.empty-state p {
  color: #6c757d;
  margin: 0;
}

.patient-info,
.document-summary {
  background-color: #f8f9fa;
  padding: 1rem;
  border-radius: 0.5rem;
  border-left: 4px solid #007bff;
}

.document-summary {
  border-left-color: #28a745;
}

.document-selection-form .form-check {
  transition: all 0.2s ease;
}
.document-selection-form .form-check:hover {
  background-color: #f8f9fa !important;
}
.document-selection-form .form-check-input:checked + .form-check-label {
  font-weight: 500;
}

.badge {
  font-size: 0.75em;
}

.terminology-services-page .mermaid-container {
  background-color: #ffffff;
  padding: 30px;
  border-radius: 8px;
  margin: 20px 0;
  border: 1px solid #e2e8f0;
  text-align: center;
  overflow-x: auto;
}
.terminology-services-page .mermaid-container svg {
  max-width: 100%;
  height: auto;
  display: inline-block;
}
.terminology-services-page .standard-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.terminology-services-page .standard-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.terminology-services-page .process-badge {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 600;
  margin: 5px;
}
.terminology-services-page .process-badge.bg-primary {
  background-color: #005f5f !important;
  color: #ffffff !important;
}
.terminology-services-page .process-badge.bg-success {
  background-color: #22c55e !important;
  color: #ffffff !important;
}
.terminology-services-page .bg-gradient {
  background: linear-gradient(135deg, #007991 0%, #78ffd6 100%) !important;
}
.terminology-services-page .bg-gradient h1, .terminology-services-page .bg-gradient h2, .terminology-services-page .bg-gradient h3, .terminology-services-page .bg-gradient h4, .terminology-services-page .bg-gradient h5, .terminology-services-page .bg-gradient h6, .terminology-services-page .bg-gradient p, .terminology-services-page .bg-gradient span, .terminology-services-page .bg-gradient i, .terminology-services-page .bg-gradient .fa, .terminology-services-page .bg-gradient .fas, .terminology-services-page .bg-gradient .far {
  color: #ffffff !important;
}
.terminology-services-page .card-header.bg-dark h1, .terminology-services-page .card-header.bg-dark h2, .terminology-services-page .card-header.bg-dark h3, .terminology-services-page .card-header.bg-dark h4, .terminology-services-page .card-header.bg-dark h5, .terminology-services-page .card-header.bg-dark h6, .terminology-services-page .card-header.bg-dark p, .terminology-services-page .card-header.bg-dark span, .terminology-services-page .card-header.bg-primary h1, .terminology-services-page .card-header.bg-primary h2, .terminology-services-page .card-header.bg-primary h3, .terminology-services-page .card-header.bg-primary h4, .terminology-services-page .card-header.bg-primary h5, .terminology-services-page .card-header.bg-primary h6, .terminology-services-page .card-header.bg-primary p, .terminology-services-page .card-header.bg-primary span, .terminology-services-page .card-header.bg-success h1, .terminology-services-page .card-header.bg-success h2, .terminology-services-page .card-header.bg-success h3, .terminology-services-page .card-header.bg-success h4, .terminology-services-page .card-header.bg-success h5, .terminology-services-page .card-header.bg-success h6, .terminology-services-page .card-header.bg-success p, .terminology-services-page .card-header.bg-success span, .terminology-services-page .card-header.bg-info h1, .terminology-services-page .card-header.bg-info h2, .terminology-services-page .card-header.bg-info h3, .terminology-services-page .card-header.bg-info h4, .terminology-services-page .card-header.bg-info h5, .terminology-services-page .card-header.bg-info h6, .terminology-services-page .card-header.bg-info p, .terminology-services-page .card-header.bg-info span, .terminology-services-page .card-header.bg-secondary h1, .terminology-services-page .card-header.bg-secondary h2, .terminology-services-page .card-header.bg-secondary h3, .terminology-services-page .card-header.bg-secondary h4, .terminology-services-page .card-header.bg-secondary h5, .terminology-services-page .card-header.bg-secondary h6, .terminology-services-page .card-header.bg-secondary p, .terminology-services-page .card-header.bg-secondary span {
  color: #ffffff !important;
}
.terminology-services-page .card-header.bg-dark i, .terminology-services-page .card-header.bg-dark .fa, .terminology-services-page .card-header.bg-dark .fas, .terminology-services-page .card-header.bg-dark .far, .terminology-services-page .card-header.bg-dark .fab, .terminology-services-page .card-header.bg-primary i, .terminology-services-page .card-header.bg-primary .fa, .terminology-services-page .card-header.bg-primary .fas, .terminology-services-page .card-header.bg-primary .far, .terminology-services-page .card-header.bg-primary .fab, .terminology-services-page .card-header.bg-success i, .terminology-services-page .card-header.bg-success .fa, .terminology-services-page .card-header.bg-success .fas, .terminology-services-page .card-header.bg-success .far, .terminology-services-page .card-header.bg-success .fab, .terminology-services-page .card-header.bg-info i, .terminology-services-page .card-header.bg-info .fa, .terminology-services-page .card-header.bg-info .fas, .terminology-services-page .card-header.bg-info .far, .terminology-services-page .card-header.bg-info .fab, .terminology-services-page .card-header.bg-secondary i, .terminology-services-page .card-header.bg-secondary .fa, .terminology-services-page .card-header.bg-secondary .fas, .terminology-services-page .card-header.bg-secondary .far, .terminology-services-page .card-header.bg-secondary .fab {
  color: #ffffff !important;
}
.terminology-services-page .alert.alert-info, .terminology-services-page .alert.alert-primary, .terminology-services-page .alert.alert-secondary, .terminology-services-page .alert.alert-dark {
  color: #ffffff !important;
}
.terminology-services-page .alert.alert-info *, .terminology-services-page .alert.alert-info p, .terminology-services-page .alert.alert-info strong, .terminology-services-page .alert.alert-info span, .terminology-services-page .alert.alert-info a, .terminology-services-page .alert.alert-primary *, .terminology-services-page .alert.alert-primary p, .terminology-services-page .alert.alert-primary strong, .terminology-services-page .alert.alert-primary span, .terminology-services-page .alert.alert-primary a, .terminology-services-page .alert.alert-secondary *, .terminology-services-page .alert.alert-secondary p, .terminology-services-page .alert.alert-secondary strong, .terminology-services-page .alert.alert-secondary span, .terminology-services-page .alert.alert-secondary a, .terminology-services-page .alert.alert-dark *, .terminology-services-page .alert.alert-dark p, .terminology-services-page .alert.alert-dark strong, .terminology-services-page .alert.alert-dark span, .terminology-services-page .alert.alert-dark a {
  color: #ffffff !important;
}
.terminology-services-page .alert.alert-info i, .terminology-services-page .alert.alert-info .fa, .terminology-services-page .alert.alert-info .fas, .terminology-services-page .alert.alert-info .far, .terminology-services-page .alert.alert-info .fab, .terminology-services-page .alert.alert-primary i, .terminology-services-page .alert.alert-primary .fa, .terminology-services-page .alert.alert-primary .fas, .terminology-services-page .alert.alert-primary .far, .terminology-services-page .alert.alert-primary .fab, .terminology-services-page .alert.alert-secondary i, .terminology-services-page .alert.alert-secondary .fa, .terminology-services-page .alert.alert-secondary .fas, .terminology-services-page .alert.alert-secondary .far, .terminology-services-page .alert.alert-secondary .fab, .terminology-services-page .alert.alert-dark i, .terminology-services-page .alert.alert-dark .fa, .terminology-services-page .alert.alert-dark .fas, .terminology-services-page .alert.alert-dark .far, .terminology-services-page .alert.alert-dark .fab {
  color: #ffffff !important;
}
.terminology-services-page .alert.alert-info a, .terminology-services-page .alert.alert-primary a, .terminology-services-page .alert.alert-secondary a, .terminology-services-page .alert.alert-dark a {
  text-decoration: underline;
}
.terminology-services-page .alert.alert-info a:hover, .terminology-services-page .alert.alert-primary a:hover, .terminology-services-page .alert.alert-secondary a:hover, .terminology-services-page .alert.alert-dark a:hover {
  color: #e2e8f0 !important;
}
.terminology-services-page .alert-info {
  color: #ffffff !important;
}
.terminology-services-page .alert-info p, .terminology-services-page .alert-info strong, .terminology-services-page .alert-info span {
  color: #ffffff !important;
}
.terminology-services-page .alert-info i, .terminology-services-page .alert-info .fa, .terminology-services-page .alert-info .fas, .terminology-services-page .alert-info .far, .terminology-services-page .alert-info .fab {
  color: #ffffff !important;
}
.terminology-services-page .list-group-item .badge {
  font-size: 0.75rem;
  padding: 0.35em 0.65em;
  margin-right: 8px;
  vertical-align: middle;
}
.terminology-services-page .list-group-item .badge.bg-info, .terminology-services-page .list-group-item .badge.bg-primary, .terminology-services-page .list-group-item .badge.bg-secondary, .terminology-services-page .list-group-item .badge.bg-success, .terminology-services-page .list-group-item .badge.bg-dark {
  color: #ffffff !important;
}
.terminology-services-page .list-group-item .badge.bg-warning, .terminology-services-page .list-group-item .badge.bg-light {
  color: #2d3748 !important;
}
.terminology-services-page .standard-card {
  border-width: 2px;
}
.terminology-services-page .standard-card .card-title {
  margin-bottom: 1rem;
}
.terminology-services-page .standard-card .card-title i {
  font-size: 1.5rem;
}
.terminology-services-page .standard-card .btn-sm {
  margin-top: 1rem;
}
.terminology-services-page .implementation-section code {
  background-color: #f7fafc;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 0.9em;
  color: #dc2626;
}

.container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px) {
  .container {
    padding: 0 1.5rem;
  }
}

.flex-center {
  display: flex;
  align-items: center;
}

.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.margin-center {
  margin-left: auto;
  margin-right: auto;
}

.text-primary {
  color: #005f5f;
}

.text-center {
  text-align: center;
}

.text-sm {
  font-size: 0.875rem;
}

.text-xs {
  font-size: 0.75rem;
}

.italic {
  font-style: italic;
}

.opacity-80 {
  opacity: 0.8;
}

.text-on-primary-bg {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.text-on-primary-bg i,
.text-on-primary-bg .fa-solid,
.text-on-primary-bg .fa-regular,
.text-on-primary-bg .fa-light,
.text-on-primary-bg .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.text-on-primary-bg:hover {
  color: var(--healthcare-text-light) !important;
}
.text-on-primary-bg:hover i,
.text-on-primary-bg:hover .fa-solid,
.text-on-primary-bg:hover .fa-regular,
.text-on-primary-bg:hover .fa-light,
.text-on-primary-bg:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}
.text-on-primary-bg {
  background-color: var(--healthcare-primary);
}

.text-on-secondary-bg {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.text-on-secondary-bg i,
.text-on-secondary-bg .fa-solid,
.text-on-secondary-bg .fa-regular,
.text-on-secondary-bg .fa-light,
.text-on-secondary-bg .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.text-on-secondary-bg:hover {
  color: var(--healthcare-text-light) !important;
}
.text-on-secondary-bg:hover i,
.text-on-secondary-bg:hover .fa-solid,
.text-on-secondary-bg:hover .fa-regular,
.text-on-secondary-bg:hover .fa-light,
.text-on-secondary-bg:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}
.text-on-secondary-bg {
  background-color: var(--healthcare-secondary);
}

.text-on-accent-bg {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.text-on-accent-bg i,
.text-on-accent-bg .fa-solid,
.text-on-accent-bg .fa-regular,
.text-on-accent-bg .fa-light,
.text-on-accent-bg .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.text-on-accent-bg:hover {
  color: var(--healthcare-text-light) !important;
}
.text-on-accent-bg:hover i,
.text-on-accent-bg:hover .fa-solid,
.text-on-accent-bg:hover .fa-regular,
.text-on-accent-bg:hover .fa-light,
.text-on-accent-bg:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}
.text-on-accent-bg {
  background-color: var(--healthcare-accent);
}

.text-on-info-bg {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.text-on-info-bg i,
.text-on-info-bg .fa-solid,
.text-on-info-bg .fa-regular,
.text-on-info-bg .fa-light,
.text-on-info-bg .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.text-on-info-bg:hover {
  color: var(--healthcare-text-light) !important;
}
.text-on-info-bg:hover i,
.text-on-info-bg:hover .fa-solid,
.text-on-info-bg:hover .fa-regular,
.text-on-info-bg:hover .fa-light,
.text-on-info-bg:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}
.text-on-info-bg {
  background-color: var(--healthcare-info);
}

.text-on-blue-bg {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.text-on-blue-bg i,
.text-on-blue-bg .fa-solid,
.text-on-blue-bg .fa-regular,
.text-on-blue-bg .fa-light,
.text-on-blue-bg .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.text-on-blue-bg:hover {
  color: var(--healthcare-text-light) !important;
}
.text-on-blue-bg:hover i,
.text-on-blue-bg:hover .fa-solid,
.text-on-blue-bg:hover .fa-regular,
.text-on-blue-bg:hover .fa-light,
.text-on-blue-bg:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}

.grid-container {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
}

.grid-item {
  padding: 0 1rem;
  margin-bottom: 1.5rem;
}

.grid-auto {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.grid-auto > * {
  flex: 1;
  min-width: 350px;
}
@media (min-width: 480px) {
  .grid-auto > * {
    min-width: 100%;
  }
}

.grid-auto-sm {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.grid-auto-sm > * {
  flex: 1;
  min-width: 250px;
}
@media (min-width: 480px) {
  .grid-auto-sm > * {
    min-width: 100%;
  }
}

.grid-auto-lg {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.grid-auto-lg > * {
  flex: 1;
  min-width: 300px;
}
@media (min-width: 480px) {
  .grid-auto-lg > * {
    min-width: 100%;
  }
}

.service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.service-grid > * {
  flex: 1;
  min-width: 250px;
}
@media (min-width: 480px) {
  .service-grid > * {
    min-width: 100%;
  }
}

.m-0 {
  margin: 0;
}

.m-xs {
  margin: 0.25rem;
}

.m-sm {
  margin: 0.5rem;
}

.m-md {
  margin: 1rem;
}

.m-lg {
  margin: 1.5rem;
}

.m-xl {
  margin: 2rem;
}

.p-0 {
  padding: 0;
}

.p-xs {
  padding: 0.25rem;
}

.p-sm {
  padding: 0.5rem;
}

.p-md {
  padding: 1rem;
}

.p-lg {
  padding: 1.5rem;
}

.p-xl {
  padding: 2rem;
}

.mt-0 {
  margin-top: 0;
}

.mt-sm {
  margin-top: 0.5rem;
}

.mt-md {
  margin-top: 1rem;
}

.mt-lg {
  margin-top: 1.5rem;
}

.mt-xl {
  margin-top: 2rem;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-sm {
  margin-bottom: 0.5rem;
}

.mb-md {
  margin-bottom: 1rem;
}

.mb-lg {
  margin-bottom: 1.5rem;
}

.mb-xl {
  margin-bottom: 2rem;
}

.pt-0 {
  padding-top: 0;
}

.pt-sm {
  padding-top: 0.5rem;
}

.pt-md {
  padding-top: 1rem;
}

.pt-lg {
  padding-top: 1.5rem;
}

.pt-xl {
  padding-top: 2rem;
}

.pb-0 {
  padding-bottom: 0;
}

.pb-sm {
  padding-bottom: 0.5rem;
}

.pb-md {
  padding-bottom: 1rem;
}

.pb-lg {
  padding-bottom: 1.5rem;
}

.pb-xl {
  padding-bottom: 2rem;
}

.text-secondary-accessible {
  color: var(--healthcare-dark-grey) !important;
  font-weight: 500;
}

.text-muted-accessible {
  color: var(--healthcare-dark-grey);
  font-weight: 500;
}

.text-on-blue-bg {
  color: var(--healthcare-text-light) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.text-on-blue-bg i,
.text-on-blue-bg .fa-solid,
.text-on-blue-bg .fa-regular,
.text-on-blue-bg .fa-light,
.text-on-blue-bg .fa-brands {
  color: var(--healthcare-text-light) !important;
}
.text-on-blue-bg:hover {
  color: var(--healthcare-text-light) !important;
}
.text-on-blue-bg:hover i,
.text-on-blue-bg:hover .fa-solid,
.text-on-blue-bg:hover .fa-regular,
.text-on-blue-bg:hover .fa-light,
.text-on-blue-bg:hover .fa-brands {
  color: var(--healthcare-text-light) !important;
  transform: none !important;
}

.card-header.bg-light h5 {
  color: var(--healthcare-dark-grey) !important;
  font-weight: 600 !important;
}

.service-card .card-body small.text-secondary-accessible,
.service-card small.text-secondary-accessible,
.card .card-body small.text-secondary-accessible,
small.text-secondary-accessible {
  color: var(--healthcare-dark-grey) !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}
