#root {
  margin: 0; /* Remove margin to prevent white frame */
  padding: 0; /* Remove padding around the root element */
  width: 100%; /* Ensure the root element takes full width */
  height: 100%; /* Ensure the root element takes full height */
  min-height: 100vh; /* Ensure minimum viewport height */
  box-sizing: border-box; /* Include padding and border in the element's total width and height */
  background-color: inherit; /* Inherit background from body */
}

/* Dark mode root element */
body.dark-mode #root {
  background-color: #1a1a1a !important;
}

body, html {
  margin: 0; /* Remove default margin */
  padding: 0; /* Remove default padding */
  width: 100%; /* Ensure body and html take full width */
  height: 100%; /* Ensure body and html take full height */
  min-height: 100vh; /* Ensure minimum viewport height */
  box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

/* Base styles */
body {
  background-color: #ffffff;
  color: #333333;
  overflow-x: hidden; /* Prevent horizontal scroll that can cause white borders */
}

/* Mobile body adjustments */
@media (max-width: 768px) {
  body {
    /* No additional padding needed for non-sticky footer */
  }
}

@media (max-width: 480px) {
  body {
    /* No additional padding needed for non-sticky footer */
  }
}

/* Removed @media (prefers-color-scheme: dark) to prevent browser override */

/* Dark Mode class approach */
body.dark-mode {
  background-color: #1a1a1a !important;
  color: #e1e1e1;
  overflow-x: hidden; /* Prevent horizontal scroll that can cause white borders */
}

/* Comprehensive dark mode viewport coverage */
body.dark-mode::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #1a1a1a;
  z-index: -1;
  pointer-events: none;
}

/* Ensure full viewport coverage in dark mode to prevent white borders */
html.dark-mode {
  background-color: #1a1a1a !important;
  overflow-x: hidden; /* Prevent horizontal scroll that can cause white borders */
}

body.dark-mode,
body.dark-mode *:not(.material-icons) {
  scrollbar-color: #404040 #1a1a1a;
}

/* Dark mode container styling */
body.dark-mode .container {
  background-color: #1a1a1a !important;
}

body.dark-mode .benefits-page {
  background-color: #1a1a1a !important;
}

/* Ensure all wrapper elements have dark background */
body.dark-mode * {
  box-sizing: border-box;
}

/* Fix any potential white space around viewport */
html.dark-mode,
html.dark-mode body,
html.dark-mode #root {
  background-color: #1a1a1a !important;
  min-height: 100vh !important;
}
body.dark-mode .card {
  background-color: #2d2d2d;
  color: #e1e1e1;
  border: 1px solid #404040;
}
body.dark-mode .table-container {
  background-color: #2d2d2d;
}
body.dark-mode table {
  background-color: #2d2d2d;
  color: #e1e1e1;
  border-color: #404040;
}
body.dark-mode th, body.dark-mode td {
  border-bottom: 1px solid #404040;
  color: #e1e1e1;
}
body.dark-mode thead tr {
  background-color: #404040;
}
body.dark-mode tbody tr:nth-child(odd) {
  background-color: #353535;
}
body.dark-mode tbody tr:nth-child(even) {
  background-color: #2d2d2d;
}
body.dark-mode a {
  color: #66b3ff;
}
body.dark-mode .read-the-docs {
  color: #aaa;
}
body.dark-mode .pdf-icon::after {
  background-color: #404040;
}

/* Additional dark mode fixes for better readability */
body.dark-mode input {
  background-color: #2d2d2d;
  color: #e1e1e1;
  border-color: #404040;
}

body.dark-mode input::placeholder {
  color: #888;
}

body.dark-mode select {
  background-color: #2d2d2d;
  color: #e1e1e1;
  border-color: #404040;
}

body.dark-mode textarea {
  background-color: #2d2d2d;
  color: #e1e1e1;
  border-color: #404040;
}

body.dark-mode button {
  border-color: #404040;
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
  color: #e1e1e1;
}

body.dark-mode p {
  color: #e1e1e1;
}

body.dark-mode .modal {
  background-color: #2d2d2d;
  color: #e1e1e1;
}

body.dark-mode .modal-content {
  background-color: #2d2d2d;
  color: #e1e1e1;
}

/* Dark mode scrollbar styling */
body.dark-mode ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

body.dark-mode ::-webkit-scrollbar-track {
  background-color: #1a1a1a;
}

body.dark-mode ::-webkit-scrollbar-thumb {
  background-color: #404040;
  border-radius: 4px;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
  background-color: #505050;
}

body.dark-mode ::-webkit-scrollbar-corner {
  background-color: #1a1a1a;
}

@keyframes logo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: no-preference) {
  a:nth-of-type(2) .logo {
    animation: logo-spin infinite 20s linear;
  }
}

/* Document Sources View */
.header {
  margin-bottom: 30px;
}

/* Mobile content optimizations */
@media (max-width: 768px) {
  .header {
    margin-bottom: 15px;
  }
  
  /* Reduce margins and padding for mobile to maximize content space */
  .container {
    padding: 10px;
  }
  
  /* Optimize card layouts for mobile */
  .report-sources-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 15px;
  }
  
  .report-source-card {
    padding: 15px;
  }
}

@media (max-width: 480px) {
  .header {
    margin-bottom: 10px;
  }
  
  .container {
    padding: 8px;
  }
  
  .report-sources-grid {
    gap: 12px;
    margin-top: 12px;
  }
  
  .report-source-card {
    padding: 12px;
  }
}

.search-container {
  margin: 20px 0;
  display: flex;
  justify-content: center;
}

.search-container form {
  display: flex;
  width: 100%;
  max-width: 600px;
}

.search-input {
  flex: 1;
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 4px 0 0 4px;
  font-size: 16px;
}

body.dark-mode .search-input {
  background-color: #2d2d2d;
  border-color: #404040;
  color: #e1e1e1;
}

.search-button,
.clear-button {
  padding: 10px 20px;
  background-color: #646cff;
  color: white;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s;
}

.search-button {
  border-radius: 0 4px 4px 0;
}

.clear-button {
  border-radius: 4px;
  margin-left: 10px;
  background-color: #888;
}

.search-button:hover,
.clear-button:hover {
  opacity: 0.9;
}

.search-button:disabled {
  background-color: #cccccc;
  cursor: not-allowed;
}

.report-sources-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.report-source-card {
  background-color: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s, box-shadow 0.3s;
  text-align: left;
}

.dark-mode .report-source-card {
  background-color: #2d2d2d;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

.report-source-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.dark-mode .report-source-card:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
}

.report-source-card h2 {
  margin-top: 0;
  color: #333;
  font-size: 1.2rem;
}

.dark-mode .report-source-card h2 {
  color: #e1e1e1;
}

.report-source-card p {
  color: #666;
  margin: 10px 0;
}

.dark-mode .report-source-card p {
  color: #aaa;
}

.source-link {
  display: inline-block;
  margin-top: 15px;
  color: #646cff;
  text-decoration: none;
  font-weight: 500;
}

.source-link:hover {
  text-decoration: underline;
}

.document-count {
  margin-top: 10px;
  font-size: 0.9rem;
  color: #888;
  background-color: #f5f5f5;
  padding: 5px 10px;
  border-radius: 20px;
  display: inline-block;
}

.dark-mode .document-count {
  background-color: #333;
  color: #bbb;
}

.search-results-summary {
  background-color: #f8f9fa;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 20px;
  font-size: 0.9rem;
  color: #666;
  text-align: left;
}

.dark-mode .search-results-summary {
  background-color: #2d2d2d;
  color: #aaa;
}

.loading-indicator {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  color: #666;
}

.dark-mode .loading-indicator {
  color: #bbb;
}

.no-results {
  text-align: center;
  padding: 50px;
  color: #666;
}

.dark-mode .no-results {
  color: #bbb;
}

.read-the-docs {
  color: #888;
}

/* Table Container */
.table-container {
  width: 100%;
  overflow-x: auto;
  /* Add top margin to account for sticky navigation */
  margin-top: 20px;
  /* Add bottom margin to account for fixed footer and ensure pagination is visible */
  margin-bottom: 100px;
  /* Limit the height to prevent content from going behind footer */
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}



/* Optimized spacing for mobile with compact header and footer */
@media (max-width: 768px) {
  .table-container {
    margin-bottom: 60px;
    max-height: calc(100vh - 140px);
  }
}

/* Even more optimized for very small screens */
@media (max-width: 480px) {
  .table-container {
    margin-bottom: 50px;
    max-height: calc(100vh - 120px);
  }
}

table {
  border-collapse: collapse;
  width: 100%;
  margin: 0; /* Remove margin around the table */
}

th, td {
  padding: 8px; /* Reduce padding for table cells */
  text-align: left;
  border-bottom: 1px solid #ccc; /* Lighter border color */
}

thead tr {
  background-color: #f2f2f2;
}

tbody tr:nth-child(odd) {
  background-color: #f9f9f9; /* Light gray for odd rows */
}

tbody tr:nth-child(even) {
  background-color: #e9e9e9; /* Slightly darker gray for even rows */
}

a {
  color: #007bff;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Prevent line breaks in date cells */
.date-cell {
  white-space: nowrap;
}

/* Make ISIN bold */
.isin-cell {
  font-weight: bold;
}

/* Style for PDF icon */
.pdf-icon {
  position: relative;
  display: inline-block;
  margin-right: 5px;
}

.pdf-icon:hover::after {
  content: attr(data-filename);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 5px;
  border-radius: 3px;
  white-space: nowrap;
  z-index: 1;
  opacity: 0.9;
}

/* Pagination styles */
.pagination-info {
  margin: 10px 0;
  text-align: right;
  font-size: 0.9em;
  color: #666;
}

.pagination-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0;
  gap: 10px;
  position: relative;
}

.pagination-button {
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 5px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  transition: all 0.2s ease;
}

.pagination-button:hover:not(:disabled) {
  background-color: #e0e0e0;
}

.pagination-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pagination-page-number {
  font-weight: bold;
  padding: 0 10px;
  min-width: 30px;
  text-align: center;
}

/* Dark mode styles for pagination */
@media (prefers-color-scheme: dark) {
  .pagination-info {
    color: #aaa;
  }
  
  .pagination-button {
    background-color: #444;
    border-color: #555;
    color: #ddd;
  }
  
  .pagination-button:hover:not(:disabled) {
    background-color: #555;
  }
}

body.dark-mode .pagination-info {
  color: #aaa;
}

body.dark-mode .pagination-button {
  background-color: #444;
  border-color: #555;
  color: #ddd;
}

body.dark-mode .pagination-button:hover:not(:disabled) {
  background-color: #555;
}

/* Navigation Styles */
.main-nav {
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  border-bottom: 1px solid #ddd;
  background-color: #ffffff;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Mobile navigation optimizations */
@media (max-width: 768px) {
  .main-nav {
    margin-bottom: 8px;
  }
}

@media (max-width: 480px) {
  .main-nav {
    margin-bottom: 6px;
  }
}

/* Navigation Brand */
.nav-brand {
  display: flex;
  align-items: center;
}

.nav-brand h1 {
  margin: 0;
  color: #333;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.nav-links {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.nav-links li {
  margin-right: 15px;
}

.nav-links a {
  display: block;
  padding: 8px 12px;
  text-decoration: none;
  color: #333;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.nav-links a:hover {
  border-bottom-color: #ccc;
}

.nav-links a.active {
  border-bottom-color: #646cff;
  color: #646cff;
  font-weight: 600;
}

/* Dark mode styles for navigation */
body.dark-mode .nav-links {
  border-bottom-color: #555;
}

body.dark-mode .nav-links a {
  color: #e1e1e1;
}

body.dark-mode .nav-links a:hover {
  border-bottom-color: #777;
}

body.dark-mode .nav-links a.active {
  border-bottom-color: #66b2ff;
  color: #66b2ff;
}

/* Authentication Section Styles */
.auth-section {
  display: flex;
  align-items: center;
  gap: 15px;
}

.auth-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nav-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.user-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Navigation upgrade button styles */
.nav-upgrade-button {
  margin-left: 8px;
}

.nav-upgrade-button .upgrade-button-container {
  max-width: none;
  gap: 0;
}

.nav-upgrade-button .upgrade-benefits {
  display: none;
}

.nav-upgrade-button .upgrade-error {
  display: none;
}

/* Centered upgrade button in navigation */
.nav-upgrade-item {
  display: flex;
  align-items: center;
  margin: 0 1rem;
}

.nav-upgrade-button-center {
  font-size: 0.85rem !important;
  padding: 0.5rem 1rem !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  color: white !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

.nav-upgrade-button-center:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.username {
  font-weight: 600;
  color: #333;
}

.role-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.role-badge.admin {
  background-color: #dc3545;
  color: white;
}

.role-badge.user {
  background-color: #007bff;
  color: white;
}

.role-badge.public {
  background-color: #28a745;
  color: white;
}

.role-badge.free {
  background-color: #ffc107;
  color: #212529;
}

.role-badge.trial {
  background-color: #fd7e14;
  color: white;
}

.login-button,
.signup-button,
.logout-button {
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.signup-button {
  background-color: #28a745;
  color: white;
}

.signup-button:hover {
  background-color: #1e7e34;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
}

.login-button {
  background-color: #007bff;
  color: white;
}

.login-button:hover {
  background-color: #0056b3;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}

.logout-button {
  background-color: #6c757d;
  color: white;
}

.logout-button:hover {
  background-color: #545b62;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(108, 117, 125, 0.3);
}

/* Dark mode styles for authentication */
body.dark-mode .username {
  color: #e1e1e1;
}

body.dark-mode .main-nav {
  background-color: #2d2d2d !important;
  border-bottom-color: #404040;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* When impersonation is active, position navigation below the overlay */
body.impersonating .main-nav {
  top: 60px;
}

/* Dark mode styles for navigation brand */
body.dark-mode .nav-brand h1 {
  color: #e1e1e1;
}

/* Version Info Icon - Bottom Right */
.version-info-icon {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

.info-icon-button {
  background-color: rgba(248, 249, 250, 0.9);
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(5px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  /* Ensure button behavior is properly isolated */
  outline: none;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.info-icon-button .material-icons {
  font-size: 18px;
  color: #666;
  transition: color 0.2s ease;
}

.info-icon-button:hover {
  background-color: rgba(233, 236, 239, 0.95);
  border-color: #ccc;
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.info-icon-button:hover .material-icons {
  color: #333;
}

.version-tooltip {
  position: absolute;
  bottom: 45px;
  right: 0;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(10px);
  min-width: 160px;
  font-size: 12px;
  color: #666;
  white-space: nowrap;
  z-index: 10000;
}

.version-tooltip div {
  margin-bottom: 4px;
}

.version-tooltip div:last-child {
  margin-bottom: 0;
}

/* Dark mode styles for version info icon */
body.dark-mode .info-icon-button {
  background-color: rgba(68, 68, 68, 0.9);
  border-color: #555;
}

body.dark-mode .info-icon-button .material-icons {
  color: #bbb;
}

body.dark-mode .info-icon-button:hover {
  background-color: rgba(85, 85, 85, 0.95);
  border-color: #666;
}

body.dark-mode .info-icon-button:hover .material-icons {
  color: #e1e1e1;
}

body.dark-mode .version-tooltip {
  background-color: rgba(51, 51, 51, 0.95);
  border-color: #555;
  color: #bbb;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Responsive navigation */
@media (max-width: 768px) {
  /* Minimal mobile header - no navigation links on mobile */
  .main-nav {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 8px 12px;
    min-height: auto;
    justify-content: space-between;
    align-items: center;
  }
  
  /* Brand stays on left */
  .nav-brand {
    flex: 0 0 auto;
  }
  
  .nav-brand h1 {
    font-size: 1.3rem;
    margin: 0;
  }
  
  /* Hide desktop navigation links on mobile - use bottom nav instead */
  .desktop-nav-links {
    display: none;
  }

  /* Auth controls on right */
  .nav-controls {
    flex: 0 0 auto;
    margin-left: auto;
  }
  
  .auth-section {
    width: auto;
    gap: 8px;
  }
  
  .auth-buttons {
    gap: 8px;
  }
  
  /* Compact auth buttons */
  .login-button,
  .signup-button,
  .logout-button {
    padding: 6px 12px;
    font-size: 13px;
  }
  
  /* Mobile adjustments for impersonation overlay */
  body.impersonating .main-nav {
    top: 56px;
  }
}

/* Even more compact navigation for very small screens */
@media (max-width: 480px) {
  .main-nav {
    padding: 6px 8px;
    gap: 6px;
  }
  
  .nav-brand h1 {
    font-size: 1.2rem;
  }
  
  .auth-buttons {
    gap: 6px;
  }
  
  .login-button,
  .signup-button {
    padding: 5px 10px;
    font-size: 12px;
  }
  
  body.impersonating .main-nav {
    top: 52px;
  }
}

/* User Management Styles */
.user-management-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #ddd;
}

.user-management-header h1 {
  margin: 0;
  color: #333;
  font-size: 1.8rem;
}

.user-stats {
  display: flex;
  gap: 20px;
  font-size: 0.9rem;
  color: #666;
}

.user-stats .stat {
  background-color: #f5f5f5;
  padding: 5px 10px;
  border-radius: 15px;
  font-weight: 500;
}

/* Action Message Styles */
.action-message {
  padding: 12px 20px;
  border-radius: 6px;
  margin-bottom: 20px;
  font-weight: 500;
  animation: slideInFromTop 0.3s ease-out;
}

.action-message.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.action-message.error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.action-message.info {
  background-color: #d1ecf1;
  color: #0c5460;
  border: 1px solid #bee5eb;
}

@keyframes slideInFromTop {
  0% {
    transform: translateY(-20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Users Table Styles */
.users-table-container {
  background-color: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

.users-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.users-table th {
  background-color: #f8f9fa;
  color: #495057;
  font-weight: 600;
  padding: 15px 12px;
  text-align: left;
  border-bottom: 2px solid #e9ecef;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.users-table td {
  padding: 12px;
  border-bottom: 1px solid #e9ecef;
  vertical-align: middle;
}

.users-table tbody tr:hover {
  background-color: #f8f9fa;
  transition: background-color 0.2s ease;
}

/* User Info Cell */
.user-info-cell {
  width: 25%;
}

.user-details .username {
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
}

.user-details .email {
  color: #666;
  font-size: 0.9rem;
}

/* Status Badge Styles */
.status-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-badge.active {
  background-color: #d4edda;
  color: #155724;
}

.status-badge.unverified {
  background-color: #fff3cd;
  color: #856404;
}

.status-badge.inactive {
  background-color: #f8d7da;
  color: #721c24;
}

/* Date Cell Styles */
.date-cell {
  color: #666;
  font-size: 0.9rem;
  white-space: nowrap;
}

/* Action Buttons */
.actions-cell {
  width: 120px; /* Much more compact */
}

.action-buttons {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}

/* Action Groups */
.action-group {
  display: flex;
  align-items: center;
  gap: 2px;
  width: 100%;
  position: relative;
}

.delete-confirm-group {
  display: flex;
  gap: 2px;
  width: 100%;
}

/* Labeled Action Buttons */
.action-btn-labeled {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
  min-height: 28px;
  flex: 1;
}

.action-btn-labeled .material-icons {
  font-size: 18px;
  line-height: 1;
}

.action-btn-labeled .btn-label {
  font-size: 13px;
  font-weight: 600;
}

.action-btn-labeled:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Help Buttons with Tooltips */
.help-btn {
  width: 14px;
  height: 14px;
  border: none;
  border-radius: 50%;
  background-color: #6c757d;
  color: white;
  cursor: help;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
  position: relative;
}

.help-btn .material-icons {
  font-size: 8px;
  line-height: 1;
}

.help-btn:hover {
  background-color: #495057;
  transform: scale(1.1);
}

[data-theme="dark"] .help-btn {
  background-color: #495057;
  border: 1px solid #6c757d;
}

[data-theme="dark"] .help-btn:hover {
  background-color: #6c757d;
}

/* Tooltip for help buttons */
.help-btn::after {
  content: attr(title);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 5px;
  padding: 4px 8px;
  background-color: rgba(0, 0, 0, 0.9);
  color: white;
  font-size: 10px;
  font-weight: normal;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  z-index: 1000;
  max-width: 200px;
  word-wrap: break-word;
  white-space: normal;
  line-height: 1.2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .help-btn::after {
  background-color: rgba(255, 255, 255, 0.95);
  color: #2c3e50;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.help-btn:hover::after {
  opacity: 1;
}

/* Arrow for tooltip */
.help-btn::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.9);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1000;
}

[data-theme="dark"] .help-btn::before {
  border-top-color: rgba(255, 255, 255, 0.95);
}

.help-btn:hover::before {
  opacity: 1;
}

/* Actions Header Help */
.actions-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
  font-weight: 600;
  font-size: 11px;
  color: var(--text-color);
}

.actions-header-help {
  width: 16px;
  height: 16px;
  border: none;
  border-radius: 50%;
  background-color: #007bff;
  color: white;
  cursor: help;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.actions-header-help:hover {
  background-color: #0056b3;
  transform: scale(1.1);
}

.actions-header-help .material-icons {
  font-size: 10px;
  line-height: 1;
}

[data-theme="dark"] .actions-header-help {
  background-color: #0d6efd;
  border: 1px solid #3d7bff;
}

[data-theme="dark"] .actions-header-help:hover {
  background-color: #3d7bff;
}

/* Actions Help Popup */
.actions-help-popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  backdrop-filter: blur(4px);
}

.actions-help-content {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  padding: 24px;
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .actions-help-content {
  background: rgba(45, 55, 72, 0.95);
  color: #e2e8f0;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.actions-help-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

[data-theme="dark"] .actions-help-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.actions-help-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  color: #2d3748;
}

[data-theme="dark"] .actions-help-title {
  color: #e2e8f0;
}

.actions-help-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.2s;
  color: #718096;
}

.actions-help-close:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

[data-theme="dark"] .actions-help-close {
  color: #a0aec0;
}

[data-theme="dark"] .actions-help-close:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.actions-help-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.action-help-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background-color: rgba(0, 0, 0, 0.03);
  border-radius: 8px;
  border-left: 3px solid #007bff;
}

[data-theme="dark"] .action-help-item {
  background-color: rgba(255, 255, 255, 0.05);
  border-left-color: #0d6efd;
}

.action-help-icon {
  color: #007bff;
  font-size: 20px;
  margin-top: 2px;
  flex-shrink: 0;
}

[data-theme="dark"] .action-help-icon {
  color: #3d7bff;
}

.action-help-content {
  flex: 1;
}

.action-help-name {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 4px;
  color: #2d3748;
}

[data-theme="dark"] .action-help-name {
  color: #e2e8f0;
}

.action-help-description {
  font-size: 13px;
  line-height: 1.4;
  color: #4a5568;
}

[data-theme="dark"] .action-help-description {
  color: #cbd5e0;
}

.action-help-availability {
  font-size: 11px;
  font-style: italic;
  color: #718096;
  margin-top: 4px;
}

[data-theme="dark"] .action-help-availability {
  color: #a0aec0;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .actions-cell {
    width: 100px;
  }
  
  .action-btn-labeled {
    padding: 4px 8px;
    min-height: 22px;
    gap: 4px;
  }
  
  .action-btn-labeled .material-icons {
    font-size: 16px;
  }
  
  .action-btn-labeled .btn-label {
    font-size: 11px;
  }
  
  .help-btn {
    width: 12px;
    height: 12px;
  }
  
  .help-btn .material-icons {
    font-size: 7px;
  }
  
  .help-btn::after {
    font-size: 8px;
    padding: 2px 4px;
    max-width: 120px;
  }
}

/* Old action-btn styles kept for backward compatibility */
.action-btn {
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.2s ease;
  font-weight: bold;
}

.action-btn .material-icons {
  font-size: 16px;
  line-height: 1;
}

.action-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Button Color Schemes */
.upgrade-btn {
  background-color: #28a745;
  color: white;
}

.upgrade-btn:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3);
}

.downgrade-btn {
  background-color: #ff8c00;
  color: white;
}

.downgrade-btn:hover:not(:disabled) {
  background-color: #ff7700;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(255, 140, 0, 0.3);
}

.resend-btn {
  background-color: #007bff;
  color: white;
}

.resend-btn:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
}

.delete-btn {
  background-color: #dc3545;
  color: white;
}

.delete-btn:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(220, 53, 69, 0.3);
}

.confirm-btn {
  background-color: #28a745;
  color: white;
}

.confirm-btn:hover:not(:disabled) {
  background-color: #218838;
  box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3);
}

.cancel-btn {
  background-color: #6c757d;
  color: white;
}

.cancel-btn:hover:not(:disabled) {
  background-color: #545b62;
  box-shadow: 0 2px 4px rgba(108, 117, 125, 0.3);
}

/* Legacy delete-confirm for backward compatibility */
.delete-confirm {
  display: flex;
  gap: 3px;
}

/* Error Message */
.error-message {
  background-color: #f8d7da;
  color: #721c24;
  padding: 12px 20px;
  border-radius: 6px;
  margin-bottom: 20px;
  border: 1px solid #f5c6cb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.retry-button {
  background-color: #dc3545;
  color: white;
  border: none;
  padding: 5px 10px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8rem;
}

.retry-button:hover {
  background-color: #c82333;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin: 20px 0;
}

.pagination-btn {
  background-color: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.2s ease;
}

.pagination-btn:hover:not(:disabled) {
  background-color: #0056b3;
}

.pagination-btn:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

.pagination-info {
  font-weight: 500;
  color: #495057;
  padding: 0 10px;
}

/* Legend styles removed - using labeled buttons with help tooltips instead */

/* Loading State */
.loading {
  text-align: center;
  padding: 40px;
  color: #666;
  font-size: 1.1rem;
}

/* Dark Mode Support for User Management */
body.dark-mode .user-management-header {
  border-bottom-color: #555;
}

body.dark-mode .user-management-header h1 {
  color: #e1e1e1;
}

body.dark-mode .user-stats {
  color: #aaa;
}

body.dark-mode .user-stats .stat {
  background-color: #444;
  color: #e1e1e1;
}

body.dark-mode .action-message.success {
  background-color: #1e4d2b;
  color: #a3d6aa;
  border-color: #2d5a35;
}

body.dark-mode .action-message.error {
  background-color: #4d1e23;
  color: #d6a3a8;
  border-color: #5a2d33;
}

body.dark-mode .action-message.info {
  background-color: #1e3d4d;
  color: #a3c7d6;
  border-color: #2d4a5a;
}

body.dark-mode .users-table-container {
  background-color: #2d2d2d;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

body.dark-mode .users-table th {
  background-color: #404040;
  color: #e1e1e1;
  border-bottom-color: #404040;
}

body.dark-mode .users-table td {
  border-bottom-color: #404040;
  color: #e1e1e1;
}

body.dark-mode .users-table tbody tr:hover {
  background-color: #404040;
}

body.dark-mode .user-details .username {
  color: #e1e1e1;
}

body.dark-mode .user-details .email {
  color: #aaa;
}

body.dark-mode .date-cell {
  color: #aaa;
}

body.dark-mode .error-message {
  background-color: #4d1e23;
  color: #d6a3a8;
  border-color: #5a2d33;
}

body.dark-mode .pagination-info {
  color: #aaa;
}

/* Dark mode for new action buttons */
body.dark-mode .help-btn {
  background-color: #555;
  color: #e1e1e1;
}

body.dark-mode .help-btn:hover {
  background-color: #666;
}

body.dark-mode .loading {
  color: #aaa;
}

/* Responsive Design for User Management */
@media (max-width: 1200px) {
  .users-table {
    font-size: 0.9rem;
  }
  
  .actions-cell {
    width: 220px;
  }
  
  .action-btn-labeled {
    font-size: 13px;
    padding: 5px 10px;
    min-height: 26px;
  }
  
  .action-btn-labeled .btn-label {
    font-size: 13px;
  }
  
  .help-btn {
    width: 18px;
    height: 18px;
  }
  
  .help-btn .material-icons {
    font-size: 11px;
  }
  
  /* Legacy action-btn for backward compatibility */
  .action-btn {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .user-management-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  
  .user-stats {
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }
  
  .users-table-container {
    overflow-x: auto;
  }
  
  .users-table {
    min-width: 800px; /* Increased for wider action column */
  }
  
  .actions-cell {
    width: 200px;
  }
  
  .action-btn-labeled {
    font-size: 12px;
    padding: 5px 10px;
    min-height: 26px;
  }
  
  .action-btn-labeled .btn-label {
    font-size: 12px;
  }
  
  .help-btn {
    width: 16px;
    height: 16px;
  }
  
  .help-btn .material-icons {
    font-size: 10px;
  }
}

/* Subscription Pages Styles */
.success-page,
.canceled-page,
.manage-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 20px;
}

/* Success Page */
.success-state,
.error-state,
.pending-state {
  text-align: center;
  background: white;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
}

.success-icon,
.error-icon,
.pending-icon,
.canceled-icon {
  font-size: 4rem;
  display: block;
  margin-bottom: 20px;
}

.success-state h1 {
  color: #28a745;
  margin-bottom: 15px;
}

.error-state h2,
.pending-state h2 {
  color: #6c757d;
  margin-bottom: 15px;
}

.subscription-details {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0;
  text-align: left;
}

.subscription-details h3 {
  margin-bottom: 15px;
  color: #495057;
}

.detail-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e9ecef;
}

.detail-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.detail-item .label {
  font-weight: 600;
  color: #6c757d;
}

.detail-item .value {
  color: #495057;
}

.detail-item .value.success {
  color: #28a745;
  font-weight: 600;
  text-transform: capitalize;
}

.benefits-reminder,
.free-benefits {
  background: #e8f5e8;
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0;
  text-align: left;
}

.benefits-reminder h3,
.free-benefits h4 {
  color: #155724;
  margin-bottom: 15px;
}

.benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-list li {
  margin-bottom: 8px;
  font-size: 14px;
  color: #495057;
}

.action-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin: 30px 0;
  flex-wrap: wrap;
}

.primary-button,
.secondary-button {
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  cursor: pointer;
}

.primary-button {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.primary-button:hover {
  background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.secondary-button {
  background: #f8f9fa;
  color: #495057;
  border: 1px solid #dee2e6;
}

.secondary-button:hover {
  background: #e9ecef;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Canceled Page */
.canceled-state {
  text-align: center;
  background: white;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.canceled-icon {
  font-size: 4rem;
  display: block;
  margin-bottom: 20px;
}

.what-happened,
.free-reminder {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0;
  text-align: left;
}

.what-happened h3,
.free-reminder h3 {
  color: #495057;
  margin-bottom: 15px;
}

.upgrade-option {
  margin-top: 20px;
  text-align: center;
}

.support-section {
  background: #e3f2fd;
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0;
  text-align: left;
}

.support-section h3 {
  color: #1976d2;
  margin-bottom: 15px;
}

.support-options {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.support-link {
  padding: 8px 16px;
  background: white;
  border: 1px solid #bbdefb;
  border-radius: 6px;
  text-decoration: none;
  color: #1976d2;
  font-weight: 500;
  transition: all 0.2s ease;
}

.support-link:hover {
  background: #bbdefb;
  transform: translateY(-1px);
}

/* Management Page */
.manage-page {
  max-width: 1000px;
}

.page-header {
  text-align: center;
  margin-bottom: 40px;
}

.page-header h1 {
  color: #343a40;
  margin-bottom: 10px;
}

.page-header p {
  color: #6c757d;
  font-size: 1.1rem;
}

.subscription-overview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 40px;
}

.current-plan,
.plan-features {
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.current-plan h2,
.plan-features h3 {
  color: #343a40;
  margin-bottom: 20px;
}

.plan-badge {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.plan-badge.free {
  background: #fff3cd;
  color: #856404;
}

.plan-badge.user {
  background: #d4edda;
  color: #155724;
}

.plan-badge.admin {
  background: #f8d7da;
  color: #721c24;
}

.subscription-info {
  margin-top: 20px;
}

.info-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e9ecef;
}

.info-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.info-item .label {
  font-weight: 600;
  color: #6c757d;
}

.info-item .status {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.info-item .status.active {
  background: #d4edda;
  color: #155724;
}

.info-item .status.free {
  background: #fff3cd;
  color: #856404;
}

.features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.features-list li {
  margin-bottom: 10px;
  font-size: 14px;
  padding: 8px 0;
  border-bottom: 1px solid #f8f9fa;
}

.features-list.free li {
  color: #6c757d;
}

.features-list.pro li,
.features-list.admin li {
  color: #495057;
}

.actions-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}

.upgrade-section,
.billing-section,
.support-section {
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.upgrade-section h3,
.billing-section h3 {
  color: #343a40;
  margin-bottom: 15px;
}

.billing-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 15px;
}

.billing-button:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.billing-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

.spinner.small {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.navigation-section {
  display: flex;
  gap: 15px;
  justify-content: center;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
}

.nav-button {
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
}

.nav-button.primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.nav-button.secondary {
  background: #f8f9fa;
  color: #495057;
  border: 1px solid #dee2e6;
}

/* Dark Mode Support */
body.dark-mode .success-state,
body.dark-mode .error-state,
body.dark-mode .pending-state,
body.dark-mode .canceled-state,
body.dark-mode .current-plan,
body.dark-mode .plan-features,
body.dark-mode .upgrade-section,
body.dark-mode .billing-section {
  background: #2d3748;
  color: #e2e8f0;
}

body.dark-mode .subscription-details,
body.dark-mode .what-happened,
body.dark-mode .free-reminder {
  background: #4a5568;
}

body.dark-mode .benefits-reminder,
body.dark-mode .free-benefits {
  background: #2f855a;
}

body.dark-mode .support-section {
  background: #2c5282;
}

body.dark-mode .page-header h1,
body.dark-mode .current-plan h2,
body.dark-mode .plan-features h3 {
  color: #e2e8f0;
}

body.dark-mode .secondary-button {
  background: #4a5568;
  color: #e2e8f0;
  border-color: #718096;
}

body.dark-mode .nav-button.secondary {
  background: #4a5568;
  color: #e2e8f0;
  border-color: #718096;
}

/* Responsive Design */
@media (max-width: 768px) {
  .success-page,
  .canceled-page,
  .manage-page {
    padding: 20px 15px;
  }

  .success-state,
  .error-state,
  .pending-state,
  .canceled-state {
    padding: 30px 20px;
  }

  .subscription-overview {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .actions-section {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .action-buttons {
    flex-direction: column;
  }

  .support-options {
    flex-direction: column;
  }

  .navigation-section {
    flex-direction: column;
  }
}

/* Welcome Section Styles */
.welcome-section {
    padding: 4rem 2rem;
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
}

.welcome-hero h1 {
    font-size: 3rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1rem;
    line-height: 1.2;
}

.welcome-subtitle {
    font-size: 1.25rem;
    color: var(--muted-text-color);
    margin-bottom: 3rem;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.welcome-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.feature-highlight {
    padding: 2rem;
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.feature-highlight:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.feature-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

.feature-highlight h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: 0.75rem;
}

.feature-highlight p {
    color: var(--muted-text-color);
    line-height: 1.5;
}

.welcome-cta {
    margin-top: 3rem;
}

.benefits-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.125rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.benefits-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    text-decoration: none;
    color: white;
}

.cta-icon {
    animation: sparkle 2s ease-in-out infinite;
}

.cta-arrow {
    transition: transform 0.3s ease;
}

.benefits-cta-button:hover .cta-arrow {
    transform: translateX(4px);
}

.search-prompt {
    color: var(--muted-text-color);
    margin-top: 1rem;
    font-size: 0.95rem;
}

@keyframes sparkle {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* Benefits Page Styles */
.benefits-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

.hero-section {
    text-align: center;
    padding: 4rem 0;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
    border-radius: 20px;
    margin-bottom: 4rem;
}

.hero-section h1 {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1rem;
    line-height: 1.2;
}

.hero-subtitle {
    font-size: 1.375rem;
    color: var(--muted-text-color);
    max-width: 800px;
    margin: 0 auto 2rem auto;
    line-height: 1.6;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

.feature-card {
    background: var(--bg-color);
    padding: 2.5rem;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

.feature-card .feature-icon {
    font-size: 4rem;
    margin-bottom: 1.5rem;
    display: block;
}

.feature-card h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.feature-card p {
    color: var(--muted-text-color);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.coming-soon-badge {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-left: 0.5rem;
    position: relative;
    top: -2px;
    display: inline-block;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.feature-comparison {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.free-limit {
    background: rgba(255, 99, 71, 0.1);
    color: #ff6347;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
}

.pro-unlimited {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
}

.pricing-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 4rem;
}

.pricing-card {
    background: var(--bg-color);
    padding: 3rem;
    border-radius: 20px;
    border: 2px solid var(--border-color);
    text-align: center;
    max-width: 500px;
    width: 100%;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.pricing-card h2 {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    margin-bottom: 1rem;
}

.currency {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--muted-text-color);
}

.amount {
    font-size: 4rem;
    font-weight: 700;
    color: var(--text-color);
    margin: 0 0.25rem;
}

.period {
    font-size: 1.25rem;
    color: var(--muted-text-color);
}

.price-description {
    color: var(--muted-text-color);
    margin-bottom: 2rem;
    font-size: 1.125rem;
}

.benefits-list {
    text-align: left;
    margin-bottom: 2rem;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    color: var(--text-color);
}

.check {
    font-size: 1.125rem;
    flex-shrink: 0;
}

.cta-section {
    margin-top: 2rem;
}

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

.pro-badge {
    display: inline-block;
    background: linear-gradient(135deg, #28a745, #20c997);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    font-weight: 600;
    margin-bottom: 1rem;
}

.continue-button {
    display: inline-block;
    background: var(--primary-color);
    color: white;
    padding: 0.75rem 2rem;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.continue-button:hover {
    background: var(--primary-hover-color);
    text-decoration: none;
    color: white;
}

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

.signup-cta-button {
    display: inline-block;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 1rem 2.5rem;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.125rem;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

.signup-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    text-decoration: none;
    color: white;
}

.login-prompt {
    color: var(--muted-text-color);
    font-size: 0.95rem;
}

.login-prompt a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}

.login-prompt a:hover {
    text-decoration: underline;
}

.login-link-button {
    background: none;
    border: none;
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
    font-size: inherit;
    font-family: inherit;
}

.login-link-button:hover {
    text-decoration: underline;
}

.faq-section {
    margin-bottom: 4rem;
}

.faq-section h2 {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 3rem;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.faq-item {
    background: var(--bg-color);
    padding: 2rem;
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.faq-item h4 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.faq-item p {
    color: var(--muted-text-color);
    line-height: 1.6;
}

.bottom-cta {
    text-align: center;
    padding: 4rem 2rem;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
    border-radius: 20px;
}

.bottom-cta h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.bottom-cta p {
    font-size: 1.25rem;
    color: var(--muted-text-color);
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Upgrade Now Button Styles */
.upgrade-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.upgrade-now-button {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem 2.5rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.25rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    min-width: 200px;
    justify-content: center;
}

.upgrade-now-button:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
}

.upgrade-now-button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none !important;
}

.upgrade-now-button .upgrade-icon {
    font-size: 1.375rem;
    animation: sparkle 2s ease-in-out infinite;
}

.upgrade-now-button .spinner {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top: 2px solid white;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.upgrade-error {
    background: rgba(255, 99, 71, 0.1);
    color: #ff6347;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    border: 1px solid rgba(255, 99, 71, 0.3);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    max-width: 400px;
    text-align: center;
}

.upgrade-error .error-icon {
    font-size: 1.125rem;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Dark mode adjustments */
body.dark-mode .upgrade-error {
    background: rgba(255, 99, 71, 0.2);
    color: #ff7f7f;
    border-color: rgba(255, 99, 71, 0.4);
}

/* Dark mode adjustments for benefits */
body.dark-mode .container {
    background: #1a1a1a !important;
    color: #ffffff !important;
}

body.dark-mode .benefits-page {
    background: #1a1a1a;
    color: #ffffff;
}

body.dark-mode .hero-section {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
}

body.dark-mode .hero-section h1 {
    color: #ffffff;
}

body.dark-mode .hero-subtitle {
    color: #cccccc;
}

body.dark-mode .feature-highlight,
body.dark-mode .feature-card,
body.dark-mode .pricing-card,
body.dark-mode .faq-item {
    background: #2d2d2d;
    border-color: #404040;
}

body.dark-mode .feature-card:hover {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5);
}

body.dark-mode .feature-card h3 {
    color: #ffffff;
}

body.dark-mode .feature-card p {
    color: #cccccc;
}

body.dark-mode .coming-soon-badge {
    background: linear-gradient(135deg, #7a8bff 0%, #8862e0 100%);
    box-shadow: 0 2px 8px rgba(122, 139, 255, 0.4);
}

body.dark-mode .free-limit {
    background: rgba(255, 99, 71, 0.2);
    color: #ff7f7f;
}

body.dark-mode .pro-unlimited {
    background: rgba(40, 167, 69, 0.2);
    color: #66d9a0;
}

body.dark-mode .pricing-section {
    background: #1a1a1a;
}

body.dark-mode .pricing-card h2 {
    color: #ffffff;
}

body.dark-mode .currency,
body.dark-mode .period {
    color: #cccccc;
}

body.dark-mode .amount {
    color: #ffffff;
}

body.dark-mode .price-description {
    color: #cccccc;
}

body.dark-mode .benefit-item {
    color: #ffffff;
}

body.dark-mode .faq-section h2 {
    color: #ffffff;
}

body.dark-mode .faq-item h4 {
    color: #ffffff;
}

body.dark-mode .faq-item p {
    color: #cccccc;
}

body.dark-mode .bottom-cta {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
}

body.dark-mode .bottom-cta h2 {
    color: #ffffff;
}

body.dark-mode .bottom-cta p {
    color: #cccccc;
}

body.dark-mode .login-link-button {
    color: #66b3ff;
}

body.dark-mode .login-link-button:hover {
    color: #8ac4ff;
}

/* Dark mode button styles */
body.dark-mode .signup-cta-button {
    background: linear-gradient(135deg, #7a8bff 0%, #8862e0 100%);
}

body.dark-mode .signup-cta-button:hover {
    background: linear-gradient(135deg, #8a9aff 0%, #9872f0 100%);
    box-shadow: 0 8px 25px rgba(122, 139, 255, 0.4);
}

body.dark-mode .free-signup {
    background: linear-gradient(135deg, #2e8e4a 0%, #27d9a7 100%);
}

body.dark-mode .free-signup:hover {
    background: linear-gradient(135deg, #2e8e4a 0%, #27d9a7 100%);
    box-shadow: 0 8px 25px rgba(40, 167, 69, 0.4);
}

body.dark-mode .pro-signup {
    background: linear-gradient(135deg, #7a8bff 0%, #8862e0 100%);
}

body.dark-mode .pro-signup:hover {
    background: linear-gradient(135deg, #6a7fea 0%, #7a51b2 100%);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

body.dark-mode .continue-button {
    background: #5a6fd8;
}

body.dark-mode .continue-button:hover {
    background: #6b80e9;
}

/* Responsive design */
@media (max-width: 768px) {
    .welcome-hero h1 {
        font-size: 2rem;
    }
    
    .welcome-subtitle {
        font-size: 1.125rem;
    }
    
    .hero-section h1 {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.125rem;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .amount {
        font-size: 3rem;
    }
    
    .pricing-card {
        padding: 2rem;
    }
}

/* App Footer */
.app-footer {
    padding: 12px 20px;
    border-top: 1px solid #e1e1e1;
    background-color: #f8f9fa;
    text-align: center;
    margin-top: 40px;
    /* Ensure click events work properly */
    pointer-events: auto;
}

.footer-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    /* Ensure links are clickable */
    pointer-events: auto;
}

.footer-links a {
    color: #0050b3 !important;
    text-decoration: underline;
    font-size: 1rem;
    font-weight: 600;
    transition: color 0.2s, background 0.2s;
    pointer-events: auto;
    padding: 4px 8px;
    border-radius: 4px;
    position: relative;
    z-index: 101;
    background: none;
}

.footer-links a:hover,
.footer-links a:focus {
    color: #003366 !important;
    background: rgba(0, 80, 179, 0.08);
    outline: 2px solid #0050b3;
    outline-offset: 2px;
    text-decoration: underline;
}

.footer-separator {
    color: #ccc;
    font-size: 0.8rem;
    pointer-events: none; /* Separator shouldn't interfere with clicks */
}

/* Legal Links in Version Details */
.version-details .legal-links {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e1e1e1;
}

.version-details .legal-links a {
    color: #007bff;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
}

.version-details .legal-links a:hover {
    text-decoration: underline;
}

/* Dark Mode Footer */
body.dark-mode .app-footer {
    border-top-color: #404040;
    background-color: #2d2d2d;
}

body.dark-mode .footer-links a {
    color: #66b3ff !important;
}

body.dark-mode .footer-links a:hover,
body.dark-mode .footer-links a:focus {
    color: #99ccff !important;
    background: rgba(102, 179, 255, 0.08);
    outline-color: #66b3ff;
}

body.dark-mode .footer-links a:focus {
    outline-color: #66b3ff;
}

body.dark-mode .footer-separator {
    color: #666;
}

body.dark-mode .version-details .legal-links {
    border-top-color: #404040;
}

body.dark-mode .version-details .legal-links a {
    color: #66b3ff;
}

/* Mobile Footer - Compact design */
@media (max-width: 768px) {
    .app-footer {
        padding: 6px 8px;
    }
    
    .footer-links {
        flex-direction: row;
        gap: 6px;
        flex-wrap: nowrap;
        font-size: 0.8rem;
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .footer-links::-webkit-scrollbar {
        display: none;
    }
    
    .footer-links a {
        font-size: 0.8rem;
        padding: 2px 6px;
        white-space: nowrap;
        flex-shrink: 0;
    }
    
    .footer-separator {
        display: inline;
        font-size: 0.6rem;
        flex-shrink: 0;
    }
    
    .info-icon-button.footer-version-info {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
    }
    
    .info-icon-button.footer-version-info .material-icons {
        font-size: 12px;
    }
}

/* Ultra-compact footer for very small screens */
@media (max-width: 480px) {
    body {
        padding-bottom: 40px;
    }
    
    .app-footer {
        padding: 4px 6px;
    }
    
    .footer-links {
        font-size: 0.75rem;
        gap: 4px;
    }
    
    .footer-links a {
        font-size: 0.75rem;
        padding: 1px 4px;
    }
    
    .footer-separator {
        font-size: 0.5rem;
    }
    
    .info-icon-button.footer-version-info {
        width: 18px;
        height: 18px;
    }
    
    .info-icon-button.footer-version-info .material-icons {
        font-size: 10px;
    }
}

/* Single Pricing Card Layout */
.pricing-cards-container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 2rem;
    max-width: 800px;
    margin: 0 auto;
}

/* Single card layout for the new pricing structure */
.pricing-cards-container .pricing-card {
    max-width: 550px;
    width: 100%;
}

.pricing-card {
    position: relative;
    background: var(--card-background, #ffffff);
    border: 2px solid var(--border-color, #e0e0e0);
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

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

.free-card {
    border-color: #28a745;
}

.pro-card {
    border-color: #667eea;
}

.card-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #28a745;
    color: white;
    padding: 6px 16px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.card-badge.professional {
    background: #667eea;
}

.free-signup {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    border: none;
}

.free-signup:hover {
    background: linear-gradient(135deg, #1e7e34 0%, #17a2b8 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(40, 167, 69, 0.4);
}

.pro-signup {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
}

.pro-signup:hover {
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

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

.current-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    color: white;
    padding: 0.75rem 2rem;
    border-radius: 25px;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 1rem;
}

.downgrade-note {
    display: inline-block;
    background: rgba(108, 117, 125, 0.1);
    color: var(--text-color);
    padding: 0.75rem 2rem;
    border-radius: 25px;
    font-weight: 500;
    font-size: 0.95rem;
    margin-bottom: 1rem;
}

.cross {
    color: #dc3545;
    font-weight: bold;
}

.auth-login-prompt {
    text-align: center;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border-color, #e0e0e0);
}

.auth-login-prompt p {
    color: var(--muted-text-color);
    font-size: 0.95rem;
    margin: 0;
}

.card-login-prompt {
    text-align: center;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.card-login-prompt p {
    color: #666;
    font-size: 0.9rem;
    margin: 0;
    font-weight: 500;
}

/* Dark mode support for pricing cards */
body.dark-mode .pricing-card {
    background: var(--dark-card-background, #2d2d2d);
    border-color: var(--dark-border, #404040);
    color: var(--dark-text, #ffffff);
}

body.dark-mode .free-card {
    border-color: #28a745;
}

body.dark-mode .pro-card {
    border-color: #667eea;
}

body.dark-mode .downgrade-note {
    background: rgba(108, 117, 125, 0.2);
    color: var(--dark-text, #ffffff);
}

body.dark-mode .auth-login-prompt {
    border-color: var(--dark-border, #404040);
}

body.dark-mode .auth-login-prompt p {
    color: var(--dark-muted-text, #aaa);
}

body.dark-mode .card-login-prompt {
    border-top-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .card-login-prompt p {
    color: #aaa;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .pricing-cards-container {
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
        max-width: 100%;
        padding: 0 1rem;
    }
    
    .pricing-cards-container .pricing-card {
        max-width: 500px;
    }
    
    .pricing-card {
        padding: 1.5rem;
    }
    
    .card-badge {
        font-size: 0.75rem;
        padding: 4px 12px;
    }
}

/* Bonds Search Section */
.bonds-search-section {
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background-color: #f9f9f9;
}

body.dark-mode .bonds-search-section {
  background-color: #2d2d2d;
  border-color: #404040;
}

.bonds-search-form {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bonds-search-input {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  background-color: white;
  color: #333;
}

body.dark-mode .bonds-search-input {
  background-color: #353535;
  border-color: #404040;
  color: #e1e1e1;
}

body.dark-mode .bonds-search-input::placeholder {
  color: #888;
}

body.dark-mode .bonds-search-input:focus {
  border-color: #66b3ff;
  outline: none;
}

.bonds-search-button {
  padding: 8px 16px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.bonds-search-button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.bonds-clear-button {
  padding: 8px 16px;
  background-color: #6c757d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

body.dark-mode .bonds-search-button {
  background-color: #0066cc;
}

body.dark-mode .bonds-clear-button {
  background-color: #555;
}

.bonds-search-info {
  margin-top: 10px;
  font-size: 14px;
  color: #666;
}

body.dark-mode .bonds-search-info {
  color: #aaa;
}

.footer-version-info {
    background: none;
    border: none;
    color: #007bff;
    font-size: 1.1rem;
    padding: 4px 8px;
    margin-left: 4px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: color 0.2s;
    border-radius: 4px;
    z-index: 101;
}

.footer-version-info .material-icons {
    font-size: 18px;
    color: #007bff;
    transition: color 0.2s;
}

.footer-version-info:hover,
.footer-version-info:focus {
    color: #0056b3;
    background: rgba(0, 123, 255, 0.08);
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

.footer-version-info:hover .material-icons,
.footer-version-info:focus .material-icons {
    color: #0056b3;
}

body.dark-mode .footer-version-info {
    color: #66b3ff;
    background: none;
}
body.dark-mode .footer-version-info .material-icons {
    color: #66b3ff;
}
body.dark-mode .footer-version-info:hover,
body.dark-mode .footer-version-info:focus {
    color: #99ccff;
    background: rgba(102, 179, 255, 0.08);
    outline-color: #66b3ff;
}
body.dark-mode .footer-version-info:hover .material-icons,
body.dark-mode .footer-version-info:focus .material-icons {
    color: #99ccff;
}

.loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 220px;
  width: 100%;
}

.bonds-loader-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.loader-icon {
  font-size: 2.2rem;
  color: #007bff;
}

body.dark-mode .loader-icon {
  color: #66b3ff;
}

.loader-text {
  font-size: 1.2rem;
  color: #333;
  font-weight: 500;
}

body.dark-mode .loader-text {
  color: #e1e1e1;
}

.page-info-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1rem;
  color: #444;
  background: none;
  margin: 16px 0 8px 0;
  padding: 0 16px;
  min-height: 32px;
  position: relative;
  z-index: 2;
}

.page-info-separator {
  margin: 0 8px;
  color: #bbb;
}

.page-info-extra {
  margin-left: 12px;
  color: #888;
  font-size: 0.95em;
}

body.dark-mode .page-info-bar {
  color: #e1e1e1;
}
body.dark-mode .page-info-separator {
  color: #555;
}
body.dark-mode .page-info-extra {
  color: #aaa;
}

/* Responsive design for tag badges on mobile - updated */
@media (max-width: 768px) {
  .tag-badge {
    font-size: 0.7rem;
    padding: 1px 4px;
  }
  
  .tags-container {
    gap: 2px;
  }
  
  .filter-form {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  
  .tag-filter-select {
    min-width: 200px;
    width: 100%;
  }
  
  .reports-filter-section {
    padding: 12px;
  }
}

/* Tag Badges */
.tag-badge {
  display: inline-block;
  padding: 2px 6px;
  background-color: #e9ecef;
  color: #495057;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 500;
  margin: 1px;
  border: 1px solid #dee2e6;
  transition: all 0.2s ease;
}

.tag-badge:hover {
  background-color: #dee2e6;
  transform: translateY(-1px);
}

/* Dark mode support for tag badges */
body.dark-mode .tag-badge {
  background-color: #495057;
  color: #e9ecef;
  border-color: #6c757d;
}

body.dark-mode .tag-badge:hover {
  background-color: #6c757d;
}

/* Tags container */
.tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

/* Reports Filter Section */
.reports-filter-section {
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9fa;
}

.filter-form {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.filter-label {
  font-weight: 600;
  color: #333;
  margin-right: 8px;
  white-space: nowrap;
}

.tag-filter-select {
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  background-color: white;
  color: #333;
  min-width: 180px;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.tag-filter-select:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.tag-filter-select:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
  opacity: 0.6;
}

.clear-filter-button {
  padding: 8px 16px;
  background-color: #6c757d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.clear-filter-button:hover:not(:disabled) {
  background-color: #545b62;
  transform: translateY(-1px);
}

.clear-filter-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.filter-loading {
  color: #007bff;
  margin-left: 8px;
}

.filter-info {
  margin-top: 12px;
  padding: 8px 12px;
  background-color: #e3f2fd;
  border: 1px solid #bbdefb;
  border-radius: 4px;
  font-size: 14px;
  color: #1976d2;
}

.filter-tag {
  display: inline-block;
  padding: 2px 8px;
  background-color: #1976d2;
  color: white;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  margin-left: 4px;
}

/* Dark mode support for filter section */
body.dark-mode .reports-filter-section {
  background-color: #2d2d2d;
  border-color: #404040;
}

body.dark-mode .filter-label {
  color: #e1e1e1;
}

body.dark-mode .tag-filter-select {
  background-color: #353535;
  border-color: #404040;
  color: #e1e1e1;
}

body.dark-mode .tag-filter-select:focus {
  border-color: #66b3ff;
  box-shadow: 0 0 0 2px rgba(102, 179, 255, 0.25);
}

body.dark-mode .tag-filter-select:disabled {
  background-color: #404040;
}

body.dark-mode .clear-filter-button {
  background-color: #555;
}

body.dark-mode .clear-filter-button:hover:not(:disabled) {
  background-color: #666;
}

body.dark-mode .filter-loading {
  color: #66b3ff;
}

body.dark-mode .filter-info {
  background-color: #1e3a5f;
  border-color: #2c5aa0;
  color: #66b3ff;
}

body.dark-mode .filter-tag {
  background-color: #66b3ff;
  color: #1a1a1a;
}

/* Responsive design for tag badges on mobile */
@media (max-width: 768px) {
  .tag-badge {
    font-size: 0.7rem;
    padding: 1px 4px;
  }
  
  .tags-container {
    gap: 2px;
  }
  
  .filter-form {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  
  .tag-filter-select {
    min-width: 200px;
    width: 100%;
  }
  
  .reports-filter-section {
    padding: 12px;
  }
}

/* Reports table date column */
.reports-date-cell {
  white-space: nowrap;
  font-size: 0.9rem;
  color: #666;
  min-width: 120px;
}

body.dark-mode .reports-date-cell {
  color: #aaa;
}

/* Clickable table rows */
.bonds-table tbody tr[style*="cursor: pointer"]:hover {
  background-color: #f0f8ff !important;
  transform: scale(1.005);
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

body.dark-mode .bonds-table tbody tr[style*="cursor: pointer"]:hover {
  background-color: #2a2a3a !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Monospace text for IDs and technical fields */
.monospace {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.9em;
  background-color: #f5f5f5;
  padding: 2px 4px;
  border-radius: 3px;
  border: 1px solid #e0e0e0;
}

body.dark-mode .monospace {
  background-color: #2d2d2d;
  border-color: #404040;
  color: #e1e1e1;
}

/* Report Detail View - Vertical Layout Override */
.experiment-detail-fullpage-container .detail-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 15px;
}

.experiment-detail-fullpage-container .detail-item {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #e0e0e0;
}

.experiment-detail-fullpage-container .detail-item:last-child {
  border-bottom: none;
}

.experiment-detail-fullpage-container .detail-item label {
  font-weight: 600;
  color: #333;
  min-width: 200px;
  flex-shrink: 0;
}

.experiment-detail-fullpage-container .detail-item span {
  flex: 1;
  word-break: break-word;
}

/* Dark mode support for report detail layout */
body.dark-mode .experiment-detail-fullpage-container .detail-item {
  border-bottom-color: #404040;
}

body.dark-mode .experiment-detail-fullpage-container .detail-item label {
  color: #e1e1e1;
}

/* Mobile responsive adjustments for reports table */
@media (max-width: 768px) {
  .reports-date-cell {
    font-size: 0.8rem;
    min-width: 100px;
  }
}

@media (max-width: 480px) {
  .reports-date-cell {
    font-size: 0.75rem;
    min-width: 90px;
  }
}

/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0{--fa:"\30"}.fa-1{--fa:"\31"}.fa-2{--fa:"\32"}.fa-3{--fa:"\33"}.fa-4{--fa:"\34"}.fa-5{--fa:"\35"}.fa-6{--fa:"\36"}.fa-7{--fa:"\37"}.fa-8{--fa:"\38"}.fa-9{--fa:"\39"}.fa-fill-drip{--fa:"\f576"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-at{--fa:"\40"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-text-height{--fa:"\f034"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-stethoscope{--fa:"\f0f1"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-info{--fa:"\f129"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-explosion{--fa:"\e4e9"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-wave-square{--fa:"\f83e"}.fa-ring{--fa:"\f70b"}.fa-building-un{--fa:"\e4d9"}.fa-dice-three{--fa:"\f527"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-door-open{--fa:"\f52b"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-atom{--fa:"\f5d2"}.fa-soap{--fa:"\e06e"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-pump-medical{--fa:"\e06a"}.fa-fingerprint{--fa:"\f577"}.fa-hand-point-right{--fa:"\f0a4"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-flag-checkered{--fa:"\f11e"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-crop{--fa:"\f125"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-users-rectangle{--fa:"\e594"}.fa-people-roof{--fa:"\e537"}.fa-people-line{--fa:"\e534"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-diagram-predecessor{--fa:"\e477"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-male,.fa-person{--fa:"\f183"}.fa-laptop{--fa:"\f109"}.fa-file-csv{--fa:"\f6dd"}.fa-menorah{--fa:"\f676"}.fa-truck-plane{--fa:"\e58f"}.fa-record-vinyl{--fa:"\f8d9"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-bong{--fa:"\f55c"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-jar-wheat{--fa:"\e517"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-pager{--fa:"\f815"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-strikethrough{--fa:"\f0cc"}.fa-k{--fa:"\4b"}.fa-landmark-flag{--fa:"\e51c"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-backward{--fa:"\f04a"}.fa-caret-right{--fa:"\f0da"}.fa-comments{--fa:"\f086"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-code-pull-request{--fa:"\e13c"}.fa-clipboard-list{--fa:"\f46d"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-user-check{--fa:"\f4fc"}.fa-vial-virus{--fa:"\e597"}.fa-sheet-plastic{--fa:"\e571"}.fa-blog{--fa:"\f781"}.fa-user-ninja{--fa:"\f504"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-toggle-off{--fa:"\f204"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-person-drowning{--fa:"\e545"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-spray-can{--fa:"\f5bd"}.fa-truck-monster{--fa:"\f63b"}.fa-w{--fa:"\57"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-rainbow{--fa:"\f75b"}.fa-circle-notch{--fa:"\f1ce"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-paw{--fa:"\f1b0"}.fa-cloud{--fa:"\f0c2"}.fa-trowel-bricks{--fa:"\e58a"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-hospital-user{--fa:"\f80d"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-binoculars{--fa:"\f1e5"}.fa-microphone-slash{--fa:"\f131"}.fa-box-tissue{--fa:"\e05b"}.fa-motorcycle{--fa:"\f21c"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-toilets-portable{--fa:"\e584"}.fa-hockey-puck{--fa:"\f453"}.fa-table{--fa:"\f0ce"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-users-slash{--fa:"\e073"}.fa-clover{--fa:"\e139"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-star-and-crescent{--fa:"\f699"}.fa-house-fire{--fa:"\e50c"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-helicopter{--fa:"\f533"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-file-circle-question{--fa:"\e4ef"}.fa-laptop-code{--fa:"\f5fc"}.fa-swatchbook{--fa:"\f5c3"}.fa-prescription-bottle{--fa:"\f485"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-people-group{--fa:"\e533"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-film{--fa:"\f008"}.fa-ruler-horizontal{--fa:"\f547"}.fa-people-robbery{--fa:"\e536"}.fa-lightbulb{--fa:"\f0eb"}.fa-caret-left{--fa:"\f0d9"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-headphones-alt,.fa-headphones-simple{--fa:"\f58f"}.fa-sitemap{--fa:"\f0e8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-memory{--fa:"\f538"}.fa-road-spikes{--fa:"\e568"}.fa-fire-burner{--fa:"\e4f1"}.fa-flag{--fa:"\f024"}.fa-hanukiah{--fa:"\f6e6"}.fa-feather{--fa:"\f52d"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-comment-slash{--fa:"\f4b3"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-compress{--fa:"\f066"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-ankh{--fa:"\f644"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-asterisk{--fa:"\2a"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-peseta-sign{--fa:"\e221"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-ghost{--fa:"\f6e2"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-cart-plus{--fa:"\f217"}.fa-gamepad{--fa:"\f11b"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-egg{--fa:"\f7fb"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-campground{--fa:"\f6bb"}.fa-folder-plus{--fa:"\f65e"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-lock{--fa:"\f023"}.fa-gas-pump{--fa:"\f52f"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-house-flood-water{--fa:"\e50e"}.fa-tree{--fa:"\f1bb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-sack-dollar{--fa:"\f81d"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-car-side{--fa:"\f5e4"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-microscope{--fa:"\f610"}.fa-sink{--fa:"\e06d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-mitten{--fa:"\f7b5"}.fa-person-rays{--fa:"\e54d"}.fa-users{--fa:"\f0c0"}.fa-eye-slash{--fa:"\f070"}.fa-flask-vial{--fa:"\e4f3"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-om{--fa:"\f679"}.fa-worm{--fa:"\e599"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-plug{--fa:"\f1e6"}.fa-chevron-up{--fa:"\f077"}.fa-hand-spock{--fa:"\f259"}.fa-stopwatch{--fa:"\f2f2"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-chess-bishop{--fa:"\f43a"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-road-circle-check{--fa:"\e564"}.fa-dice-five{--fa:"\f523"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-land-mine-on{--fa:"\e51b"}.fa-i-cursor{--fa:"\f246"}.fa-stamp{--fa:"\f5bf"}.fa-stairs{--fa:"\e289"}.fa-i{--fa:"\49"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-pills{--fa:"\f484"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-tooth{--fa:"\f5c9"}.fa-v{--fa:"\56"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bicycle{--fa:"\f206"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-snowman{--fa:"\f7d0"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-road-barrier{--fa:"\e562"}.fa-school{--fa:"\f549"}.fa-igloo{--fa:"\f7ae"}.fa-joint{--fa:"\f595"}.fa-angle-right{--fa:"\f105"}.fa-horse{--fa:"\f6f0"}.fa-q{--fa:"\51"}.fa-g{--fa:"\47"}.fa-notes-medical{--fa:"\f481"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-dong-sign{--fa:"\e169"}.fa-capsules{--fa:"\f46b"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-hand-point-up{--fa:"\f0a6"}.fa-money-bill{--fa:"\f0d6"}.fa-bookmark{--fa:"\f02e"}.fa-align-justify{--fa:"\f039"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-helmet-un{--fa:"\e503"}.fa-bullseye{--fa:"\f140"}.fa-bacon{--fa:"\f7e5"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-radiation{--fa:"\f7b9"}.fa-chart-simple{--fa:"\e473"}.fa-mars-stroke{--fa:"\f229"}.fa-vial{--fa:"\f492"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-e{--fa:"\45"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-user{--fa:"\f007"}.fa-school-circle-check{--fa:"\e56b"}.fa-dumpster{--fa:"\f793"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-building-user{--fa:"\e4da"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-highlighter{--fa:"\f591"}.fa-key{--fa:"\f084"}.fa-bullhorn{--fa:"\f0a1"}.fa-globe{--fa:"\f0ac"}.fa-synagogue{--fa:"\f69b"}.fa-person-half-dress{--fa:"\e548"}.fa-road-bridge{--fa:"\e563"}.fa-location-arrow{--fa:"\f124"}.fa-c{--fa:"\43"}.fa-tablet-button{--fa:"\f10a"}.fa-building-lock{--fa:"\e4d6"}.fa-pizza-slice{--fa:"\f818"}.fa-money-bill-wave{--fa:"\f53a"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-house-flag{--fa:"\e50d"}.fa-person-circle-minus{--fa:"\e540"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-camera-rotate{--fa:"\e0d8"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-star{--fa:"\f005"}.fa-repeat{--fa:"\f363"}.fa-cross{--fa:"\f654"}.fa-box{--fa:"\f466"}.fa-venus-mars{--fa:"\f228"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-charging-station{--fa:"\f5e7"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-mobile-retro{--fa:"\e527"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-spider{--fa:"\f717"}.fa-hands-bound{--fa:"\e4f9"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-x-ray{--fa:"\f497"}.fa-spell-check{--fa:"\f891"}.fa-slash{--fa:"\f715"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-server{--fa:"\f233"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-shop-lock{--fa:"\e4a5"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-blender-phone{--fa:"\f6b6"}.fa-building-wheat{--fa:"\e4db"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-venus{--fa:"\f221"}.fa-passport{--fa:"\f5ab"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-temperature-high{--fa:"\f769"}.fa-microchip{--fa:"\f2db"}.fa-crown{--fa:"\f521"}.fa-weight-hanging{--fa:"\f5cd"}.fa-xmarks-lines{--fa:"\e59a"}.fa-file-prescription{--fa:"\f572"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-chess-knight{--fa:"\f441"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-wheelchair{--fa:"\f193"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-toggle-on{--fa:"\f205"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-l{--fa:"\4c"}.fa-fire{--fa:"\f06d"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-folder-open{--fa:"\f07c"}.fa-heart-circle-plus{--fa:"\e500"}.fa-code-fork{--fa:"\e13b"}.fa-city{--fa:"\f64f"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-pepper-hot{--fa:"\f816"}.fa-unlock{--fa:"\f09c"}.fa-colon-sign{--fa:"\e140"}.fa-headset{--fa:"\f590"}.fa-store-slash{--fa:"\e071"}.fa-road-circle-xmark{--fa:"\e566"}.fa-user-minus{--fa:"\f503"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-clipboard{--fa:"\f328"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-underline{--fa:"\f0cd"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-signature{--fa:"\f5b7"}.fa-stroopwafel{--fa:"\f551"}.fa-bold{--fa:"\f032"}.fa-anchor-lock{--fa:"\e4ad"}.fa-building-ngo{--fa:"\e4d7"}.fa-manat-sign{--fa:"\e1d5"}.fa-not-equal{--fa:"\f53e"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-jedi{--fa:"\f669"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-mug-hot{--fa:"\f7b6"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-gift{--fa:"\f06b"}.fa-dice-two{--fa:"\f528"}.fa-chess-queen{--fa:"\f445"}.fa-glasses{--fa:"\f530"}.fa-chess-board{--fa:"\f43c"}.fa-building-circle-check{--fa:"\e4d2"}.fa-person-chalkboard{--fa:"\e53d"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-less-than-equal{--fa:"\f537"}.fa-train{--fa:"\f238"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-crow{--fa:"\f520"}.fa-sailboat{--fa:"\e445"}.fa-window-restore{--fa:"\f2d2"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-torii-gate{--fa:"\f6a1"}.fa-frog{--fa:"\f52e"}.fa-bucket{--fa:"\e4cf"}.fa-image{--fa:"\f03e"}.fa-microphone{--fa:"\f130"}.fa-cow{--fa:"\f6c8"}.fa-caret-up{--fa:"\f0d8"}.fa-screwdriver{--fa:"\f54a"}.fa-folder-closed{--fa:"\e185"}.fa-house-tsunami{--fa:"\e515"}.fa-square-nfi{--fa:"\e576"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-square-binary{--fa:"\e69b"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-lemon{--fa:"\f094"}.fa-head-side-mask{--fa:"\e063"}.fa-handshake{--fa:"\f2b5"}.fa-gem{--fa:"\f3a5"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-smoking{--fa:"\f48d"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-monument{--fa:"\f5a6"}.fa-snowplow{--fa:"\f7d2"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-cannabis{--fa:"\f55f"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-tablets{--fa:"\f490"}.fa-ethernet{--fa:"\f796"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-chair{--fa:"\f6c0"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-plate-wheat{--fa:"\e55a"}.fa-icicles{--fa:"\f7ad"}.fa-person-shelter{--fa:"\e54f"}.fa-neuter{--fa:"\f22c"}.fa-id-badge{--fa:"\f2c1"}.fa-marker{--fa:"\f5a1"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-helicopter-symbol{--fa:"\e502"}.fa-universal-access{--fa:"\f29a"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-lari-sign{--fa:"\e1c8"}.fa-volcano{--fa:"\f770"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-viruses{--fa:"\e076"}.fa-square-person-confined{--fa:"\e577"}.fa-user-tie{--fa:"\f508"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-certificate{--fa:"\f0a3"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-suitcase{--fa:"\f0f2"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-camera-retro{--fa:"\f083"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-box-open{--fa:"\f49e"}.fa-scroll{--fa:"\f70e"}.fa-spa{--fa:"\f5bb"}.fa-location-pin-lock{--fa:"\e51f"}.fa-pause{--fa:"\f04c"}.fa-hill-avalanche{--fa:"\e507"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-bomb{--fa:"\f1e2"}.fa-registered{--fa:"\f25d"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-subscript{--fa:"\f12c"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-burst{--fa:"\e4dc"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-money-bills{--fa:"\e1f3"}.fa-smog{--fa:"\f75f"}.fa-crutch{--fa:"\f7f7"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-palette{--fa:"\f53f"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-vest{--fa:"\e085"}.fa-ferry{--fa:"\e4ea"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-boxes-packing{--fa:"\e4c7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-bowl-food{--fa:"\e4c6"}.fa-candy-cane{--fa:"\f786"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-file-word{--fa:"\f1c2"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-house-lock{--fa:"\e510"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-children{--fa:"\e4e1"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-user-alt-slash,.fa-user-large-slash{--fa:"\f4fa"}.fa-envelope-open{--fa:"\f2b6"}.fa-handshake-alt-slash,.fa-handshake-simple-slash{--fa:"\e05f"}.fa-mattress-pillow{--fa:"\e525"}.fa-guarani-sign{--fa:"\e19a"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-fire-extinguisher{--fa:"\f134"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-greater-than-equal{--fa:"\f532"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-virus{--fa:"\e074"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-layer-group{--fa:"\f5fd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-archway{--fa:"\f557"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-square{--fa:"\f0c8"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-couch{--fa:"\f4b8"}.fa-cedi-sign{--fa:"\e0df"}.fa-italic{--fa:"\f033"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-church{--fa:"\f51d"}.fa-comments-dollar{--fa:"\f653"}.fa-democrat{--fa:"\f747"}.fa-z{--fa:"\5a"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-road-lock{--fa:"\e567"}.fa-a{--fa:"\41"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-p{--fa:"\50"}.fa-snowflake{--fa:"\f2dc"}.fa-newspaper{--fa:"\f1ea"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-locust{--fa:"\e520"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-person-dress-burst{--fa:"\e544"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-vector-square{--fa:"\f5cb"}.fa-bread-slice{--fa:"\f7ec"}.fa-language{--fa:"\f1ab"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-filter{--fa:"\f0b0"}.fa-question{--fa:"\3f"}.fa-file-signature{--fa:"\f573"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-house-chimney-user{--fa:"\e065"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-puzzle-piece{--fa:"\f12e"}.fa-money-check{--fa:"\f53c"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-code{--fa:"\f121"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-virus-covid{--fa:"\e4a8"}.fa-austral-sign{--fa:"\e0a9"}.fa-f{--fa:"\46"}.fa-leaf{--fa:"\f06c"}.fa-road{--fa:"\f018"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-person-circle-plus{--fa:"\e541"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-sack-xmark{--fa:"\e56a"}.fa-file-excel{--fa:"\f1c3"}.fa-file-contract{--fa:"\f56c"}.fa-fish-fins{--fa:"\e4f2"}.fa-building-flag{--fa:"\e4d5"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-object-ungroup{--fa:"\f248"}.fa-poop{--fa:"\f619"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-kaaba{--fa:"\f66b"}.fa-toilet-paper{--fa:"\f71e"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-eject{--fa:"\f052"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-plane-circle-check{--fa:"\e555"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-object-group{--fa:"\f247"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-mask-ventilator{--fa:"\e524"}.fa-arrow-right{--fa:"\f061"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-cash-register{--fa:"\f788"}.fa-person-circle-question{--fa:"\e542"}.fa-h{--fa:"\48"}.fa-tarp{--fa:"\e57b"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-heart{--fa:"\f004"}.fa-mars-and-venus{--fa:"\f224"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-dumpster-fire{--fa:"\f794"}.fa-house-crack{--fa:"\e3b1"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-bottle-water{--fa:"\e4c5"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-kitchen-set{--fa:"\e51a"}.fa-r{--fa:"\52"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-cube{--fa:"\f1b2"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-shield-dog{--fa:"\e573"}.fa-solar-panel{--fa:"\f5ba"}.fa-lock-open{--fa:"\f3c1"}.fa-elevator{--fa:"\e16d"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-circle{--fa:"\f111"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-recycle{--fa:"\f1b8"}.fa-user-astronaut{--fa:"\f4fb"}.fa-plane-slash{--fa:"\e069"}.fa-trademark{--fa:"\f25c"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-satellite-dish{--fa:"\f7c0"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-users-rays{--fa:"\e593"}.fa-wallet{--fa:"\f555"}.fa-clipboard-check{--fa:"\f46c"}.fa-file-audio{--fa:"\f1c7"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-wrench{--fa:"\f0ad"}.fa-bugs{--fa:"\e4d0"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-file-image{--fa:"\f1c5"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-plane-departure{--fa:"\f5b0"}.fa-handshake-slash{--fa:"\e060"}.fa-book-bookmark{--fa:"\e0bb"}.fa-code-branch{--fa:"\f126"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-bridge{--fa:"\e4c8"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-truck-front{--fa:"\e2b7"}.fa-cat{--fa:"\f6be"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-truck-field{--fa:"\e58d"}.fa-route{--fa:"\f4d7"}.fa-clipboard-question{--fa:"\e4e3"}.fa-panorama{--fa:"\e209"}.fa-comment-medical{--fa:"\f7f5"}.fa-teeth-open{--fa:"\f62f"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-tags{--fa:"\f02c"}.fa-wine-glass{--fa:"\f4e3"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-house-signal{--fa:"\e012"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-faucet-drip{--fa:"\e006"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-terminal{--fa:"\f120"}.fa-mobile-button{--fa:"\f10b"}.fa-house-medical-flag{--fa:"\e514"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-tape{--fa:"\f4db"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-eye{--fa:"\f06e"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-audio-description{--fa:"\f29e"}.fa-person-military-to-person{--fa:"\e54c"}.fa-file-shield{--fa:"\e4f0"}.fa-user-slash{--fa:"\f506"}.fa-pen{--fa:"\f304"}.fa-tower-observation{--fa:"\e586"}.fa-file-code{--fa:"\f1c9"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-bus{--fa:"\f207"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-window-maximize{--fa:"\f2d0"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-prescription{--fa:"\f5b1"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-vihara{--fa:"\f6a7"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-plant-wilt{--fa:"\e5aa"}.fa-diamond{--fa:"\f219"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-chart-diagram{--fa:"\e695"}.fa-bacterium{--fa:"\e05a"}.fa-hand-pointer{--fa:"\f25a"}.fa-drum-steelpan{--fa:"\f56a"}.fa-hand-scissors{--fa:"\f257"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-biohazard{--fa:"\f780"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-mars-double{--fa:"\f227"}.fa-child-dress{--fa:"\e59c"}.fa-users-between-lines{--fa:"\e591"}.fa-lungs-virus{--fa:"\e067"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-phone{--fa:"\f095"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-child-reaching{--fa:"\e59d"}.fa-head-side-virus{--fa:"\e064"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-door-closed{--fa:"\f52a"}.fa-shield-virus{--fa:"\e06c"}.fa-dice-six{--fa:"\f526"}.fa-mosquito-net{--fa:"\e52c"}.fa-file-fragment{--fa:"\e697"}.fa-bridge-water{--fa:"\e4ce"}.fa-person-booth{--fa:"\f756"}.fa-text-width{--fa:"\f035"}.fa-hat-wizard{--fa:"\f6e8"}.fa-pen-fancy{--fa:"\f5ac"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-trash{--fa:"\f1f8"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-book-medical{--fa:"\f7e6"}.fa-poo{--fa:"\f2fe"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-cubes{--fa:"\f1b3"}.fa-divide{--fa:"\f529"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-headphones{--fa:"\f025"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-clapping{--fa:"\e1a8"}.fa-republican{--fa:"\f75e"}.fa-arrow-left{--fa:"\f060"}.fa-person-circle-xmark{--fa:"\e543"}.fa-ruler{--fa:"\f545"}.fa-align-left{--fa:"\f036"}.fa-dice-d6{--fa:"\f6d1"}.fa-restroom{--fa:"\f7bd"}.fa-j{--fa:"\4a"}.fa-users-viewfinder{--fa:"\e595"}.fa-file-video{--fa:"\f1c8"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-file-pdf{--fa:"\f1c1"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-o{--fa:"\4f"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-user-secret{--fa:"\f21b"}.fa-otter{--fa:"\f700"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-comment-dollar{--fa:"\f651"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-clipboard-user{--fa:"\f7f3"}.fa-child{--fa:"\f1ae"}.fa-lira-sign{--fa:"\f195"}.fa-satellite{--fa:"\f7bf"}.fa-plane-lock{--fa:"\e558"}.fa-tag{--fa:"\f02b"}.fa-comment{--fa:"\f075"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-envelope{--fa:"\f0e0"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-paperclip{--fa:"\f0c6"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-ribbon{--fa:"\f4d6"}.fa-lungs{--fa:"\f604"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-border-none{--fa:"\f850"}.fa-circle-nodes{--fa:"\e4e2"}.fa-parachute-box{--fa:"\f4cd"}.fa-indent{--fa:"\f03c"}.fa-truck-field-un{--fa:"\e58e"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-mountain{--fa:"\f6fc"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-cloud-meatball{--fa:"\f73b"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-square-virus{--fa:"\e578"}.fa-meteor{--fa:"\f753"}.fa-car-on{--fa:"\e4dd"}.fa-sleigh{--fa:"\f7cc"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-water{--fa:"\f773"}.fa-calendar-check{--fa:"\f274"}.fa-braille{--fa:"\f2a1"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-landmark{--fa:"\f66f"}.fa-truck{--fa:"\f0d1"}.fa-crosshairs{--fa:"\f05b"}.fa-person-cane{--fa:"\e53c"}.fa-tent{--fa:"\e57d"}.fa-vest-patches{--fa:"\e086"}.fa-check-double{--fa:"\f560"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-cookie{--fa:"\f563"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-dumbbell{--fa:"\f44b"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-tarp-droplet{--fa:"\e57c"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-calendar-plus{--fa:"\f271"}.fa-plane-arrival{--fa:"\f5af"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-chart-gantt{--fa:"\e0e4"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-dna{--fa:"\f471"}.fa-virus-slash{--fa:"\e075"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-chess{--fa:"\f439"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-plug-circle-check{--fa:"\e55c"}.fa-street-view{--fa:"\f21d"}.fa-franc-sign{--fa:"\e18f"}.fa-volume-off{--fa:"\f026"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-mosque{--fa:"\f678"}.fa-mosquito{--fa:"\e52b"}.fa-star-of-david{--fa:"\f69a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-vials{--fa:"\f493"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-place-of-worship{--fa:"\f67f"}.fa-grip-vertical{--fa:"\f58e"}.fa-hexagon-nodes{--fa:"\e699"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-u{--fa:"\55"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-pallet{--fa:"\f482"}.fa-faucet{--fa:"\e005"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-s{--fa:"\53"}.fa-timeline{--fa:"\e29c"}.fa-keyboard{--fa:"\f11c"}.fa-caret-down{--fa:"\f0d7"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-plane-up{--fa:"\e22d"}.fa-piggy-bank{--fa:"\f4d3"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-mountain-city{--fa:"\e52e"}.fa-coins{--fa:"\f51e"}.fa-khanda{--fa:"\f66d"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-folder-tree{--fa:"\f802"}.fa-network-wired{--fa:"\f6ff"}.fa-map-pin{--fa:"\f276"}.fa-hamsa{--fa:"\f665"}.fa-cent-sign{--fa:"\e3f5"}.fa-flask{--fa:"\f0c3"}.fa-person-pregnant{--fa:"\e31e"}.fa-wand-sparkles{--fa:"\f72b"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-ticket{--fa:"\f145"}.fa-power-off{--fa:"\f011"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-flag-usa{--fa:"\f74d"}.fa-laptop-file{--fa:"\e51d"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-diagram-next{--fa:"\e476"}.fa-person-rifle{--fa:"\e54e"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-closed-captioning{--fa:"\f20a"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-venus-double{--fa:"\f226"}.fa-images{--fa:"\f302"}.fa-calculator{--fa:"\f1ec"}.fa-people-pulling{--fa:"\e535"}.fa-n{--fa:"\4e"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-cloud-rain{--fa:"\f73d"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-ship{--fa:"\f21a"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-download{--fa:"\f019"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-file-circle-check{--fa:"\e5a0"}.fa-forward{--fa:"\f04e"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-align-center{--fa:"\f037"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-calendar-week{--fa:"\f784"}.fa-laptop-medical{--fa:"\f812"}.fa-b{--fa:"\42"}.fa-file-medical{--fa:"\f477"}.fa-dice-one{--fa:"\f525"}.fa-kiwi-bird{--fa:"\f535"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-mill-sign{--fa:"\e1ed"}.fa-bowl-rice{--fa:"\e2eb"}.fa-skull{--fa:"\f54c"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-truck-pickup{--fa:"\f63c"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-stop{--fa:"\f04d"}.fa-code-merge{--fa:"\f387"}.fa-upload{--fa:"\f093"}.fa-hurricane{--fa:"\f751"}.fa-mound{--fa:"\e52d"}.fa-toilet-portable{--fa:"\e583"}.fa-compact-disc{--fa:"\f51f"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-caravan{--fa:"\f8ff"}.fa-shield-cat{--fa:"\e572"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-glass-water{--fa:"\e4f4"}.fa-oil-well{--fa:"\e532"}.fa-vault{--fa:"\e2c5"}.fa-mars{--fa:"\f222"}.fa-toilet{--fa:"\f7d8"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-sun{--fa:"\f185"}.fa-guitar{--fa:"\f7a6"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-horse-head{--fa:"\f7ab"}.fa-bore-hole{--fa:"\e4c3"}.fa-industry{--fa:"\f275"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-florin-sign{--fa:"\e184"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-less-than{--fa:"\3c"}.fa-angle-down{--fa:"\f107"}.fa-car-tunnel{--fa:"\e4de"}.fa-head-side-cough{--fa:"\e061"}.fa-grip-lines{--fa:"\f7a4"}.fa-thumbs-down{--fa:"\f165"}.fa-user-lock{--fa:"\f502"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-chess-pawn{--fa:"\f443"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-person-through-window{--fa:"\e5a9"}.fa-toolbox{--fa:"\f552"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-bug{--fa:"\f188"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-mountain-sun{--fa:"\e52f"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-dice-d20{--fa:"\f6cf"}.fa-truck-droplet{--fa:"\e58c"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-medal{--fa:"\f5a2"}.fa-bed{--fa:"\f236"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-podcast{--fa:"\f2ce"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-bell{--fa:"\f0f3"}.fa-superscript{--fa:"\f12b"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-star-of-life{--fa:"\f621"}.fa-phone-slash{--fa:"\f3dd"}.fa-paint-roller{--fa:"\f5aa"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-file{--fa:"\f15b"}.fa-greater-than{--fa:"\3e"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-arrow-down{--fa:"\f063"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-eraser{--fa:"\f12d"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-person-burst{--fa:"\e53b"}.fa-dove{--fa:"\f4ba"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-socks{--fa:"\f696"}.fa-inbox{--fa:"\f01c"}.fa-section{--fa:"\e447"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-envelope-open-text{--fa:"\f658"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-wine-bottle{--fa:"\f72f"}.fa-chess-rook{--fa:"\f447"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-dharmachakra{--fa:"\f655"}.fa-hotdog{--fa:"\f80f"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-drum{--fa:"\f569"}.fa-ice-cream{--fa:"\f810"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-fax{--fa:"\f1ac"}.fa-paragraph{--fa:"\f1dd"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-star-half{--fa:"\f089"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-tree-city{--fa:"\e587"}.fa-play{--fa:"\f04b"}.fa-font{--fa:"\f031"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-rupiah-sign{--fa:"\e23d"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-naira-sign{--fa:"\e1f6"}.fa-cart-arrow-down{--fa:"\f218"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-receipt{--fa:"\f543"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-chevron-down{--fa:"\f078"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-skull-crossbones{--fa:"\f714"}.fa-code-compare{--fa:"\e13a"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-school-lock{--fa:"\e56f"}.fa-tower-cell{--fa:"\e585"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-ranking-star{--fa:"\e561"}.fa-chess-king{--fa:"\f43f"}.fa-person-harassing{--fa:"\e549"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-arrow-up{--fa:"\f062"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-shrimp{--fa:"\e448"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-jug-detergent{--fa:"\e519"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-user-shield{--fa:"\f505"}.fa-wind{--fa:"\f72e"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-y{--fa:"\59"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-fish{--fa:"\f578"}.fa-user-graduate{--fa:"\f501"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-clapperboard{--fa:"\e131"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-jet-fighter-up{--fa:"\e518"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-copy{--fa:"\f0c5"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-hand-sparkles{--fa:"\e05d"}.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-gun{--fa:"\e19b"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-add,.fa-plus{--fa:"\2b"}.fa-expand{--fa:"\f065"}.fa-computer{--fa:"\e4e5"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-peso-sign{--fa:"\e222"}.fa-building-shield{--fa:"\e4d8"}.fa-baby{--fa:"\f77c"}.fa-users-line{--fa:"\e592"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-tractor{--fa:"\f722"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-lines-leaning{--fa:"\e51e"}.fa-ruler-combined{--fa:"\f546"}.fa-copyright{--fa:"\f1f9"}.fa-equals{--fa:"\3d"}.fa-blender{--fa:"\f517"}.fa-teeth{--fa:"\f62e"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-map{--fa:"\f279"}.fa-rocket{--fa:"\f135"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-folder-minus{--fa:"\f65d"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-store{--fa:"\f54e"}.fa-arrow-trend-up{--fa:"\e098"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-bezier-curve{--fa:"\f55b"}.fa-bell-slash{--fa:"\f1f6"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-school-flag{--fa:"\e56e"}.fa-fill{--fa:"\f575"}.fa-angle-up{--fa:"\f106"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-holly-berry{--fa:"\f7aa"}.fa-chevron-left{--fa:"\f053"}.fa-bacteria{--fa:"\e059"}.fa-hand-lizard{--fa:"\f258"}.fa-notdef{--fa:"\e1fe"}.fa-disease{--fa:"\f7fa"}.fa-briefcase-medical{--fa:"\f469"}.fa-genderless{--fa:"\f22d"}.fa-chevron-right{--fa:"\f054"}.fa-retweet{--fa:"\f079"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-pump-soap{--fa:"\e06b"}.fa-video-slash{--fa:"\f4e2"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-radio{--fa:"\f8d7"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-traffic-light{--fa:"\f637"}.fa-thermometer{--fa:"\f491"}.fa-vr-cardboard{--fa:"\f729"}.fa-hand-middle-finger{--fa:"\f806"}.fa-percent,.fa-percentage{--fa:"\25"}.fa-truck-moving{--fa:"\f4df"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-display{--fa:"\e163"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-trophy{--fa:"\f091"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hammer{--fa:"\f6e3"}.fa-hand-peace{--fa:"\f25b"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-spinner{--fa:"\f110"}.fa-robot{--fa:"\f544"}.fa-peace{--fa:"\f67c"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-warehouse{--fa:"\f494"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-splotch{--fa:"\f5bc"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-dice-four{--fa:"\f524"}.fa-sim-card{--fa:"\f7c4"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-mercury{--fa:"\f223"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-person-falling-burst{--fa:"\e547"}.fa-award{--fa:"\f559"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-building{--fa:"\f1ad"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-qrcode{--fa:"\f029"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-comment-nodes{--fa:"\e696"}.fa-house-medical{--fa:"\e3b2"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-house-chimney-window{--fa:"\e00d"}.fa-pen-nib{--fa:"\f5ad"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tents{--fa:"\e582"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-dog{--fa:"\f6d3"}.fa-carrot{--fa:"\f787"}.fa-moon{--fa:"\f186"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-cheese{--fa:"\f7ef"}.fa-yin-yang{--fa:"\f6ad"}.fa-music{--fa:"\f001"}.fa-code-commit{--fa:"\f386"}.fa-temperature-low{--fa:"\f76b"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-broom{--fa:"\f51a"}.fa-shield-heart{--fa:"\e574"}.fa-gopuram{--fa:"\f664"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-hashtag{--fa:"\23"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-oil-can{--fa:"\f613"}.fa-t{--fa:"\54"}.fa-hippo{--fa:"\f6ed"}.fa-chart-column{--fa:"\e0e3"}.fa-infinity{--fa:"\f534"}.fa-vial-circle-check{--fa:"\e596"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-voicemail{--fa:"\f897"}.fa-fan{--fa:"\f863"}.fa-person-walking-luggage{--fa:"\e554"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-calendar{--fa:"\f133"}.fa-trailer{--fa:"\e041"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-sd-card{--fa:"\f7c2"}.fa-dragon{--fa:"\f6d5"}.fa-shoe-prints{--fa:"\f54b"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-hand-holding{--fa:"\f4bd"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-clone{--fa:"\f24d"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-tornado{--fa:"\f76f"}.fa-file-circle-plus{--fa:"\e494"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-anchor{--fa:"\f13d"}.fa-border-all{--fa:"\f84c"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-cookie-bite{--fa:"\f564"}.fa-arrow-trend-down{--fa:"\e097"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-draw-polygon{--fa:"\f5ee"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-shower{--fa:"\f2cc"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-m{--fa:"\4d"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-book{--fa:"\f02d"}.fa-user-plus{--fa:"\f234"}.fa-check{--fa:"\f00c"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-house-circle-check{--fa:"\e509"}.fa-angle-left{--fa:"\f104"}.fa-diagram-successor{--fa:"\e47a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-cloud-moon{--fa:"\f6c3"}.fa-briefcase{--fa:"\f0b1"}.fa-person-falling{--fa:"\e546"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-user-tag{--fa:"\f507"}.fa-rug{--fa:"\e569"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-baht-sign{--fa:"\e0ac"}.fa-book-open{--fa:"\f518"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-handcuffs{--fa:"\e4f8"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-database{--fa:"\f1c0"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-mask-face{--fa:"\e1d7"}.fa-hill-rockslide{--fa:"\e508"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-paper-plane{--fa:"\f1d8"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-dungeon{--fa:"\f6d9"}.fa-align-right{--fa:"\f038"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-life-ring{--fa:"\f1cd"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-calendar-day{--fa:"\f783"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-dice{--fa:"\f522"}.fa-bowling-ball{--fa:"\f436"}.fa-brain{--fa:"\f5dc"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-calendar-minus{--fa:"\f272"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-gifts{--fa:"\f79c"}.fa-hotel{--fa:"\f594"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-thumbs-up{--fa:"\f164"}.fa-user-clock{--fa:"\f4fd"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-file-invoice{--fa:"\f570"}.fa-window-minimize{--fa:"\f2d1"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-brush{--fa:"\f55d"}.fa-file-half-dashed{--fa:"\e698"}.fa-mask{--fa:"\f6fa"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-ruler-vertical{--fa:"\f548"}.fa-user-alt,.fa-user-large{--fa:"\f406"}.fa-train-tram{--fa:"\e5b4"}.fa-user-nurse{--fa:"\f82f"}.fa-syringe{--fa:"\f48e"}.fa-cloud-sun{--fa:"\f6c4"}.fa-stopwatch-20{--fa:"\e06f"}.fa-square-full{--fa:"\f45c"}.fa-magnet{--fa:"\f076"}.fa-jar{--fa:"\e516"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-bug-slash{--fa:"\e490"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-bone{--fa:"\f5d7"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-user-injured{--fa:"\f728"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-plane{--fa:"\f072"}.fa-tent-arrows-down{--fa:"\e581"}.fa-exclamation{--fa:"\21"}.fa-arrows-spin{--fa:"\e4bb"}.fa-print{--fa:"\f02f"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\24"}.fa-x{--fa:"\58"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-person-military-pointing{--fa:"\e54a"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-umbrella{--fa:"\f0e9"}.fa-trowel{--fa:"\e589"}.fa-d{--fa:"\44"}.fa-stapler{--fa:"\e5af"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-kip-sign{--fa:"\e1c4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-handshake-alt,.fa-handshake-simple{--fa:"\f4c6"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-barcode{--fa:"\f02a"}.fa-plus-minus{--fa:"\e43c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-person-circle-check{--fa:"\e53e"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}
.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/assets/fa-brands-400-D_cYUPeE.woff2) format("woff2"),url(/assets/fa-brands-400-D1LuMI3I.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero{--fa:"\f3d0"}.fa-hooli{--fa:"\f427"}.fa-yelp{--fa:"\f1e9"}.fa-cc-visa{--fa:"\f1f0"}.fa-lastfm{--fa:"\f202"}.fa-shopware{--fa:"\f5b5"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-aws{--fa:"\f375"}.fa-redhat{--fa:"\f7bc"}.fa-yoast{--fa:"\f2b1"}.fa-cloudflare{--fa:"\e07d"}.fa-ups{--fa:"\f7e0"}.fa-pixiv{--fa:"\e640"}.fa-wpexplorer{--fa:"\f2de"}.fa-dyalog{--fa:"\f399"}.fa-bity{--fa:"\f37a"}.fa-stackpath{--fa:"\f842"}.fa-buysellads{--fa:"\f20d"}.fa-first-order{--fa:"\f2b0"}.fa-modx{--fa:"\f285"}.fa-guilded{--fa:"\e07e"}.fa-vnv{--fa:"\f40b"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-microsoft{--fa:"\f3ca"}.fa-qq{--fa:"\f1d6"}.fa-orcid{--fa:"\f8d2"}.fa-java{--fa:"\f4e4"}.fa-invision{--fa:"\f7b0"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-centercode{--fa:"\f380"}.fa-glide-g{--fa:"\f2a6"}.fa-drupal{--fa:"\f1a9"}.fa-jxl{--fa:"\e67b"}.fa-dart-lang{--fa:"\e693"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-unity{--fa:"\e049"}.fa-whmcs{--fa:"\f40d"}.fa-rocketchat{--fa:"\f3e8"}.fa-vk{--fa:"\f189"}.fa-untappd{--fa:"\f405"}.fa-mailchimp{--fa:"\f59e"}.fa-css3-alt{--fa:"\f38b"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-vimeo-v{--fa:"\f27d"}.fa-contao{--fa:"\f26d"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-deskpro{--fa:"\f38f"}.fa-brave{--fa:"\e63c"}.fa-sistrix{--fa:"\f3ee"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-battle-net{--fa:"\f835"}.fa-the-red-yeti{--fa:"\f69d"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-edge{--fa:"\f282"}.fa-threads{--fa:"\e618"}.fa-napster{--fa:"\f3d2"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-google-plus-g{--fa:"\f0d5"}.fa-artstation{--fa:"\f77a"}.fa-markdown{--fa:"\f60f"}.fa-sourcetree{--fa:"\f7d3"}.fa-google-plus{--fa:"\f2b3"}.fa-diaspora{--fa:"\f791"}.fa-foursquare{--fa:"\f180"}.fa-stack-overflow{--fa:"\f16c"}.fa-github-alt{--fa:"\f113"}.fa-phoenix-squadron{--fa:"\f511"}.fa-pagelines{--fa:"\f18c"}.fa-algolia{--fa:"\f36c"}.fa-red-river{--fa:"\f3e3"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-safari{--fa:"\f267"}.fa-google{--fa:"\f1a0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-atlassian{--fa:"\f77b"}.fa-linkedin-in{--fa:"\f0e1"}.fa-digital-ocean{--fa:"\f391"}.fa-nimblr{--fa:"\f5a8"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-hacker-news{--fa:"\f1d4"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-adversal{--fa:"\f36a"}.fa-creative-commons{--fa:"\f25e"}.fa-watchman-monitoring{--fa:"\e087"}.fa-fonticons{--fa:"\f280"}.fa-weixin{--fa:"\f1d7"}.fa-shirtsinbulk{--fa:"\f214"}.fa-codepen{--fa:"\f1cb"}.fa-git-alt{--fa:"\f841"}.fa-lyft{--fa:"\f3c3"}.fa-rev{--fa:"\f5b2"}.fa-windows{--fa:"\f17a"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-meetup{--fa:"\f2e0"}.fa-centos{--fa:"\f789"}.fa-adn{--fa:"\f170"}.fa-cloudsmith{--fa:"\f384"}.fa-opensuse{--fa:"\e62b"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-codiepie{--fa:"\f284"}.fa-node{--fa:"\f419"}.fa-mix{--fa:"\f3cb"}.fa-steam{--fa:"\f1b6"}.fa-cc-apple-pay{--fa:"\f416"}.fa-scribd{--fa:"\f28a"}.fa-debian{--fa:"\e60b"}.fa-openid{--fa:"\f19b"}.fa-instalod{--fa:"\e081"}.fa-files-pinwheel{--fa:"\e69f"}.fa-expeditedssl{--fa:"\f23e"}.fa-sellcast{--fa:"\f2da"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-r-project{--fa:"\f4f7"}.fa-delicious{--fa:"\f1a5"}.fa-freebsd{--fa:"\f3a4"}.fa-vuejs{--fa:"\f41f"}.fa-accusoft{--fa:"\f369"}.fa-ioxhost{--fa:"\f208"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-app-store{--fa:"\f36f"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-itunes-note{--fa:"\f3b5"}.fa-golang{--fa:"\e40f"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-grav{--fa:"\f2d6"}.fa-weibo{--fa:"\f18a"}.fa-uncharted{--fa:"\e084"}.fa-firstdraft{--fa:"\f3a1"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-wikipedia-w{--fa:"\f266"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-angellist{--fa:"\f209"}.fa-galactic-republic{--fa:"\f50c"}.fa-nfc-directional{--fa:"\e530"}.fa-skype{--fa:"\f17e"}.fa-joget{--fa:"\f3b7"}.fa-fedora{--fa:"\f798"}.fa-stripe-s{--fa:"\f42a"}.fa-meta{--fa:"\e49b"}.fa-laravel{--fa:"\f3bd"}.fa-hotjar{--fa:"\f3b1"}.fa-bluetooth-b{--fa:"\f294"}.fa-square-letterboxd{--fa:"\e62e"}.fa-sticker-mule{--fa:"\f3f7"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-hips{--fa:"\f452"}.fa-css{--fa:"\e6a2"}.fa-behance{--fa:"\f1b4"}.fa-reddit{--fa:"\f1a1"}.fa-discord{--fa:"\f392"}.fa-chrome{--fa:"\f268"}.fa-app-store-ios{--fa:"\f370"}.fa-cc-discover{--fa:"\f1f2"}.fa-wpbeginner{--fa:"\f297"}.fa-confluence{--fa:"\f78d"}.fa-shoelace{--fa:"\e60c"}.fa-mdb{--fa:"\f8ca"}.fa-dochub{--fa:"\f394"}.fa-accessible-icon{--fa:"\f368"}.fa-ebay{--fa:"\f4f4"}.fa-amazon{--fa:"\f270"}.fa-unsplash{--fa:"\e07c"}.fa-yarn{--fa:"\f7e3"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-500px{--fa:"\f26e"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-asymmetrik{--fa:"\f372"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-gratipay{--fa:"\f184"}.fa-apple{--fa:"\f179"}.fa-hive{--fa:"\e07f"}.fa-gitkraken{--fa:"\f3a6"}.fa-keybase{--fa:"\f4f5"}.fa-apple-pay{--fa:"\f415"}.fa-padlet{--fa:"\e4a0"}.fa-amazon-pay{--fa:"\f42c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-stumbleupon{--fa:"\f1a4"}.fa-fedex{--fa:"\f797"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-shopify{--fa:"\e057"}.fa-neos{--fa:"\f612"}.fa-square-threads{--fa:"\e619"}.fa-hackerrank{--fa:"\f5f7"}.fa-researchgate{--fa:"\f4f8"}.fa-swift{--fa:"\f8e1"}.fa-angular{--fa:"\f420"}.fa-speakap{--fa:"\f3f3"}.fa-angrycreative{--fa:"\f36e"}.fa-y-combinator{--fa:"\f23b"}.fa-empire{--fa:"\f1d1"}.fa-envira{--fa:"\f299"}.fa-google-scholar{--fa:"\e63b"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-studiovinari{--fa:"\f3f8"}.fa-pied-piper{--fa:"\f2ae"}.fa-wordpress{--fa:"\f19a"}.fa-product-hunt{--fa:"\f288"}.fa-firefox{--fa:"\f269"}.fa-linode{--fa:"\f2b8"}.fa-goodreads{--fa:"\f3a8"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-jsfiddle{--fa:"\f1cc"}.fa-sith{--fa:"\f512"}.fa-themeisle{--fa:"\f2b2"}.fa-page4{--fa:"\f3d7"}.fa-hashnode{--fa:"\e499"}.fa-react{--fa:"\f41b"}.fa-cc-paypal{--fa:"\f1f4"}.fa-squarespace{--fa:"\f5be"}.fa-cc-stripe{--fa:"\f1f5"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-bitcoin{--fa:"\f379"}.fa-keycdn{--fa:"\f3ba"}.fa-opera{--fa:"\f26a"}.fa-itch-io{--fa:"\f83a"}.fa-umbraco{--fa:"\f8e8"}.fa-galactic-senate{--fa:"\f50d"}.fa-ubuntu{--fa:"\f7df"}.fa-draft2digital{--fa:"\f396"}.fa-stripe{--fa:"\f429"}.fa-houzz{--fa:"\f27c"}.fa-gg{--fa:"\f260"}.fa-dhl{--fa:"\f790"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-xing{--fa:"\f168"}.fa-blackberry{--fa:"\f37b"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-playstation{--fa:"\f3df"}.fa-quinscape{--fa:"\f459"}.fa-less{--fa:"\f41d"}.fa-blogger-b{--fa:"\f37d"}.fa-opencart{--fa:"\f23d"}.fa-vine{--fa:"\f1ca"}.fa-signal-messenger{--fa:"\e663"}.fa-paypal{--fa:"\f1ed"}.fa-gitlab{--fa:"\f296"}.fa-typo3{--fa:"\f42b"}.fa-reddit-alien{--fa:"\f281"}.fa-yahoo{--fa:"\f19e"}.fa-dailymotion{--fa:"\e052"}.fa-affiliatetheme{--fa:"\f36b"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-bootstrap{--fa:"\f836"}.fa-odnoklassniki{--fa:"\f263"}.fa-nfc-symbol{--fa:"\e531"}.fa-mintbit{--fa:"\e62f"}.fa-ethereum{--fa:"\f42e"}.fa-speaker-deck{--fa:"\f83c"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-patreon{--fa:"\f3d9"}.fa-avianex{--fa:"\f374"}.fa-ello{--fa:"\f5f1"}.fa-gofore{--fa:"\f3a7"}.fa-bimobject{--fa:"\f378"}.fa-brave-reverse{--fa:"\e63d"}.fa-facebook-f{--fa:"\f39e"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-web-awesome{--fa:"\e682"}.fa-mandalorian{--fa:"\f50f"}.fa-first-order-alt{--fa:"\f50a"}.fa-osi{--fa:"\f41a"}.fa-google-wallet{--fa:"\f1ee"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-periscope{--fa:"\f3da"}.fa-fulcrum{--fa:"\f50b"}.fa-cloudscale{--fa:"\f383"}.fa-forumbee{--fa:"\f211"}.fa-mizuni{--fa:"\f3cc"}.fa-schlix{--fa:"\f3ea"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-bandcamp{--fa:"\f2d5"}.fa-wpforms{--fa:"\f298"}.fa-cloudversify{--fa:"\f385"}.fa-usps{--fa:"\f7e1"}.fa-megaport{--fa:"\f5a3"}.fa-magento{--fa:"\f3c4"}.fa-spotify{--fa:"\f1bc"}.fa-optin-monster{--fa:"\f23c"}.fa-fly{--fa:"\f417"}.fa-square-bluesky{--fa:"\e6a3"}.fa-aviato{--fa:"\f421"}.fa-itunes{--fa:"\f3b4"}.fa-cuttlefish{--fa:"\f38c"}.fa-blogger{--fa:"\f37c"}.fa-flickr{--fa:"\f16e"}.fa-viber{--fa:"\f409"}.fa-soundcloud{--fa:"\f1be"}.fa-digg{--fa:"\f1a6"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-letterboxd{--fa:"\e62d"}.fa-symfony{--fa:"\f83d"}.fa-maxcdn{--fa:"\f136"}.fa-etsy{--fa:"\f2d7"}.fa-facebook-messenger{--fa:"\f39f"}.fa-audible{--fa:"\f373"}.fa-think-peaks{--fa:"\f731"}.fa-bilibili{--fa:"\e3d9"}.fa-erlang{--fa:"\f39d"}.fa-x-twitter{--fa:"\e61b"}.fa-cotton-bureau{--fa:"\f89e"}.fa-dashcube{--fa:"\f210"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-stack-exchange{--fa:"\f18d"}.fa-elementor{--fa:"\f430"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-palfed{--fa:"\f3d8"}.fa-superpowers{--fa:"\f2dd"}.fa-resolving{--fa:"\f3e7"}.fa-xbox{--fa:"\f412"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-searchengin{--fa:"\f3eb"}.fa-tiktok{--fa:"\e07b"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-renren{--fa:"\f18b"}.fa-linux{--fa:"\f17c"}.fa-glide{--fa:"\f2a5"}.fa-linkedin{--fa:"\f08c"}.fa-hubspot{--fa:"\f3b2"}.fa-deploydog{--fa:"\f38e"}.fa-twitch{--fa:"\f1e8"}.fa-flutter{--fa:"\e694"}.fa-ravelry{--fa:"\f2d9"}.fa-mixer{--fa:"\e056"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-vimeo{--fa:"\f40a"}.fa-mendeley{--fa:"\f7b3"}.fa-uniregistry{--fa:"\f404"}.fa-figma{--fa:"\f799"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-dropbox{--fa:"\f16b"}.fa-instagram{--fa:"\f16d"}.fa-cmplid{--fa:"\e360"}.fa-upwork{--fa:"\e641"}.fa-facebook{--fa:"\f09a"}.fa-gripfire{--fa:"\f3ac"}.fa-jedi-order{--fa:"\f50e"}.fa-uikit{--fa:"\f403"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-phabricator{--fa:"\f3db"}.fa-ussunnah{--fa:"\f407"}.fa-earlybirds{--fa:"\f39a"}.fa-trade-federation{--fa:"\f513"}.fa-autoprefixer{--fa:"\f41c"}.fa-whatsapp{--fa:"\f232"}.fa-square-upwork{--fa:"\e67c"}.fa-slideshare{--fa:"\f1e7"}.fa-google-play{--fa:"\f3ab"}.fa-viadeo{--fa:"\f2a9"}.fa-line{--fa:"\f3c0"}.fa-google-drive{--fa:"\f3aa"}.fa-servicestack{--fa:"\f3ec"}.fa-simplybuilt{--fa:"\f215"}.fa-bitbucket{--fa:"\f171"}.fa-imdb{--fa:"\f2d8"}.fa-deezer{--fa:"\e077"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-jira{--fa:"\f7b1"}.fa-docker{--fa:"\f395"}.fa-screenpal{--fa:"\e570"}.fa-bluetooth{--fa:"\f293"}.fa-gitter{--fa:"\f426"}.fa-d-and-d{--fa:"\f38d"}.fa-microblog{--fa:"\e01a"}.fa-cc-diners-club{--fa:"\f24c"}.fa-gg-circle{--fa:"\f261"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-yandex{--fa:"\f413"}.fa-readme{--fa:"\f4d5"}.fa-html5{--fa:"\f13b"}.fa-sellsy{--fa:"\f213"}.fa-square-web-awesome{--fa:"\e683"}.fa-sass{--fa:"\f41e"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-buromobelexperte{--fa:"\f37f"}.fa-salesforce{--fa:"\f83b"}.fa-octopus-deploy{--fa:"\e082"}.fa-medapps{--fa:"\f3c6"}.fa-ns8{--fa:"\f3d5"}.fa-pinterest-p{--fa:"\f231"}.fa-apper{--fa:"\f371"}.fa-fort-awesome{--fa:"\f286"}.fa-waze{--fa:"\f83f"}.fa-bluesky{--fa:"\e671"}.fa-cc-jcb{--fa:"\f24b"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-rust{--fa:"\e07a"}.fa-wix{--fa:"\f5cf"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-supple{--fa:"\f3f9"}.fa-webflow{--fa:"\e65c"}.fa-rebel{--fa:"\f1d0"}.fa-css3{--fa:"\f13c"}.fa-staylinked{--fa:"\f3f5"}.fa-kaggle{--fa:"\f5fa"}.fa-space-awesome{--fa:"\e5ac"}.fa-deviantart{--fa:"\f1bd"}.fa-cpanel{--fa:"\f388"}.fa-goodreads-g{--fa:"\f3a9"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-trello{--fa:"\f181"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-get-pocket{--fa:"\f265"}.fa-perbyte{--fa:"\e083"}.fa-grunt{--fa:"\f3ad"}.fa-weebly{--fa:"\f5cc"}.fa-connectdevelop{--fa:"\f20e"}.fa-leanpub{--fa:"\f212"}.fa-black-tie{--fa:"\f27e"}.fa-themeco{--fa:"\f5c6"}.fa-python{--fa:"\f3e2"}.fa-android{--fa:"\f17b"}.fa-bots{--fa:"\e340"}.fa-free-code-camp{--fa:"\f2c5"}.fa-hornbill{--fa:"\f592"}.fa-js{--fa:"\f3b8"}.fa-ideal{--fa:"\e013"}.fa-git{--fa:"\f1d3"}.fa-dev{--fa:"\f6cc"}.fa-sketch{--fa:"\f7c6"}.fa-yandex-international{--fa:"\f414"}.fa-cc-amex{--fa:"\f1f3"}.fa-uber{--fa:"\f402"}.fa-github{--fa:"\f09b"}.fa-php{--fa:"\f457"}.fa-alipay{--fa:"\f642"}.fa-youtube{--fa:"\f167"}.fa-skyatlas{--fa:"\f216"}.fa-firefox-browser{--fa:"\e007"}.fa-replyd{--fa:"\f3e6"}.fa-suse{--fa:"\f7d6"}.fa-jenkins{--fa:"\f3b6"}.fa-twitter{--fa:"\f099"}.fa-rockrms{--fa:"\f3e9"}.fa-pinterest{--fa:"\f0d2"}.fa-buffer{--fa:"\f837"}.fa-npm{--fa:"\f3d4"}.fa-yammer{--fa:"\f840"}.fa-btc{--fa:"\f15a"}.fa-dribbble{--fa:"\f17d"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-internet-explorer{--fa:"\f26b"}.fa-stubber{--fa:"\e5c7"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-old-republic{--fa:"\f510"}.fa-odysee{--fa:"\e5c6"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-node-js{--fa:"\f3d3"}.fa-edge-legacy{--fa:"\e078"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-medrt{--fa:"\f3c8"}.fa-usb{--fa:"\f287"}.fa-tumblr{--fa:"\f173"}.fa-vaadin{--fa:"\f408"}.fa-quora{--fa:"\f2c4"}.fa-square-x-twitter{--fa:"\e61a"}.fa-reacteurope{--fa:"\f75d"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-amilia{--fa:"\f36d"}.fa-mixcloud{--fa:"\f289"}.fa-flipboard{--fa:"\f44d"}.fa-viacoin{--fa:"\f237"}.fa-critical-role{--fa:"\f6c9"}.fa-sitrox{--fa:"\e44a"}.fa-discourse{--fa:"\f393"}.fa-joomla{--fa:"\f1aa"}.fa-mastodon{--fa:"\f4f6"}.fa-airbnb{--fa:"\f834"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-buy-n-large{--fa:"\f8a6"}.fa-gulp{--fa:"\f3ae"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-strava{--fa:"\f428"}.fa-ember{--fa:"\f423"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-teamspeak{--fa:"\f4f9"}.fa-pushed{--fa:"\f3e1"}.fa-wordpress-simple{--fa:"\f411"}.fa-nutritionix{--fa:"\f3d6"}.fa-wodu{--fa:"\e088"}.fa-google-pay{--fa:"\e079"}.fa-intercom{--fa:"\f7af"}.fa-zhihu{--fa:"\f63f"}.fa-korvue{--fa:"\f42f"}.fa-pix{--fa:"\e43a"}.fa-steam-symbol{--fa:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(/assets/fa-regular-400-BjRzuEpd.woff2) format("woff2"),url(/assets/fa-regular-400-DZaxPHgR.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/assets/fa-solid-900-CTAAxXor.woff2) format("woff2"),url(/assets/fa-solid-900-D0aA9rwL.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(/assets/fa-brands-400-D_cYUPeE.woff2) format("woff2"),url(/assets/fa-brands-400-D1LuMI3I.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/assets/fa-solid-900-CTAAxXor.woff2) format("woff2"),url(/assets/fa-solid-900-D0aA9rwL.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/assets/fa-regular-400-BjRzuEpd.woff2) format("woff2"),url(/assets/fa-regular-400-DZaxPHgR.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/assets/fa-solid-900-CTAAxXor.woff2) format("woff2"),url(/assets/fa-solid-900-D0aA9rwL.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/assets/fa-brands-400-D_cYUPeE.woff2) format("woff2"),url(/assets/fa-brands-400-D1LuMI3I.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/assets/fa-regular-400-BjRzuEpd.woff2) format("woff2"),url(/assets/fa-regular-400-DZaxPHgR.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(/assets/fa-v4compatibility-C9RhG_FT.woff2) format("woff2"),url(/assets/fa-v4compatibility-CCth-dXg.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}/* Base container */
.container {
  max-width: 98%;
  width: 98%;
  margin: 0 auto;
  padding: 20px;
  background-color: white;
}

.container h1 {
  color: #333;
  margin-bottom: 20px;
  font-size: 24px;
}

/* Dark mode overrides */
@media (prefers-color-scheme: dark) {
  .container {
    background-color: #1a1a1a !important;
  }
  
  .container h1 {
    color: #e1e1e1 !important;
  }
}

/* Header styling */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

/* Search container */
.search-container {
  width: 100%;
  max-width: 800px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.search-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.search-input-group {
  display: flex;
  gap: 1rem;
  width: 100%;
}

.search-input {
  flex: 1;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  transition: border-color 0.2s ease;
  outline: none;
}

.search-input:focus {
  border-color: #0066cc;
}

/* Dark mode overrides for search forms and inputs */
@media (prefers-color-scheme: dark) {
  .search-input {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    color: #e1e1e1 !important;
  }
  
  .search-input:focus {
    border-color: #66b3ff !important;
  }
  
  .search-input::placeholder {
    color: #888 !important;
  }
  
  .secondary-button {
    background-color: #404040 !important;
    color: #e1e1e1 !important;
  }
  
  .secondary-button:hover {
    background-color: #505050 !important;
  }
  
  .toggle-label {
    color: #aaa !important;
  }
  
  .pattern-error {
    color: #ff6b6b !important;
  }
}

.search-buttons {
  display: flex;
  gap: 0.5rem;
}

.primary-button,
.secondary-button,
.view-document-button {
  height: 42px;
  padding: 0 1.5rem;
  border-radius: 8px;
  font-size: 1rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.primary-button {
  background-color: #0066cc;
  color: white;
  border: none;
  transition: background-color 0.2s ease;
}

.primary-button:hover {
  background-color: #0052a3;
}

.primary-button:disabled {
  background-color: #99c2ff;
  cursor: not-allowed;
}

.secondary-button {
  background-color: #f0f0f0;
  color: #333;
  border: none;
  transition: background-color 0.2s ease;
}

.secondary-button:hover {
  background-color: #e0e0e0;
}

/* Table view button specific overrides */
table .view-document-button {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
  width: 100%;
  max-width: 8%;
  min-width: 80px;
  white-space: nowrap;
}

table .view-document-button i {
  font-size: 14px;
  margin-right: 4px;
}

.search-options {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
}

.pattern-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  user-select: none;
}

.pattern-toggle input[type="checkbox"] {
  width: 1.2rem;
  height: 1.2rem;
  cursor: pointer;
}

.toggle-label {
  color: #666;
  font-size: 0.9rem;
}

.pattern-error {
  color: #dc3545;
  font-size: 0.9rem;
}

/* Button styling based on BondsView blue theme */
.search-button, .back-button, .clear-button, .blue-button {
  padding: 8px 12px;
  background-color: #0366d6;
  color: white;
  border: 1px solid #0366d6;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: background-color 0.2s ease;
}

.search-button:hover, .back-button:hover, .clear-button:hover, .view-document-button:hover, .blue-button:hover {
  background-color: #035cc1;
  border-color: #035cc1;
}

.search-button:disabled {
  background-color: #cccccc;
  cursor: not-allowed;
}

/* Loading and no results */
.loading-indicator, .no-results, .loading-document {
  text-align: center;
  margin: 40px 0;
  color: #666;
}

.search-results-summary {
  margin-bottom: 20px;
  font-size: 14px;
  color: #666;
}

/* Report sources list styling */
.report-sources-list {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  width: 100%;
}

.table-container {
  width: 100%;
  overflow-x: auto;
}

/* Table styling based on BondsView */
table {
  border-collapse: collapse;
  width: 100%;
  margin: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

table th, table td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}

table th {
  background-color: #f8f9fa;
  color: #333;
  font-weight: 600;
}

table tbody tr:hover {
  background-color: #f0f7ff;
}

table tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

table tbody tr:nth-child(even) {
  background-color: #f8f9fa;
}

/* Dark mode overrides for table */
@media (prefers-color-scheme: dark) {
  table {
    background-color: #2d2d2d !important;
    color: #e1e1e1 !important;
  }
  
  table th {
    background-color: #404040 !important;
    color: #e1e1e1 !important;
  }
  
  table tbody tr:nth-child(odd) {
    background-color: #353535 !important;
  }
  
  table tbody tr:nth-child(even) {
    background-color: #2d2d2d !important;
  }
  
  table tbody tr:hover {
    background-color: #404040 !important;
  }
}

.filename-cell {
  font-weight: 500;
  color: #333;
}

.date-cell {
  white-space: nowrap;
}

.source-url-link {
  color: #007bff;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.source-url-link:hover {
  color: #0056b3;
}

.truncate-text {
  display: inline-block;
  max-width: 700px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}

/* Grouped Results Layout */
.grouped-results {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}

.document-with-chunks {
  display: flex;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.document-sidebar {
  flex: 0 0 250px;
  padding: 16px;
  background-color: #f8f9fa;
  border-right: 1px solid #e0e0e0;
}

@media (prefers-color-scheme: dark) {
  .document-sidebar {
    background-color: #2d2d2d !important;
    color: #e1e1e1 !important;
  }
}

.document-sidebar .document-filename {
  font-weight: bold;
  margin-bottom: 8px;
  font-size: 16px;
  word-break: break-word;
  color: #333;
}

.document-sidebar .chunks-count, 
.document-sidebar .document-size {
  margin: 5px 0;
  color: #666;
  font-size: 14px;
}

.document-chunks {
  flex: 1;
  padding: 16px;
  background-color: white;
  overflow: auto;
  max-height: 400px;
}

@media (prefers-color-scheme: dark) {
  .document-chunks {
    background-color: #2d2d2d !important;
    color: #e1e1e1 !important;
  }
  
  .document-chunks h4 {
    color: #e1e1e1 !important;
  }
}

.document-chunks h4 {
  margin-top: 0;
  margin-bottom: 12px;
  color: #333;
}

.chunks-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chunk-item {
  padding: 15px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

@media (prefers-color-scheme: dark) {
  .chunk-item {
    background-color: #353535 !important;
    border-color: #404040 !important;
    color: #e1e1e1 !important;
  }
  
  .chunk-text p {
    color: #e1e1e1 !important;
  }
}

.chunk-text p {
  margin: 0 0 10px 0;
  white-space: pre-wrap;
  line-height: 1.5;
  color: #333;
}

.chunk-metadata {
  display: flex;
  gap: 12px;
  border-top: 1px solid #eaecef;
  padding-top: 8px;
  font-size: 12px;
  color: #586069;
}

.source-link {
  display: block;
  margin: 10px 0;
  color: #0366d6;
  text-decoration: none;
}

.source-link:hover {
  text-decoration: underline;
}

.view-document-button {
  margin-top: 12px;
  padding: 8px 12px;
  background-color: #0366d6;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
}

.view-document-button:hover {
  background-color: #035cc1;
}

/* Responsive adjustments for search results */
@media (max-width: 768px) {
  .document-with-chunks {
    flex-direction: column;
  }
  
  .document-sidebar {
    flex: none;
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #e1e4e8;
  }
  
  .document-chunks {
    max-height: 300px;
  }
}

/* Search Results Container Styling */
.search-results-container {
  margin-bottom: 30px;
}

.search-results-container h2 {
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}

.search-results-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.search-result-item {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 15px;
  background-color: #f9f9f9;
  cursor: pointer;
  transition: background-color 0.2s;
}

.search-result-item:hover {
  background-color: #f0f0f0;
}

.search-result-text {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.5;
}

.search-result-text p {
  margin: 0;
}

.search-result-metadata {
  font-size: 13px;
  color: #666;
  border-top: 1px solid #eee;
  padding-top: 10px;
}

.search-result-metadata p {
  margin: 5px 0;
}

.search-result-metadata strong {
  color: #444;
}

/* Document View */
.document-view {
  background-color: white;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  margin-bottom: 30px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.document-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid #eee;
}

.document-header h2 {
  margin: 0;
  font-size: 18px;
}

.document-content {
  padding: 20px;
  max-height: 600px;
  overflow-y: auto;
  background-color: white;
}

/* Document iframe container */
.document-iframe-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
  height: 100%;
  min-height: 500px;
}

.document-iframe {
  width: 100%;
  height: 70vh;
  min-height: 500px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}

.pdf-iframe {
  background-color: #f5f5f5;
}

.iframe-fallback {
  padding: 15px;
  background-color: #f8f9fa;
  border-radius: 6px;
  margin-top: 10px;
  text-align: center;
}

.source-link-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: #0366d6;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  margin-top: 10px;
}

.source-link-button:hover {
  background-color: #035cc1;
}

.document-text {
  white-space: pre-wrap;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.5;
  font-size: 14px;
  margin: 0;
}

/* Document detail view */
.document-detail-view {
  margin: 20px 0;
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.document-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background-color: #f6f8fa;
  border-bottom: 1px solid #e1e4e8;
}

.document-header h2 {
  margin: 0;
  font-size: 20px;
  color: #24292e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-detail-container {
  flex: 1;
  padding: 12px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.document-content-wrapper {
  display: flex;
  flex: 1;
  gap: 15px;
  margin-top: 16px;
}

.document-source-panel {
  flex: 1;
  min-width: 0;
  max-width: 55%;
}

.document-chunks-panel {
  flex: 1;
  min-width: 0;
  max-width: 45%;
  overflow-y: auto;
}

.document-iframe-container {
  width: 100%;
  height: 100%;
  min-height: 600px;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
}

.document-iframe {
  width: 100%;
  height: 100%;
  min-height: 600px;
  border: none;
}

.pdf-iframe {
  background-color: #f5f5f5;
}

.iframe-fallback {
  text-align: center;
  padding: 10px;
  border-top: 1px solid #e1e4e8;
}

.source-link-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: #0366d6;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  margin-top: 10px;
}

.source-link-button:hover {
  background-color: #035cc1;
}

/* Text and metadata tabs */
.document-tab-content {
  padding: 20px 0;
}

.text-tab {
  background-color: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 16px;
}

.text-tab h3 {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 16px;
  color: #24292e;
}

.document-text {
  white-space: pre-wrap;
  line-height: 1.5;
  font-family: monospace;
  font-size: 14px;
  margin: 0;
  max-height: 400px;
  overflow-y: auto;
  padding: 16px;
  background-color: white;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
}

.no-source, .no-chunks {
  padding: 20px;
  text-align: center;
  color: #586069;
}

.metadata-tab {
  background-color: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 16px;
}

.metadata-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}

.metadata-item {
  padding: 10px;
  background-color: white;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
}

.metadata-item h4 {
  margin: 0 0 6px 0;
  font-size: 13px;
  color: #586069;
}

.metadata-item p, 
.metadata-item a {
  margin: 0;
  font-size: 13px;
  word-break: break-word;
  color: #24292e;
}

.metadata-item a {
  color: #0366d6;
  text-decoration: none;
}

.metadata-item a:hover {
  text-decoration: underline;
}

.metadata-item.error {
  border-color: #f9826c;
  background-color: #fff5f5;
}

.metadata-item.error h4 {
  color: #cb2431;
}

/* Responsiveness for document detail view */
@media (max-width: 768px) {
  .document-content-split {
    flex-direction: column;
  }
  
  .document-source-panel,
  .document-chunks-panel {
    min-height: unset;
  }
  
  .document-iframe {
    height: 350px;
  }
}

/* Document navigation layout */
.document-detail-layout {
  display: flex;
  height: calc(100vh - 160px);
  min-height: 600px;
  width: 100%;
}

.document-navigation-sidebar {
  width: 220px;
  border-right: 1px solid #e1e4e8;
  background-color: #f6f8fa;
  overflow-y: auto;
  flex-shrink: 0;
}

.document-navigation-sidebar h3 {
  margin: 0;
  padding: 16px;
  font-size: 16px;
  color: #24292e;
  border-bottom: 1px solid #e1e4e8;
  background-color: #f1f3f5;
}

.document-list {
  padding: 8px;
}

.document-list-item {
  padding: 12px;
  margin-bottom: 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
  border: 1px solid #e1e4e8;
  background-color: white;
  overflow: hidden;
}

.document-list-item:hover {
  background-color: #f1f8ff;
}

.document-list-item.active {
  background-color: #e6f3ff;
  border-color: #0366d6;
}

.document-list-name {
  font-weight: 500;
  font-size: 14px;
  word-break: break-word;
  font-family: monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.document-list-filename {
  font-size: 12px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
}

.document-detail-container {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
}

/* Responsive adjustments for document detail layout */
@media (max-width: 768px) {
  .document-detail-layout {
    flex-direction: column;
    height: auto;
  }
  
  .document-navigation-sidebar {
    width: 100%;
    height: 200px;
    border-right: none;
    border-bottom: 1px solid #e1e4e8;
  }
}

.main-content {
  width: 100%;
  max-width: 100%;
}

/* Document header with actions */
.document-header {
  margin-bottom: 16px;
}

.document-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.download-link {
  display: inline-block;
  margin: 0 0 0 auto; /* Push to the right */
  padding: 8px 16px;
  background-color: #0366d6;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
  transition: background-color 0.2s ease;
}

.download-link:hover {
  background-color: #035cc1;
}

/* Style the document header and actions */
.document-header {
  margin-bottom: 16px;
}

.document-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Table styling for report sources */
/* Button styling for table rows */
table .view-document-button {
  padding: 6px 12px;
  font-size: 13px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-left: 5px;
  width: 100%;
  max-width: 8%;
  min-width: 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

table .view-document-button i {
  margin-right: 4px;
  font-size: 14px;
}

/* Smaller view document button for the table */
.report-sources-table .view-document-button {
  padding: 4px 6px;
  font-size: 12px;
  min-width: 40px;
  max-width: 50px;
  white-space: nowrap;
  text-align: center;
}

/* Metadata section */
.metadata-section {
  margin-bottom: 16px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 12px;
  background-color: #f6f8fa;
}

.metadata-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}

.metadata-section::before {
  content: "Document Metadata";
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
  color: #24292e;
  font-size: 16px;
}

.metadata-item {
  padding: 10px;
  background-color: white;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
}

.metadata-item h4 {
  margin: 0 0 6px 0;
  font-size: 13px;
  color: #586069;
}

.metadata-item p {
  margin: 0;
  word-break: break-word;
  font-size: 13px;
}

.metadata-item a {
  word-break: break-all;
  color: #0366d6;
}

.metadata-item.error h4 {
  color: #cb2431;
}

.metadata-item.error p {
  color: #cb2431;
}

/* Document chunks styling */
.chunk-item {
  padding: 16px;
  margin-bottom: 12px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  background-color: white;
}

.chunk-content {
  margin-bottom: 8px;
  white-space: pre-wrap;
  word-break: break-word;
}

.chunk-page,
.chunk-relevance {
  font-size: 12px;
  color: #586069;
  display: inline-block;
  margin-right: 16px;
}

.chunks-list {
  padding: 8px;
  overflow-y: auto;
}

.document-text-content {
  padding: 16px;
  background-color: white;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.document-text-content pre {
  margin: 0;
  white-space: pre-wrap;
  font-family: monospace;
  font-size: 14px;
}

.no-chunks-message {
  padding: 16px;
  color: #586069;
  font-style: italic;
  text-align: center;
}

.download-link {
  display: inline-block;
  margin: 16px 0;
  padding: 8px 16px;
  background-color: #0366d6;
  color: white;
  text-decoration: none;
  border-radius: 6px;
  font-size: 14px;
}

.download-link:hover {
  background-color: #035cc1;
}

/* Styling for SearchTargetsView component */
.links-cell {
  display: flex;
  gap: 10px;
  justify-content: flex-start;
  align-items: center;
}

.links-cell .source-url-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  margin: 0;
  padding: 0;
  text-align: center;
}

.links-cell .source-url-link i {
  font-size: 16px;
}

/* Expandable table rows */
.expanded-row {
  background-color: #f0f7ff !important;
}

.chunk-row {
  background-color: #f5f9ff !important;
  border-bottom: 1px dashed #ccc;
}

.chunk-cell {
  padding: 0;
}

.chunk-content {
  padding: 16px;
  margin: 0;
  border-left: 4px solid #0366d6;
  background-color: #f9fbff;
}

.chunk-content p {
  margin: 0 0 8px 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.chunk-metadata {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: #666;
}

@media (prefers-color-scheme: dark) {
  .expanded-row {
    background-color: #404040 !important;
  }
  
  .chunk-row {
    background-color: #353535 !important;
  }
  
  .chunk-content {
    background-color: #2d2d2d !important;
    color: #e1e1e1 !important;
    border-left-color: #66b3ff !important;
  }
  
  .chunk-content p {
    color: #e1e1e1 !important;
  }
  
  .chunk-metadata {
    color: #aaa !important;
  }
}

/* Table actions styling */
table .source-link {
  margin-right: 10px;
  padding: 4px 8px;
  border-radius: 4px;
  color: #0366d6;
  text-decoration: none;
  font-size: 13px;
}

table .source-link:hover {
  text-decoration: underline;
  background-color: rgba(3, 102, 214, 0.1);
}

/* URL cell styling */
.url-cell {
  color: #0366d6;
  text-decoration: none;
  max-width: 800px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  white-space: nowrap;
}

.url-cell:hover {
  text-decoration: underline;
}

/* Compact view button */
.view-document-button.compact {
  padding: 4px 8px;
  min-width: auto;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Remove source link now that it's a column */
table .source-link {
  display: none;
}

/* Chunk count badge styling */
.chunk-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f7ff;
  color: #0366d6;
  font-weight: bold;
  border-radius: 16px;
  padding: 4px 10px;
  min-width: 30px;
  cursor: pointer;
  border: 1px solid #cce4ff;
  transition: all 0.2s ease;
}

.chunk-count-badge:hover {
  background-color: #e1f0ff;
  border-color: #0366d6;
  transform: scale(1.05);
}

/* Highlight styling for search terms */
.highlighted-text,
mark.highlighted-text {
  background-color: #FFEB9C;
  color: #000;
  padding: 0 2px;
  border-radius: 2px;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
}

@media (prefers-color-scheme: dark) {
  .highlighted-text,
  mark.highlighted-text {
    background-color: #FFEB9C !important;
    color: #000 !important;
  }
}

/* Title Search Styling */
.search-container {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}

.search-input-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.search-input {
  width: 300px;
  padding: 8px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  fontSize: 14px;
  transition: border-color 0.2s ease;
}

.search-input:focus {
  outline: none;
  border-color: #0366d6;
  box-shadow: 0 0 0 2px rgba(3, 102, 214, 0.1);
}

.clear-search-button {
  margin-left: 8px;
  padding: 8px 12px;
  background-color: #6c757d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  gap: 4px;
}

.clear-search-button:hover {
  background-color: #5a6268;
}

.search-info {
  margin-top: 8px;
  font-size: 13px;
  color: #666;
  font-style: italic;
}

.table-container {
  width: 100%;
  overflow-x: auto;
}

/* Dark mode overrides for document detail view elements */
@media (prefers-color-scheme: dark) {
  /* Document navigation sidebar */
  .document-navigation-sidebar {
    background-color: #2d2d2d !important;
    border-right-color: #404040 !important;
  }
  
  .document-navigation-sidebar h3 {
    color: #e1e1e1 !important;
    background-color: #353535 !important;
    border-bottom-color: #404040 !important;
  }
  
  .document-list-item {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    color: #e1e1e1 !important;
  }
  
  .document-list-item:hover {
    background-color: #404040 !important;
  }
  
  .document-list-item.active {
    background-color: #506080 !important;
    border-color: #66b3ff !important;
  }
  
  .document-list-name {
    color: #e1e1e1 !important;
  }
  
  .document-list-filename {
    color: #aaa !important;
  }
  
  /* Document detail container */
  .document-detail-container {
    background-color: #1a1a1a !important;
    color: #e1e1e1 !important;
  }
  
  /* Metadata section */
  .metadata-section {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
  }
  
  .metadata-section::before {
    color: #e1e1e1 !important;
  }
  
  .metadata-item {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
  }
  
  .metadata-item h4 {
    color: #aaa !important;
  }
  
  .metadata-item p {
    color: #e1e1e1 !important;
  }
  
  .metadata-item a {
    color: #66b3ff !important;
  }
  
  /* Document chunks panel */
  .document-chunks-panel h3 {
    color: #e1e1e1 !important;
  }
  
  .chunk-item {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
  }
  
  .chunk-content {
    color: #e1e1e1 !important;
  }
  
  .chunk-page,
  .chunk-relevance {
    color: #aaa !important;
  }
  
  /* Document text content */
  .document-text-content {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    color: #e1e1e1 !important;
  }
  
  .document-text-content pre {
    color: #e1e1e1 !important;
  }
  
  /* Text tabs */
  .text-tab {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
  }
  
  .text-tab h3 {
    color: #e1e1e1 !important;
  }
  
  .document-text {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    color: #e1e1e1 !important;
  }
  
  /* Metadata tab */
  .metadata-tab {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
  }
  
  /* No source/chunks messages */
  .no-source, .no-chunks {
    color: #aaa !important;
  }
  
  .no-chunks-message {
    color: #aaa !important;
  }
  
  /* Download link - ensure it stays visible */
  .download-link {
    background-color: #66b3ff !important;
    color: #1a1a1a !important;
  }
  
  .download-link:hover {
    background-color: #4da6ff !important;
  }
  
  /* Source link button */
  .source-link-button {
    background-color: #66b3ff !important;
    color: #1a1a1a !important;
  }
  
  .source-link-button:hover {
    background-color: #4da6ff !important;
  }
  
  /* Document header */
  .document-header h2 {
    color: #e1e1e1 !important;
  }
  
  /* Iframe fallback */
  .iframe-fallback {
    border-top-color: #404040 !important;
    color: #aaa !important;
  }
}

/* Additional dark mode fixes for body.dark-mode */
body.dark-mode table {
  background-color: #2d2d2d !important;
  color: #e1e1e1 !important;
}

body.dark-mode table th {
  background-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode table tbody tr:nth-child(odd) {
  background-color: #353535 !important;
}

body.dark-mode table tbody tr:nth-child(even) {
  background-color: #2d2d2d !important;
}

body.dark-mode table tbody tr:hover {
  background-color: #404040 !important;
}

body.dark-mode .filename-cell {
  color: #e1e1e1 !important;
}

body.dark-mode .source-url-link {
  color: #66b3ff !important;
}

body.dark-mode .source-url-link:hover {
  color: #99ccff !important;
}

body.dark-mode .document-navigation-sidebar {
  background-color: #2d2d2d !important;
  border-right-color: #404040 !important;
}

body.dark-mode .document-navigation-sidebar h3 {
  color: #e1e1e1 !important;
  background-color: #353535 !important;
  border-bottom-color: #404040 !important;
}

body.dark-mode .document-list-item {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode .document-list-item:hover {
  background-color: #404040 !important;
}

body.dark-mode .document-list-item.active {
  background-color: #506080 !important;
  border-color: #66b3ff !important;
}

body.dark-mode .document-list-name {
  color: #e1e1e1 !important;
}

body.dark-mode .document-list-filename {
  color: #aaa !important;
}

body.dark-mode .document-detail-container {
  background-color: #1a1a1a !important;
  color: #e1e1e1 !important;
}

body.dark-mode .metadata-section {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
}

body.dark-mode .metadata-section::before {
  color: #e1e1e1 !important;
}

body.dark-mode .metadata-item {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
}

body.dark-mode .metadata-item h4 {
  color: #aaa !important;
}

body.dark-mode .metadata-item p {
  color: #e1e1e1 !important;
}

body.dark-mode .metadata-item a {
  color: #66b3ff !important;
}

body.dark-mode .document-chunks-panel h3 {
  color: #e1e1e1 !important;
}

body.dark-mode .chunk-item {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
}

body.dark-mode .chunk-content {
  color: #e1e1e1 !important;
}

body.dark-mode .chunk-page,
body.dark-mode .chunk-relevance {
  color: #aaa !important;
}

body.dark-mode .document-text-content {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode .document-text-content pre {
  color: #e1e1e1 !important;
}

body.dark-mode .text-tab {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
}

body.dark-mode .text-tab h3 {
  color: #e1e1e1 !important;
}

body.dark-mode .document-text {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode .metadata-tab {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
}

body.dark-mode .no-source, 
body.dark-mode .no-chunks {
  color: #aaa !important;
}

body.dark-mode .no-chunks-message {
  color: #aaa !important;
}

body.dark-mode .download-link {
  background-color: #66b3ff !important;
  color: #1a1a1a !important;
}

body.dark-mode .download-link:hover {
  background-color: #4da6ff !important;
}

body.dark-mode .source-link-button {
  background-color: #66b3ff !important;
  color: #1a1a1a !important;
}

body.dark-mode .source-link-button:hover {
  background-color: #4da6ff !important;
}

body.dark-mode .document-header h2 {
  color: #e1e1e1 !important;
}

body.dark-mode .iframe-fallback {
  border-top-color: #404040 !important;
  color: #aaa !important;
}

/* Search Loading States */
.search-spinner {
  margin-left: 12px;
  display: flex;
  align-items: center;
  color: #666;
  font-size: 14px;
}

.search-loading-overlay {
  position: relative;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  margin-bottom: 20px;
  border: 1px solid #e0e0e0;
}

.search-loading-overlay .fa-spinner {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Small search spinner next to input */
.search-spinner-small {
  margin-left: 8px;
  display: flex;
  align-items: center;
  min-width: 16px; /* Prevent layout shift */
}

.search-spinner-small .fa-spinner {
  animation: spin 1s linear infinite;
  font-size: 12px !important;
  color: #0366d6 !important;
}

/* Disabled states during search - No longer needed since search doesn't block inputs */
/* .search-input:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}

.clear-search-button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
} */

/* Keep these disabled states for normal pagination/button functionality */
.pagination-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.view-document-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Additional dark mode fixes for body.dark-mode class approach */
body.dark-mode .search-input {
  background-color: #2d2d2d !important;
  border-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode .search-input:focus {
  border-color: #66b3ff !important;
}

body.dark-mode .search-input::placeholder {
  color: #888 !important;
}

body.dark-mode .secondary-button {
  background-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode .secondary-button:hover {
  background-color: #505050 !important;
}

body.dark-mode .toggle-label {
  color: #aaa !important;
}

body.dark-mode .pattern-error {
  color: #ff6b6b !important;
}

body.dark-mode .document-chunks {
  background-color: #2d2d2d !important;
  color: #e1e1e1 !important;
}

body.dark-mode .document-chunks h4 {
  color: #e1e1e1 !important;
}

body.dark-mode .chunk-item {
  background-color: #353535 !important;
  border-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode .chunk-text p {
  color: #e1e1e1 !important;
}

body.dark-mode .expanded-row {
  background-color: #404040 !important;
}

body.dark-mode .chunk-row {
  background-color: #353535 !important;
}

body.dark-mode .chunk-content {
  background-color: #2d2d2d !important;
  color: #e1e1e1 !important;
  border-left-color: #66b3ff !important;
}

body.dark-mode .chunk-content p {
  color: #e1e1e1 !important;
}

body.dark-mode .chunk-metadata {
  color: #aaa !important;
}

body.dark-mode .search-results-summary {
  background-color: #2d2d2d !important;
  color: #aaa !important;
}

body.dark-mode .no-results {
  color: #aaa !important;
}

body.dark-mode .loading-indicator {
  color: #aaa !important;
}

/* Removed @media (prefers-color-scheme: dark) to prevent browser override */

body.dark-mode .popup-content {
  background-color: #2d2d2d !important;
  color: #e1e1e1 !important;
}

body.dark-mode .popup-content h3 {
  color: #e1e1e1 !important;
}

body.dark-mode .popup-content a {
  color: #66b3ff !important;
}

body.dark-mode .popup-content button {
  background-color: #66b3ff !important;
  color: #1a1a1a !important;
}

body.dark-mode .popup-content button:hover {
  background-color: #4da6ff !important;
}

/* Dark mode for search results headers */
body.dark-mode .search-results-container h2 {
  color: #e1e1e1 !important;
  border-bottom-color: #404040 !important;
}

/* Dark mode for container headers */
body.dark-mode .container {
  background-color: #1a1a1a !important;
}

body.dark-mode .container h1 {
  color: #e1e1e1 !important;
}
/* WebSearchView specific styling */

.web-search-container {
  max-width: 98%;
  width: 98%;
  margin: 0 auto;
  padding: 20px;
  background-color: white;
}

.web-search-container h1 {
  color: #333;
  margin-bottom: 20px;
  font-size: 24px;
}

.web-search-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}

.web-search-history-button {
  padding: 0.5rem 1rem;
  background-color: #6c757d;
  color: white;
  border: none;
  border-radius: 3px;
  cursor: pointer;
}

.web-search-history-button:hover {
  background-color: #5a6268;
}

/* Search Form Styling */
.web-search-form {
  background-color: #f8f9fa;
  padding: 1.5rem;
  border-radius: 5px;
  margin-bottom: 2rem;
  border: 1px solid #dee2e6;
}

.web-search-form h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  color: #333;
}

/* Form fields container - using flexbox for top-bottom layout */
.web-search-form-fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}

.web-search-form-row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.web-search-form-group {
  display: flex;
  flex-direction: column;
}

.web-search-form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: bold;
  color: #333;
}

.web-search-form-input,
.web-search-form-select {
  width: 100%;
  padding: 0.5rem;
  margin-top: 0.25rem;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: white;
  color: #333;
}

.web-search-form-input:focus,
.web-search-form-select:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.web-search-form-submit {
  display: flex;
  justify-content: center;
}

.web-search-submit-button {
  padding: 0.75rem 2rem;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: bold;
}

.web-search-submit-button:hover {
  background-color: #0056b3;
}

.web-search-submit-button:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

/* Results section inherits table styling from ReportSourcesView.css */
.web-search-results h3 {
  color: #333;
  margin-bottom: 1rem;
}

/* Removed @media (prefers-color-scheme: dark) to prevent browser override */

body.dark-mode .web-search-container {
  background-color: #1a1a1a;
}

body.dark-mode .web-search-container h1 {
  color: #e1e1e1;
}

body.dark-mode .web-search-form {
  background-color: #2d2d2d;
  border-color: #404040;
}

body.dark-mode .web-search-form h3 {
  color: #e1e1e1;
}

body.dark-mode .web-search-form-label {
  color: #e1e1e1;
}

body.dark-mode .web-search-form-input,
body.dark-mode .web-search-form-select {
  background-color: #353535;
  border-color: #404040;
  color: #e1e1e1;
}

body.dark-mode .web-search-form-input:focus,
body.dark-mode .web-search-form-select:focus {
  border-color: #66b3ff;
  box-shadow: 0 0 0 2px rgba(102, 179, 255, 0.25);
}

body.dark-mode .web-search-results h3 {
  color: #e1e1e1;
}

/* Dark mode table styling for WebSearchView */
body.dark-mode table {
  background-color: #2d2d2d !important;
  color: #e1e1e1 !important;
}

body.dark-mode table th {
  background-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode table td {
  border-bottom-color: #404040 !important;
  color: #e1e1e1 !important;
}

body.dark-mode table tbody tr:hover {
  background-color: #404040 !important;
}

body.dark-mode .web-search-history-button {
  background-color: #404040;
  color: #e1e1e1;
}

body.dark-mode .web-search-history-button:hover {
  background-color: #505050;
}

/* Responsive adjustments */
@media (min-width: 768px) {
  /* On larger screens, show some fields side by side for better space usage */
  .web-search-form-row.horizontal {
    flex-direction: row;
  }
  
  .web-search-form-row.horizontal .web-search-form-group {
    flex: 1;
  }
}

/* Mobile responsive */
@media (max-width: 767px) {
  .web-search-header {
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }
  
  .web-search-form {
    padding: 1rem;
  }
} .settings-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 32px;
    background: var(--background-color, #ffffff);
    min-height: calc(100vh - 140px);
}

.settings-header {
    text-align: center;
    margin-bottom: 48px;
}

.settings-header h1 {
    color: var(--text-color, #333333);
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0 0 10px 0;
}

.settings-header p {
    color: var(--secondary-text, #666666);
    font-size: 1.1rem;
    margin: 0;
}

.settings-content {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.settings-section {
    background: var(--card-background, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    padding: 36px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.section-header .material-icons {
    font-size: 24px;
    color: var(--primary-color, #646cff);
}

.section-header h2 {
    color: var(--text-color, #333333);
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0;
}

.section-description {
    color: var(--secondary-text, #666666);
    margin-bottom: 28px;
    line-height: 1.5;
}

/* Theme Options */
.theme-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.theme-card {
    border: 2px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    padding: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: var(--card-background, #ffffff);
}

.theme-card:hover {
    border-color: var(--primary-color, #646cff);
    box-shadow: 0 4px 12px rgba(100, 108, 255, 0.15);
}

.theme-card.active {
    border-color: var(--primary-color, #646cff);
    background: rgba(100, 108, 255, 0.05);
    box-shadow: 0 4px 12px rgba(100, 108, 255, 0.2);
}

.theme-preview {
    width: 100%;
    height: 80px;
    border-radius: 8px;
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
}

.light-preview {
    background: #ffffff;
    border: 1px solid #e0e0e0;
}

.dark-preview {
    background: #1a1a1a;
    border: 1px solid #404040;
}

.system-preview {
    background: linear-gradient(90deg, #ffffff 50%, #1a1a1a 50%);
    border: 1px solid #888888;
}

.preview-header {
    height: 20px;
    margin-bottom: 8px;
}

.light-preview .preview-header {
    background: #f5f5f5;
}

.dark-preview .preview-header {
    background: #333333;
}

.system-preview .preview-header {
    background: linear-gradient(90deg, #f5f5f5 50%, #333333 50%);
}

.preview-content {
    padding: 0 8px;
}

.preview-text {
    height: 8px;
    border-radius: 4px;
    margin-bottom: 4px;
}

.preview-text.short {
    width: 60%;
}

.light-preview .preview-text {
    background: #e0e0e0;
}

.dark-preview .preview-text {
    background: #555555;
}

.system-preview .preview-text {
    background: linear-gradient(90deg, #e0e0e0 50%, #555555 50%);
}

.theme-info {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 4px 0;
}

.theme-info .material-icons {
    font-size: 24px;
    color: var(--primary-color, #646cff);
    margin-top: 2px;
}

.theme-info h3 {
    color: var(--text-color, #333333);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 4px 0;
}

.theme-info p {
    color: var(--secondary-text, #666666);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.4;
}

/* Language Grid */
.language-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.language-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px;
    border: 2px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    background: var(--card-background, #ffffff);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-color, #333333);
}

.language-card:hover {
    border-color: var(--primary-color, #646cff);
    background: rgba(100, 108, 255, 0.05);
}

.language-card.active {
    border-color: var(--primary-color, #646cff);
    background: rgba(100, 108, 255, 0.1);
    color: var(--primary-color, #646cff);
}

.language-flag {
    font-size: 18px;
}

.language-name {
    flex: 1;
}

.check-icon {
    font-size: 18px;
    color: var(--primary-color, #646cff);
}

/* Admin Section */
.admin-section {
    border-color: #dc3545;
}

.admin-section .section-header .material-icons {
    color: #dc3545;
}

.impersonation-warning {
    display: flex;
    gap: 12px;
    padding: 16px;
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid #ffc107;
    border-radius: 8px;
    margin-bottom: 24px;
}

.impersonation-warning .material-icons {
    color: #ffc107;
    font-size: 24px;
    margin-top: 2px;
}

.impersonation-warning strong {
    color: var(--text-color, #333333);
    display: block;
    margin-bottom: 4px;
}

.impersonation-warning p {
    color: var(--secondary-text, #666666);
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.impersonation-active {
    display: flex;
    gap: 12px;
    padding: 16px;
    background: rgba(76, 175, 80, 0.1);
    border: 1px solid #4caf50;
    border-radius: 8px;
    margin-bottom: 24px;
}

.impersonation-active .material-icons {
    color: #4caf50;
    font-size: 24px;
    margin-top: 2px;
}

.impersonation-active strong {
    color: var(--text-color, #333333);
    display: block;
    margin-bottom: 4px;
}

.impersonation-active p {
    color: var(--secondary-text, #666666);
    margin: 0 0 12px 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.stop-impersonation-button {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: #dc3545;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.stop-impersonation-button:hover {
    background: #c82333;
    transform: translateY(-1px);
}

.stop-impersonation-button .material-icons {
    font-size: 14px;
}

.role-test-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.role-card {
    border: 2px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    padding: 24px;
    background: var(--card-background, #ffffff);
    transition: all 0.2s ease;
}

.role-card:hover {
    border-color: var(--role-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.role-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    padding: 4px 0;
}

.role-icon {
    font-size: 24px;
}

.role-header h3 {
    color: var(--text-color, #333333);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
}

.role-actions {
    margin-bottom: 16px;
}

.test-button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    background: var(--role-color);
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100%;
    justify-content: center;
}

.test-button:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.test-button .material-icons {
    font-size: 16px;
}

.role-permissions {
    color: var(--secondary-text, #666666);
    font-size: 0.85rem;
    line-height: 1.4;
}

.role-permissions p {
    margin: 0;
}

/* Account Info */
.account-info {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.account-card {
    background: var(--card-background, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}

.card-header .material-icons {
    font-size: 24px;
    color: var(--primary-color, #646cff);
}

.card-header h3 {
    color: var(--text-color, #333333);
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
}

.info-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}

.info-row:last-child {
    border-bottom: none;
}

.info-label {
    font-weight: 600;
    color: var(--text-color, #333333);
    flex: 1;
}

.info-value {
    color: var(--secondary-text, #666666);
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    flex: 1;
    text-align: right;
}

.info-value.user-id {
    font-size: 0.85rem;
    word-break: break-all;
}

.info-value-with-status {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex: 1;
}

.verification-status {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.verification-status.verified {
    background: rgba(76, 175, 80, 0.1);
    color: #4caf50;
    border: 1px solid rgba(76, 175, 80, 0.3);
}

.verification-status.unverified {
    background: rgba(255, 152, 0, 0.1);
    color: #ff9800;
    border: 1px solid rgba(255, 152, 0, 0.3);
}

.verification-status .material-icons {
    font-size: 14px;
}

.role-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.role-badge.admin {
    background-color: #dc3545;
    color: white;
}

.role-badge.user {
    background-color: #007bff;
    color: white;
}

.role-badge.free {
    background-color: #ffc107;
    color: #212529;
}

.role-badge .material-icons {
    font-size: 14px;
}

.plan-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 16px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.plan-badge.user {
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: white;
}

.plan-badge.free {
    background: rgba(108, 117, 125, 0.1);
    color: #6c757d;
    border: 1px solid rgba(108, 117, 125, 0.3);
}

.status-active {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #4caf50;
    font-weight: 600;
}

.status-active .material-icons {
    font-size: 16px;
}

.upgrade-section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--border-light, #f0f0f0);
}

.upgrade-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 24px;
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.upgrade-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 123, 255, 0.3);
}

.upgrade-button .material-icons {
    font-size: 20px;
}

.security-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.security-button {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px;
    background: var(--card-background, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    width: 100%;
}

.security-button:hover {
    border-color: var(--primary-color, #646cff);
    background: rgba(100, 108, 255, 0.05);
}

.security-button.danger:hover {
    border-color: #dc3545;
    background: rgba(220, 53, 69, 0.05);
}

.security-button .material-icons:first-child {
    font-size: 24px;
    color: var(--primary-color, #646cff);
    flex-shrink: 0;
}

.security-button.danger .material-icons:first-child {
    color: #dc3545;
}

.security-button > div {
    flex: 1;
}

.security-button strong {
    display: block;
    color: var(--text-color, #333333);
    font-weight: 600;
    margin-bottom: 4px;
}

.security-button p {
    color: var(--secondary-text, #666666);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.4;
}

.security-button .material-icons:last-child {
    font-size: 20px;
    color: var(--secondary-text, #666666);
}

/* Dark Mode Support for New Elements */
body.dark-mode .account-card {
    background: var(--dark-card-background, #2d2d2d);
    border-color: var(--dark-border, #404040);
}

body.dark-mode .card-header {
    border-bottom-color: var(--dark-border-light, #333);
}

body.dark-mode .card-header h3,
body.dark-mode .info-label,
body.dark-mode .security-button strong {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .info-value,
body.dark-mode .security-button p {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .info-row {
    border-bottom-color: var(--dark-border-light, #333);
}

body.dark-mode .upgrade-section {
    border-top-color: var(--dark-border-light, #333);
}

body.dark-mode .security-button {
    background: var(--dark-card-background, #2d2d2d);
    border-color: var(--dark-border, #404040);
}

body.dark-mode .security-button:hover {
    background: rgba(144, 202, 249, 0.1);
}

body.dark-mode .security-button.danger:hover {
    background: rgba(220, 53, 69, 0.1);
}

body.dark-mode .verification-status.verified {
    background: rgba(76, 175, 80, 0.2);
    border-color: rgba(76, 175, 80, 0.4);
}

body.dark-mode .verification-status.unverified {
    background: rgba(255, 152, 0, 0.2);
    border-color: rgba(255, 152, 0, 0.4);
}

body.dark-mode .plan-badge.free {
    background: rgba(108, 117, 125, 0.2);
    border-color: rgba(108, 117, 125, 0.4);
}

/* Dark Mode Support */
body.dark-mode .settings-container {
    background: var(--dark-background, #1a1a1a);
}

body.dark-mode .settings-header h1,
body.dark-mode .section-header h2,
body.dark-mode .theme-info h3,
body.dark-mode .role-header h3 {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .settings-header p,
body.dark-mode .section-description,
body.dark-mode .theme-info p,
body.dark-mode .role-permissions p {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .settings-section,
body.dark-mode .theme-card,
body.dark-mode .language-card,
body.dark-mode .role-card {
    background: var(--dark-card-background, #2d2d2d);
    border-color: var(--dark-border, #404040);
}

body.dark-mode .theme-card.active,
body.dark-mode .language-card.active {
    background: rgba(144, 202, 249, 0.1);
}

body.dark-mode .language-card {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .impersonation-warning {
    background: rgba(255, 193, 7, 0.15);
    border-color: #ffc107;
}

body.dark-mode .impersonation-warning strong {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .impersonation-warning p {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .impersonation-active {
    background: rgba(76, 175, 80, 0.15);
    border-color: #4caf50;
}

body.dark-mode .impersonation-active strong {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .impersonation-active p {
    color: var(--dark-secondary-text, #aaa);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .settings-container {
        padding: 20px;
    }
    
    .settings-header h1 {
        font-size: 2rem;
    }
    
    .settings-section {
        padding: 28px;
    }
    
    .theme-options {
        grid-template-columns: 1fr;
    }
    
    .theme-card {
        padding: 20px;
    }
    
    .language-grid {
        grid-template-columns: 1fr;
    }
    
    .language-card {
        padding: 16px;
    }
    
    .role-test-grid {
        grid-template-columns: 1fr;
    }
    
    .role-card {
        padding: 20px;
    }
    
    .info-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 12px 0;
    }
    
    .info-value,
    .info-value-with-status {
        text-align: left;
    }
    
    .security-button {
        padding: 20px;
        gap: 16px;
    }
    
    .account-card {
        padding: 24px;
    }
    
    .card-header {
        gap: 12px;
        margin-bottom: 24px;
        padding-bottom: 20px;
    }
    
    .settings-content {
        gap: 32px;
    }
    
    .settings-header {
        margin-bottom: 32px;
    }
} .login-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    backdrop-filter: blur(4px);
}

.login-modal {
    background: white;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    max-width: 400px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(-20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.login-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 24px 0 24px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 24px;
}

.login-modal-header h2 {
    margin: 0;
    color: #333;
    font-size: 1.5rem;
    font-weight: 600;
}

.close-button {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
    padding: 4px;
    border-radius: 4px;
    transition: all 0.2s ease;
    line-height: 1;
}

.close-button:hover {
    background-color: #f5f5f5;
    color: #333;
}

.login-form {
    padding: 0 24px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    color: #333;
    font-weight: 500;
    font-size: 14px;
}

.form-group input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.form-group input:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.form-group input:invalid:not(:focus):not(:placeholder-shown) {
    border-color: #dc3545;
}

.error-message {
    background-color: #f8d7da;
    color: #721c24;
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    border: 1px solid #f5c6cb;
    font-size: 14px;
}

.submit-button {
    width: 100%;
    padding: 14px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 20px;
}

.submit-button:hover:not(:disabled) {
    background-color: #0056b3;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.submit-button:disabled {
    background-color: #6c757d;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.login-modal-footer {
    padding: 0 24px 24px 24px;
    text-align: center;
    border-top: 1px solid #e0e0e0;
    margin-top: 20px;
    padding-top: 20px;
}

.login-modal-footer p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.toggle-mode-button {
    background: none;
    border: none;
    color: #007bff;
    cursor: pointer;
    text-decoration: underline;
    font-size: 14px;
    transition: color 0.2s ease;
}

.toggle-mode-button:hover {
    color: #0056b3;
}

/* Role selection styles */
.role-selection {
    margin-bottom: 24px;
}

.role-selection h3 {
    margin: 0 0 16px 0;
    color: #333;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

.role-buttons {
    display: flex;
    gap: 12px;
    flex-direction: column;
}

.role-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    background: white;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.role-button:hover {
    border-color: #007bff;
    background-color: #f8f9fa;
}

.role-button.selected {
    border-color: #007bff;
    background-color: #e7f3ff;
}

.role-button strong {
    display: block;
    color: #333;
    font-size: 16px;
    margin-bottom: 4px;
}

.role-button span {
    color: #666;
    font-size: 13px;
    line-height: 1.3;
}

/* Role badge styles for future use */
.role-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.role-badge.admin {
    background-color: #dc3545;
    color: white;
}

.role-badge.user {
    background-color: #28a745;
    color: white;
}

.role-badge.free {
    background-color: #ffc107;
    color: #212529;
}

/* Responsive design */
@media (max-width: 480px) {
    .login-modal {
        width: 90%;
        margin: 20px;
    }

    .login-modal-header,
    .login-modal-footer {
        padding: 15px;
    }
}

.verification-message {
    padding: 20px;
    text-align: center;
}

.verification-message p {
    margin: 15px 0;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

.verification-message p:first-child {
    font-size: 16px;
    color: #333;
}

.verification-message strong {
    color: #007bff;
    font-weight: 600;
}

.verification-message .submit-button {
    margin-top: 20px;
    margin-bottom: 10px;
}

.verification-message .toggle-mode-button {
    margin-top: 10px;
    background: none;
    color: #007bff;
    padding: 8px 16px;
    font-size: 14px;
}

/* Dark Mode Styles */
body.dark-mode .login-modal {
    background-color: #2d2d2d;
    color: #e1e1e1;
}

body.dark-mode .login-modal-header {
    border-bottom-color: #404040;
}

body.dark-mode .login-modal-header h2 {
    color: #e1e1e1;
}

body.dark-mode .close-button {
    color: #aaa;
}

body.dark-mode .close-button:hover {
    background-color: #404040;
    color: #e1e1e1;
}

body.dark-mode .form-group label {
    color: #e1e1e1;
}

body.dark-mode .form-group input {
    background-color: #1a1a1a;
    border-color: #404040;
    color: #e1e1e1;
}

body.dark-mode .form-group input::placeholder {
    color: #888;
}

body.dark-mode .form-group input:focus {
    border-color: #66b3ff;
    box-shadow: 0 0 0 3px rgba(102, 179, 255, 0.1);
}

body.dark-mode .form-group input:invalid:not(:focus):not(:placeholder-shown) {
    border-color: #dc3545;
}

body.dark-mode .error-message {
    background-color: #4a1a1a;
    color: #f8d7da;
    border-color: #721c24;
}

body.dark-mode .submit-button {
    background-color: #0056b3;
}

body.dark-mode .submit-button:hover:not(:disabled) {
    background-color: #007bff;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
}

body.dark-mode .submit-button:disabled {
    background-color: #4a4a4a;
}

body.dark-mode .login-modal-footer {
    border-top-color: #404040;
}

body.dark-mode .login-modal-footer p {
    color: #aaa;
}

body.dark-mode .toggle-mode-button {
    color: #66b3ff;
}

body.dark-mode .toggle-mode-button:hover {
    color: #99ccff;
}

body.dark-mode .verification-message p {
    color: #aaa;
}

body.dark-mode .verification-message p:first-child {
    color: #e1e1e1;
}

body.dark-mode .verification-message strong {
    color: #66b3ff;
}

/* Role selection dark mode styles */
body.dark-mode .role-selection h3 {
    color: #e1e1e1;
}

body.dark-mode .role-button {
    background-color: #2d2d2d;
    border-color: #404040;
}

body.dark-mode .role-button:hover {
    border-color: #66b3ff;
    background-color: #353535;
}

body.dark-mode .role-button.selected {
    border-color: #66b3ff;
    background-color: #1a3a52;
}

body.dark-mode .role-button strong {
    color: #e1e1e1;
}

body.dark-mode .role-button span {
    color: #aaa;
} .profile-menu {
    position: relative;
    display: inline-block;
}

.profile-button {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    background: var(--background-color, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-color, #333333);
    transition: all 0.2s ease;
    min-width: 60px;
    justify-content: center;
    font-family: inherit;
}

.profile-button:hover {
    background: var(--hover-background, #f5f5f5);
    border-color: var(--hover-border, #d0d0d0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.profile-button .material-icons {
    font-size: 18px;
}



.profile-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--background-color, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    min-width: 280px;
    max-width: 320px;
    margin-top: 4px;
    animation: slideInFromTop 0.2s ease-out;
}

@keyframes slideInFromTop {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.profile-section {
    padding: 12px 0;
}

.profile-section:first-child {
    padding-top: 16px;
}

.profile-section:last-child {
    padding-bottom: 16px;
}

.profile-divider {
    height: 1px;
    background-color: var(--border-color, #e0e0e0);
    margin: 0 12px;
}

/* User Info Section */
.profile-user-info {
    padding: 0 16px;
}

.profile-username-display {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.profile-username-display .material-icons {
    font-size: 24px;
    color: var(--primary-color, #646cff);
}

.user-details .username {
    font-weight: 600;
    font-size: 16px;
    color: var(--text-color, #333);
}

.user-details .user-email {
    font-size: 12px;
    color: var(--secondary-text, #666);
    margin-top: 2px;
}

.profile-role {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.profile-role .material-icons {
    font-size: 16px;
}

.role-badge {
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.role-badge.admin {
    background-color: #ff5722;
    color: white;
}

.role-badge.user {
    background-color: #4caf50;
    color: white;
}

.role-badge.free {
    background-color: #9e9e9e;
    color: white;
}

/* Section Headers */
.profile-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--secondary-text, #666);
}

.profile-section-header .material-icons {
    font-size: 16px;
}

/* Language Options */
.language-options {
    padding: 0 8px;
}

.language-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 8px 12px;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-color, #333333);
    transition: background-color 0.2s ease;
    text-align: left;
    margin: 2px 0;
}

.language-option:hover {
    background: var(--hover-background, #f5f5f5);
}

.language-option.active {
    background: var(--active-background, #e3f2fd);
    color: var(--active-text, #1976d2);
    font-weight: 600;
}

.language-flag {
    font-size: 16px;
    min-width: 20px;
}

.language-name {
    flex: 1;
}

.language-option .material-icons {
    font-size: 16px;
    color: var(--active-text, #1976d2);
}

/* Menu Items */
.profile-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-color, #333333);
    transition: background-color 0.2s ease;
    text-align: left;
    font-family: inherit;
}

.profile-menu-item:hover {
    background: var(--hover-background, #f5f5f5);
}

.profile-menu-item .material-icons {
    font-size: 18px;
}

.profile-menu-item .action-icon {
    margin-left: auto;
    color: var(--secondary-text, #666);
    font-size: 16px;
}

.profile-menu-item span:nth-child(2) {
    flex: 1;
}

/* Special menu items */
.upgrade-item {
    color: var(--upgrade-color, #ff9800);
}

.upgrade-item .material-icons {
    color: var(--upgrade-color, #ff9800);
}

.logout-item {
    color: var(--error-color, #f44336);
}

.logout-item .material-icons {
    color: var(--error-color, #f44336);
}

.login-item {
    color: var(--primary-color, #646cff);
}

.login-item .material-icons {
    color: var(--primary-color, #646cff);
}

.signup-item {
    color: var(--success-color, #4caf50);
}

.signup-item .material-icons {
    color: var(--success-color, #4caf50);
}

/* Dark mode support */
body.dark-mode .profile-button,
body.dark-mode .profile-dropdown {
    background: var(--dark-background, #2d2d2d);
    border-color: var(--dark-border, #404040);
    color: var(--dark-text, #ffffff);
}

body.dark-mode .profile-button:hover {
    background: var(--dark-hover-background, #404040);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

body.dark-mode .profile-divider {
    background-color: var(--dark-border, #404040);
}



body.dark-mode .user-details .username {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .user-details .user-email {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .profile-section-header {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .language-option,
body.dark-mode .profile-menu-item {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .language-option:hover,
body.dark-mode .profile-menu-item:hover {
    background: var(--dark-hover-background, #404040);
}

body.dark-mode .language-option.active {
    background: var(--dark-active-background, #1565c0);
    color: var(--dark-active-text, #ffffff);
}

body.dark-mode .profile-menu-item .action-icon {
    color: var(--dark-secondary-text, #aaa);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .profile-button {
        padding: 6px 10px;
        font-size: 13px;
        min-width: 100px;
    }
    
    .profile-dropdown {
        min-width: 250px;
        max-width: 280px;
        right: -10px;
    }
    
    .profile-menu-item {
        padding: 10px 14px;
        font-size: 13px;
    }
    
    .language-option {
        padding: 6px 10px;
        font-size: 13px;
    }
    

}

/* Focus styles for accessibility */
.profile-button:focus,
.language-option:focus,
.profile-menu-item:focus {
    outline: 2px solid var(--primary-color, #646cff);
    outline-offset: 2px;
}

body.dark-mode .profile-button:focus,
body.dark-mode .language-option:focus,
body.dark-mode .profile-menu-item:focus {
    outline-color: var(--dark-primary-color, #90caf9);
} .settings-menu {
    position: relative;
    display: inline-block;
}

.settings-button {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    background: var(--background-color, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-color, #333333);
    transition: all 0.2s ease;
    min-width: 60px;
    justify-content: center;
    font-family: inherit;
}

.settings-button:hover {
    background: var(--hover-background, #f5f5f5);
    border-color: var(--hover-border, #d0d0d0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.settings-button .material-icons {
    font-size: 18px;
}

.settings-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--background-color, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    min-width: 280px;
    max-width: 320px;
    margin-top: 4px;
    animation: slideInFromTop 0.2s ease-out;
}

@keyframes slideInFromTop {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.settings-section {
    padding: 12px 0;
}

.settings-section:first-child {
    padding-top: 16px;
}

.settings-section:last-child {
    padding-bottom: 16px;
}

.settings-divider {
    height: 1px;
    background-color: var(--border-color, #e0e0e0);
    margin: 0 12px;
}

/* Section Headers */
.settings-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--secondary-text, #666);
}

.settings-section-header .material-icons {
    font-size: 16px;
}

/* Language Options */
.language-options {
    padding: 0 8px;
}

.language-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 8px 12px;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-color, #333333);
    transition: background-color 0.2s ease;
    text-align: left;
    margin: 2px 0;
}

.language-option:hover {
    background: var(--hover-background, #f5f5f5);
}

.language-option.active {
    background: var(--active-background, #e3f2fd);
    color: var(--active-text, #1976d2);
    font-weight: 600;
}

.language-flag {
    font-size: 16px;
    min-width: 20px;
}

.language-name {
    flex: 1;
}

.language-option .material-icons {
    font-size: 16px;
    color: var(--active-text, #1976d2);
}

/* Theme Options */
.theme-options {
    padding: 0 8px;
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 8px 12px;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-color, #333333);
    transition: background-color 0.2s ease;
    text-align: left;
    margin: 2px 0;
    font-family: inherit;
}

.theme-option:hover {
    background: var(--hover-background, #f5f5f5);
}

.theme-option.active {
    background: var(--active-background, #e3f2fd);
    color: var(--active-text, #1976d2);
    font-weight: 600;
}

.theme-option .material-icons {
    font-size: 18px;
}

.theme-option .material-icons.check-icon {
    font-size: 16px;
    color: var(--active-text, #1976d2);
}

.theme-option span:nth-child(2) {
    flex: 1;
}

/* Menu Items */
.settings-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-color, #333333);
    transition: background-color 0.2s ease;
    text-align: left;
    font-family: inherit;
}

.settings-menu-item:hover {
    background: var(--hover-background, #f5f5f5);
}

.settings-menu-item .material-icons {
    font-size: 18px;
}

.settings-menu-item .action-icon {
    margin-left: auto;
    color: var(--secondary-text, #666);
    font-size: 16px;
}

.settings-menu-item span:nth-child(2) {
    flex: 1;
}

/* Dark mode support */
body.dark-mode .settings-button,
body.dark-mode .settings-dropdown {
    background: var(--dark-background, #2d2d2d);
    border-color: var(--dark-border, #404040);
    color: var(--dark-text, #ffffff);
}

body.dark-mode .settings-button:hover {
    background: var(--dark-hover-background, #404040);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

body.dark-mode .settings-divider {
    background-color: var(--dark-border, #404040);
}

body.dark-mode .settings-section-header {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .language-option,
body.dark-mode .settings-menu-item {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .language-option:hover,
body.dark-mode .settings-menu-item:hover {
    background: var(--dark-hover-background, #404040);
}

body.dark-mode .language-option.active {
    background: var(--dark-active-background, #1565c0);
    color: var(--dark-active-text, #ffffff);
}

body.dark-mode .theme-option,
body.dark-mode .settings-menu-item {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .theme-option:hover,
body.dark-mode .settings-menu-item:hover {
    background: var(--dark-hover-background, #404040);
}

body.dark-mode .theme-option.active {
    background: var(--dark-active-background, #1565c0);
    color: var(--dark-active-text, #ffffff);
}

body.dark-mode .theme-option .material-icons.check-icon {
    color: var(--dark-active-text, #ffffff);
}

body.dark-mode .settings-menu-item .action-icon {
    color: var(--dark-secondary-text, #aaa);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .settings-button {
        padding: 6px 8px;
        font-size: 13px;
        min-width: 50px;
    }
    
    .settings-dropdown {
        min-width: 250px;
        max-width: 280px;
        right: -10px;
    }
    
    .settings-menu-item {
        padding: 10px 14px;
        font-size: 13px;
    }
    
    .language-option {
        padding: 6px 10px;
        font-size: 13px;
    }
}

/* Focus styles for accessibility */
.settings-button:focus,
.language-option:focus,
.settings-menu-item:focus {
    outline: 2px solid var(--primary-color, #646cff);
    outline-offset: 2px;
}

body.dark-mode .settings-button:focus,
body.dark-mode .language-option:focus,
body.dark-mode .settings-menu-item:focus {
    outline-color: var(--dark-primary-color, #90caf9);
} /* Cookie Banner Styles */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  animation: slideUp 0.3s ease-out;
}

.cookie-banner-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
  z-index: -1;
}

.cookie-banner-content {
  background: white;
  padding: 24px;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
  border-top: 1px solid #e2e8f0;
  max-height: 90vh;
  overflow-y: auto;
}

.cookie-banner-header h3 {
  margin: 0 0 12px 0;
  font-size: 1.375rem;
  font-weight: 600;
  color: #1a202c;
}

.cookie-banner-header p {
  margin: 0 0 20px 0;
  color: #4a5568;
  line-height: 1.6;
  font-size: 0.95rem;
}

/* Cookie Details */
.cookie-details {
  background: #f7fafc;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  border: 1px solid #e2e8f0;
}

.cookie-category {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2e8f0;
}

.cookie-category:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.cookie-category-header {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.cookie-toggle {
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.cookie-toggle input[type="checkbox"] {
  display: none;
}

.toggle-slider {
  position: relative;
  width: 44px;
  height: 24px;
  background: #cbd5e0;
  border-radius: 12px;
  margin-right: 12px;
  transition: background-color 0.2s ease;
  flex-shrink: 0;
}

.toggle-slider::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.cookie-toggle input[type="checkbox"]:checked + .toggle-slider {
  background: #667eea;
}

.cookie-toggle input[type="checkbox"]:checked + .toggle-slider::after {
  transform: translateX(20px);
}

.cookie-toggle input[type="checkbox"]:disabled + .toggle-slider {
  background: #a0aec0;
  cursor: not-allowed;
}

.cookie-toggle input[type="checkbox"]:disabled + .toggle-slider::after {
  background: #e2e8f0;
}

.cookie-category-title {
  font-weight: 600;
  color: #2d3748;
  font-size: 0.95rem;
}

.cookie-category-description {
  margin: 0;
  color: #4a5568;
  font-size: 0.875rem;
  line-height: 1.5;
  padding-left: 56px;
}

/* Cookie Banner Actions */
.cookie-banner-actions {
  display: flex;
  gap: 12px;
  margin: 24px 0 16px 0;
  flex-wrap: wrap;
  justify-content: center;
}

.cookie-btn {
  padding: 12px 24px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  min-width: 120px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cookie-btn-accept-all {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.cookie-btn-accept-all:hover {
  background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.cookie-btn-necessary {
  background: #f7fafc;
  color: #4a5568;
  border: 1px solid #e2e8f0;
}

.cookie-btn-necessary:hover {
  background: #edf2f7;
  border-color: #cbd5e0;
}

.cookie-btn-settings {
  background: transparent;
  color: #667eea;
  border: 1px solid #667eea;
}

.cookie-btn-settings:hover {
  background: #667eea;
  color: white;
}

.cookie-btn-save {
  background: #48bb78;
  color: white;
}

.cookie-btn-save:hover {
  background: #38a169;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(72, 187, 120, 0.3);
}

.cookie-btn-back {
  background: #e2e8f0;
  color: #4a5568;
}

.cookie-btn-back:hover {
  background: #cbd5e0;
}

/* Cookie Banner Links */
.cookie-banner-links {
  text-align: center;
  margin-top: 16px;
  font-size: 0.875rem;
}

.cookie-banner-links a {
  color: #667eea;
  text-decoration: none;
  margin: 0 8px;
  transition: color 0.2s ease;
}

.cookie-banner-links a:hover {
  color: #5a67d8;
  text-decoration: underline;
}

.cookie-banner-links span {
  color: #a0aec0;
  margin: 0 4px;
}

/* Dark Mode Support */
body.dark-mode .cookie-banner-content {
  background: #2d3748;
  border-top-color: #4a5568;
  color: #e2e8f0;
}

body.dark-mode .cookie-banner-header h3 {
  color: #e2e8f0;
}

body.dark-mode .cookie-banner-header p {
  color: #cbd5e0;
}

body.dark-mode .cookie-details {
  background: #4a5568;
  border-color: #718096;
}

body.dark-mode .cookie-category {
  border-bottom-color: #718096;
}

body.dark-mode .cookie-category-title {
  color: #e2e8f0;
}

body.dark-mode .cookie-category-description {
  color: #cbd5e0;
}

body.dark-mode .cookie-btn-necessary {
  background: #4a5568;
  color: #e2e8f0;
  border-color: #718096;
}

body.dark-mode .cookie-btn-necessary:hover {
  background: #718096;
}

body.dark-mode .cookie-btn-back {
  background: #4a5568;
  color: #e2e8f0;
}

body.dark-mode .cookie-btn-back:hover {
  background: #718096;
}

body.dark-mode .cookie-banner-links a {
  color: #90cdf4;
}

body.dark-mode .cookie-banner-links a:hover {
  color: #63b3ed;
}

body.dark-mode .cookie-banner-links span {
  color: #718096;
}

/* Animations */
@keyframes slideUp {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .cookie-banner-content {
    padding: 20px 16px;
  }
  
  .cookie-banner-actions {
    flex-direction: column;
    align-items: stretch;
  }
  
  .cookie-btn {
    width: 100%;
    margin-bottom: 8px;
  }
  
  .cookie-category-description {
    padding-left: 0;
    margin-top: 8px;
  }
  
  .cookie-toggle {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .toggle-slider {
    margin-right: 0;
    margin-bottom: 8px;
  }
}

@media (max-width: 480px) {
  .cookie-banner-content {
    padding: 16px 12px;
  }
  
  .cookie-banner-header h3 {
    font-size: 1.25rem;
  }
  
  .cookie-details {
    padding: 16px;
  }
} .system-info-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(4px);
}

.system-info-popup {
    background: var(--background-color, #ffffff);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    max-width: 600px;
    width: 100%;
    max-height: 80vh;
    overflow: hidden;
    animation: slideInFromCenter 0.3s ease-out;
}

@keyframes slideInFromCenter {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(-20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.system-info-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    background: var(--header-background, #f8f9fa);
}

.system-info-header h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--text-color, #333333);
}

.system-info-header h2 .material-icons {
    font-size: 24px;
    color: var(--primary-color, #646cff);
}

.close-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 6px;
    color: var(--secondary-text, #666);
    transition: all 0.2s ease;
    width: 36px;
    height: 36px;
}

.close-button:hover {
    background: var(--hover-background, #f0f0f0);
    color: var(--text-color, #333);
}

.close-button .material-icons {
    font-size: 20px;
}

.system-info-content {
    padding: 24px;
    overflow-y: auto;
    max-height: calc(80vh - 100px);
}

.system-info-grid {
    display: grid;
    gap: 16px;
    margin-bottom: 24px;
}

.system-info-item {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 16px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}

.system-info-item:last-child {
    border-bottom: none;
}

.system-info-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    color: var(--secondary-text, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.system-info-label .material-icons {
    font-size: 16px;
    color: var(--primary-color, #646cff);
}

.system-info-value {
    font-size: 14px;
    color: var(--text-color, #333);
    word-break: break-word;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    background: var(--code-background, #f5f5f5);
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid var(--border-light, #e0e0e0);
}

.system-info-footer {
    border-top: 1px solid var(--border-color, #e0e0e0);
    padding-top: 20px;
    margin-top: 20px;
}

.build-info {
    text-align: center;
    color: var(--secondary-text, #666);
}

.app-name {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color, #646cff);
    margin: 0 0 8px 0;
}

.build-details {
    font-size: 13px;
    margin: 0;
    color: var(--secondary-text, #888);
}

/* Dark mode support */
body.dark-mode .system-info-overlay {
    background-color: rgba(0, 0, 0, 0.7);
}

body.dark-mode .system-info-popup {
    background: var(--dark-background, #2d2d2d);
    color: var(--dark-text, #ffffff);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

body.dark-mode .system-info-header {
    border-bottom-color: var(--dark-border, #404040);
    background: var(--dark-header-background, #1a1a1a);
}

body.dark-mode .system-info-header h2 {
    color: var(--dark-text, #ffffff);
}

body.dark-mode .close-button {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .close-button:hover {
    background: var(--dark-hover-background, #404040);
    color: var(--dark-text, #ffffff);
}

body.dark-mode .system-info-item {
    border-bottom-color: var(--dark-border-light, #333);
}

body.dark-mode .system-info-label {
    color: var(--dark-secondary-text, #aaa);
}

body.dark-mode .system-info-value {
    color: var(--dark-text, #ffffff);
    background: var(--dark-code-background, #1a1a1a);
    border-color: var(--dark-border, #404040);
}

body.dark-mode .system-info-footer {
    border-top-color: var(--dark-border, #404040);
}

body.dark-mode .app-name {
    color: var(--dark-primary-color, #90caf9);
}

body.dark-mode .build-details {
    color: var(--dark-secondary-text, #aaa);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .system-info-overlay {
        padding: 16px;
    }
    
    .system-info-popup {
        max-height: 90vh;
        border-radius: 8px;
    }
    
    .system-info-header {
        padding: 16px 20px;
    }
    
    .system-info-header h2 {
        font-size: 18px;
    }
    
    .system-info-content {
        padding: 20px;
    }
    
    .system-info-item {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 16px 0;
    }
    
    .system-info-label {
        font-size: 13px;
        justify-content: flex-start;
    }
    
    .system-info-value {
        font-size: 13px;
        padding: 8px 12px;
        min-height: 40px;
        display: flex;
        align-items: center;
    }
}

@media (max-width: 480px) {
    .system-info-overlay {
        padding: 8px;
    }
    
    .system-info-popup {
        max-height: 95vh;
        border-radius: 6px;
    }
    
    .system-info-header {
        padding: 12px 16px;
    }
    
    .system-info-content {
        padding: 16px;
    }
    
    .system-info-value {
        font-size: 11px;
        word-break: break-all;
        line-height: 1.4;
    }
}

/* Focus styles for accessibility */
.close-button:focus {
    outline: 2px solid var(--primary-color, #646cff);
    outline-offset: 2px;
}

body.dark-mode .close-button:focus {
    outline-color: var(--dark-primary-color, #90caf9);
} .impersonation-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: linear-gradient(135deg, #ff9800, #ff6f00);
    border-bottom: 2px solid #e65100;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    animation: slideDown 0.3s ease-out;
}

.impersonation-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    max-width: 1200px;
    margin: 0 auto;
    gap: 16px;
}

.impersonation-info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.impersonation-icon {
    font-size: 24px;
    color: white !important;
    animation: pulse 2s infinite;
}

.impersonation-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.impersonation-label {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.impersonation-role {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: white;
}

.role-icon {
    font-size: 16px;
}

.stop-impersonation-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    backdrop-filter: blur(10px);
}

.stop-impersonation-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-1px);
}

.stop-impersonation-btn:active {
    transform: translateY(0);
}

.stop-impersonation-btn .material-icons {
    font-size: 16px;
}

.btn-text {
    display: inline;
}

/* Animations */
@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .impersonation-banner {
        padding: 10px 16px;
        gap: 12px;
    }
    
    .impersonation-icon {
        font-size: 20px;
    }
    
    .impersonation-label {
        font-size: 11px;
    }
    
    .impersonation-role {
        font-size: 13px;
    }
    
    .btn-text {
        display: none;
    }
    
    .stop-impersonation-btn {
        padding: 8px 12px;
        min-width: 44px;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .impersonation-banner {
        padding: 8px 12px;
        gap: 8px;
    }
    
    .impersonation-info {
        gap: 8px;
    }
    
    .impersonation-text {
        gap: 1px;
    }
    
    .impersonation-label {
        font-size: 10px;
    }
    
    .impersonation-role {
        font-size: 12px;
        gap: 4px;
    }
    
    .role-icon {
        font-size: 14px;
    }
}

/* Dark mode support */
body.dark-mode .impersonation-overlay {
    background: linear-gradient(135deg, #e65100, #bf360c);
    border-bottom-color: #8d2f00;
}

body.dark-mode .stop-impersonation-btn {
    background: rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.2);
}

body.dark-mode .stop-impersonation-btn:hover {
    background: rgba(0, 0, 0, 0.4);
    border-color: rgba(255, 255, 255, 0.3);
}

/* Accessibility */
.stop-impersonation-btn:focus {
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
}

/* Ensure content below the overlay is not hidden */
body.impersonating {
    padding-top: 60px;
}

@media (max-width: 768px) {
    body.impersonating {
        padding-top: 56px;
    }
}

@media (max-width: 480px) {
    body.impersonating {
        padding-top: 52px;
    }
} .trial-banner {
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-left: 4px solid;
  animation: slideDown 0.3s ease-out;
}

.trial-banner.trial-active {
  background: linear-gradient(135deg, #e3f2fd, #f0f8ff);
  border-left-color: #2196f3;
  color: #1565c0;
}

.trial-banner.trial-expired {
  background: linear-gradient(135deg, #ffebee, #ffeaa7);
  border-left-color: #f44336;
  color: #c62828;
}

.trial-banner-content {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.trial-icon {
  font-size: 24px;
  flex-shrink: 0;
}

.trial-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.trial-days {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.trial-days strong {
  font-size: 16px;
  font-weight: 600;
}

.trial-days span {
  font-size: 14px;
  opacity: 0.8;
}

.trial-searches {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
}

.search-reset-time {
  opacity: 0.7;
  font-style: italic;
}

.trial-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.trial-upgrade-btn {
  background: linear-gradient(135deg, #4caf50, #45a049);
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
}

.trial-upgrade-btn:hover {
  background: linear-gradient(135deg, #45a049, #4caf50);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(76, 175, 80, 0.4);
}

.trial-banner-dismiss {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  padding: 4px;
  color: inherit;
  opacity: 0.6;
  transition: opacity 0.2s ease;
  border-radius: 4px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trial-banner-dismiss:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
}

/* Status colors for days remaining */
.days-critical {
  color: #d32f2f !important;
  animation: pulse 2s infinite;
}

.days-warning {
  color: #f57c00 !important;
}

.days-normal {
  color: #1976d2 !important;
}

/* Status colors for search remaining */
.searches-critical {
  color: #d32f2f !important;
  font-weight: 600;
}

.searches-warning {
  color: #f57c00 !important;
  font-weight: 500;
}

.searches-normal {
  color: #388e3c !important;
}

/* Animations */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* Responsive design */
@media (max-width: 768px) {
  .trial-banner {
    padding: 10px 12px;
    margin-bottom: 12px;
  }

  .trial-banner-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .trial-info {
    width: 100%;
  }

  .trial-actions {
    width: 100%;
    justify-content: space-between;
  }

  .trial-icon {
    font-size: 20px;
  }

  .trial-days strong {
    font-size: 15px;
  }

  .trial-upgrade-btn {
    flex: 1;
    justify-content: center;
    display: flex;
  }
}

@media (max-width: 480px) {
  .trial-banner {
    padding: 8px 10px;
    border-radius: 6px;
  }

  .trial-banner-content {
    gap: 6px;
  }

  .trial-searches {
    font-size: 12px;
  }

  .trial-upgrade-btn {
    padding: 6px 12px;
    font-size: 13px;
  }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .trial-banner.trial-active {
    background: linear-gradient(135deg, #1e3a8a, #1e40af);
    color: #93c5fd;
  }

  .trial-banner.trial-expired {
    background: linear-gradient(135deg, #7f1d1d, #991b1b);
    color: #fca5a5;
  }

  .trial-upgrade-btn {
    background: linear-gradient(135deg, #059669, #047857);
    box-shadow: 0 2px 4px rgba(5, 150, 105, 0.3);
  }

  .trial-upgrade-btn:hover {
    background: linear-gradient(135deg, #047857, #059669);
    box-shadow: 0 4px 8px rgba(5, 150, 105, 0.4);
  }

  .trial-banner-dismiss:hover {
    background: rgba(255, 255, 255, 0.1);
  }
} /* Bottom Navigation - Mobile Only */
.bottom-navigation {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #ffffff;
  border-top: 1px solid #e0e0e0;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(0);
  transition: transform 0.3s ease-in-out;
  display: none; /* Hidden by default, shown only on mobile */
}

.bottom-navigation.hidden {
  transform: translateY(100%);
}

.bottom-navigation.visible {
  transform: translateY(0);
}

.bottom-nav-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 8px 0;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.bottom-nav-container::-webkit-scrollbar {
  display: none;
}

.bottom-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #666;
  padding: 6px 8px;
  border-radius: 8px;
  transition: all 0.2s ease;
  min-width: 60px;
  flex: 1;
  max-width: 80px;
  /* Optimize for thumb interaction */
  min-height: 56px;
  position: relative;
}

.bottom-nav-item:hover {
  color: #333;
  background-color: rgba(0, 0, 0, 0.05);
}

.bottom-nav-item.active {
  color: #646cff;
  background-color: rgba(100, 108, 255, 0.1);
}

.bottom-nav-icon {
  font-size: 22px;
  margin-bottom: 2px;
  line-height: 1;
}

.bottom-nav-label {
  font-size: 10px;
  font-weight: 500;
  text-align: center;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Dark mode support */
body.dark-mode .bottom-navigation {
  background-color: #2d2d2d;
  border-top-color: #404040;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.3);
}

body.dark-mode .bottom-nav-item {
  color: #aaa;
}

body.dark-mode .bottom-nav-item:hover {
  color: #e1e1e1;
  background-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .bottom-nav-item.active {
  color: #66b2ff;
  background-color: rgba(102, 178, 255, 0.15);
}

/* Show bottom navigation only on mobile devices */
@media (max-width: 768px) {
  .bottom-navigation {
    display: block;
  }

  /* Add bottom padding to body to account for bottom navigation */
  body {
    padding-bottom: 70px;
  }
}

/* Compact design for smaller screens */
@media (max-width: 480px) {
  .bottom-nav-container {
    padding: 6px 0;
  }

  .bottom-nav-item {
    min-height: 52px;
    padding: 4px 6px;
    min-width: 50px;
    max-width: 70px;
  }

  .bottom-nav-icon {
    font-size: 20px;
  }

  .bottom-nav-label {
    font-size: 9px;
  }

  body {
    padding-bottom: 65px;
  }
}

/* Special handling for very wide screens on mobile (landscape) */
@media (max-width: 768px) and (min-width: 600px) and (orientation: landscape) {
  .bottom-nav-item {
    max-width: 100px;
  }

  .bottom-nav-label {
    font-size: 11px;
  }
}

/* Ensure content doesn't get hidden behind bottom navigation */
@media (max-width: 768px) {
  .table-container {
    margin-bottom: 80px;
    max-height: calc(100vh - 160px);
  }

  .container {
    padding-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .table-container {
    margin-bottom: 75px;
    max-height: calc(100vh - 150px);
  }
}

/* Animation for better UX */
.bottom-nav-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #646cff;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

.bottom-nav-item.active::before {
  width: 30px;
}

body.dark-mode .bottom-nav-item::before {
  background-color: #66b2ff;
}

/* Ripple effect for better touch feedback */
.bottom-nav-item {
  overflow: hidden;
}

.bottom-nav-item::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background-color: rgba(100, 108, 255, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.5s ease;
  opacity: 0;
  pointer-events: none;
}

.bottom-nav-item:active::after {
  width: 60px;
  height: 60px;
  opacity: 1;
  transition: all 0.2s ease;
}

body.dark-mode .bottom-nav-item::after {
  background-color: rgba(102, 178, 255, 0.3);
}

/* Accessibility improvements */
.bottom-nav-item:focus {
  outline: 2px solid #646cff;
  outline-offset: 2px;
}

body.dark-mode .bottom-nav-item:focus {
  outline-color: #66b2ff;
}

/* Safe area support for devices with notches/home indicators */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .bottom-navigation {
    padding-bottom: env(safe-area-inset-bottom);
  }

  @media (max-width: 768px) {
    body {
      padding-bottom: calc(70px + env(safe-area-inset-bottom));
    }
  }

  @media (max-width: 480px) {
    body {
      padding-bottom: calc(65px + env(safe-area-inset-bottom));
    }
  }
}.upgrade-button-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 280px;
}

/* Button Styles */
.upgrade-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Button Sizes */
.upgrade-button--small {
    padding: 8px 16px;
    font-size: 14px;
    min-height: 36px;
}

.upgrade-button--medium {
    padding: 12px 24px;
    font-size: 16px;
    min-height: 44px;
}

.upgrade-button--large {
    padding: 16px 32px;
    font-size: 18px;
    min-height: 52px;
}

/* Button Variants */
.upgrade-button--primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.upgrade-button--primary:hover:not(:disabled) {
    background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.upgrade-button--secondary {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    color: white;
}

.upgrade-button--secondary:hover:not(:disabled) {
    background: linear-gradient(135deg, #ed64a6 0%, #e53e3e 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(240, 147, 251, 0.4);
}

.upgrade-button--outlined {
    background: transparent;
    color: #667eea;
    border: 2px solid #667eea;
}

.upgrade-button--outlined:hover:not(:disabled) {
    background: #667eea;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

/* Disabled State */
.upgrade-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Icon Styles */
.upgrade-icon {
    font-size: 1.2em;
    animation: sparkle 2s ease-in-out infinite;
}

@keyframes sparkle {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.1) rotate(5deg); }
}

/* Loading Spinner */
.upgrade-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top: 2px solid white;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Error Message */
.upgrade-error {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #fed7d7;
    color: #c53030;
    border-radius: 6px;
    font-size: 14px;
    border: 1px solid #feb2b2;
}

.error-icon {
    flex-shrink: 0;
}

/* Benefits Section */
.upgrade-benefits {
    background: #f7fafc;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.upgrade-benefits-title {
    margin: 0 0 8px 0;
    font-weight: 600;
    color: #2d3748;
    font-size: 14px;
}

.upgrade-benefits-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.upgrade-benefits-list li {
    margin: 4px 0;
    font-size: 13px;
    color: #4a5568;
}

/* Dark Mode Support */
body.dark-mode .upgrade-benefits {
    background: #2d3748;
    border-color: #4a5568;
}

body.dark-mode .upgrade-benefits-title {
    color: #e2e8f0;
}

body.dark-mode .upgrade-benefits-list li {
    color: #cbd5e0;
}

body.dark-mode .upgrade-error {
    background: #742a2a;
    color: #fed7d7;
    border-color: #c53030;
}

body.dark-mode .upgrade-button--outlined {
    color: #90cdf4;
    border-color: #90cdf4;
}

body.dark-mode .upgrade-button--outlined:hover:not(:disabled) {
    background: #90cdf4;
    color: #1a202c;
}

/* Responsive */
@media (max-width: 768px) {
    .upgrade-button-container {
        max-width: 100%;
    }
    
    .upgrade-button {
        width: 100%;
        justify-content: center;
    }
    
    .upgrade-benefits {
        padding: 12px;
    }
}

/* Focus States for Accessibility */
.upgrade-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3);
}

.upgrade-button:focus:not(:focus-visible) {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.upgrade-button:focus-visible {
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3);
} /* Landing Page Styles */
.landing-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.hero-section {
    text-align: center;
    padding: 40px 0 60px 0;
}

.hero-section h1 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-subtitle {
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 60px;
}

.feature-card {
    background: var(--card-background);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: #28a745;
}

.feature-icon {
    font-size: 2.5rem;
    margin-bottom: 15px;
    display: block;
}

.feature-card h3 {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--text-primary);
}

.feature-card p {
    color: var(--text-secondary);
    line-height: 1.6;
    margin: 0;
}

.cta-section {
    text-align: center;
    padding: 40px 0;
    background: var(--card-background);
    border-radius: 16px;
    border: 1px solid var(--border-color);
    margin-bottom: 40px;
}

.cta-section h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: var(--text-primary);
}

.cta-section > p {
    font-size: 1.2rem;
    color: var(--text-secondary);
    margin-bottom: 40px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.landing-page .primary-button, 
.landing-page .secondary-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    font-size: 1.1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    min-width: 180px;
    justify-content: center;
}

.landing-page .primary-button {
    background: #28a745 !important;
    color: white !important;
}

.landing-page .primary-button:hover {
    background: #1e7e34 !important;
    color: white !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.4);
}

.landing-page .secondary-button {
    background: transparent !important;
    color: #007bff !important;
    border: 2px solid #007bff !important;
}

.landing-page .secondary-button:hover {
    background: #007bff !important;
    color: white !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
}

.button-icon {
    font-size: 1.2rem;
}

.material-icons.button-icon {
    font-size: 1.2rem;
    vertical-align: middle;
}

.feature-icon .material-icons {
    font-size: 2.5rem;
    color: #28a745;
    vertical-align: middle;
}

.features-preview {
    max-width: 600px;
    margin: 0 auto;
}

.features-preview h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--text-primary);
}

.preview-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    text-align: left;
}

.preview-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    color: var(--text-primary);
}

.check {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.material-icons.check {
    font-size: 1.5rem;
    color: #28a745;
    flex-shrink: 0;
    vertical-align: middle;
}



/* Dark mode adjustments */
@media (prefers-color-scheme: dark) {
    .feature-card {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    }
    
    .feature-card:hover {
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    }
    
    .landing-page .primary-button:hover {
        box-shadow: 0 4px 15px rgba(40, 167, 69, 0.6);
    }
    
    .landing-page .secondary-button:hover {
        box-shadow: 0 4px 15px rgba(0, 123, 255, 0.5);
    }
}

/* Tablet and larger mobile screens */
@media (max-width: 900px) and (min-width: 769px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .feature-card {
        padding: 18px;
    }

    .feature-icon {
        font-size: 2.2rem;
        margin-bottom: 12px;
    }

    .feature-icon .material-icons {
        font-size: 2.2rem;
    }

    .feature-card h3 {
        font-size: 1.25rem;
    }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .hero-section {
        padding: 30px 0 40px 0;
    }

    .hero-section h1 {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 40px;
    }
    
    .feature-card {
        padding: 16px;
        border-radius: 8px;
    }

    .feature-icon {
        font-size: 2rem;
        margin-bottom: 10px;
    }

    .feature-icon .material-icons {
        font-size: 2rem;
    }

    .feature-card h3 {
        font-size: 1.2rem;
        margin-bottom: 8px;
    }

    .feature-card p {
        font-size: 0.95rem;
        line-height: 1.4;
    }
    
    .cta-section {
        padding: 30px 20px;
    }
    
    .cta-section h2 {
        font-size: 2rem;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
        padding: 0 10px;
    }
    
    .landing-page .primary-button, 
    .landing-page .secondary-button {
        width: 100%;
        max-width: 250px;
    }
    
    .preview-items {
        grid-template-columns: 1fr;
    }
}

/* Medium mobile screens */
@media (max-width: 600px) and (min-width: 481px) {
    .features-grid {
        gap: 11px;
    }

    .feature-card {
        padding: 15px;
    }

    .feature-icon {
        font-size: 1.9rem;
        margin-bottom: 9px;
    }

    .feature-icon .material-icons {
        font-size: 1.9rem;
    }

    .feature-card h3 {
        font-size: 1.15rem;
        margin-bottom: 7px;
    }

    .feature-card p {
        font-size: 0.92rem;
        line-height: 1.35;
    }
}

/* Extra small screens (phones in portrait) */
@media (max-width: 480px) {
    .landing-page {
        padding: 0 12px;
    }

    .hero-section {
        padding: 20px 0 30px 0;
    }

    .hero-section h1 {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: 1rem;
        padding: 0 10px;
    }

    .features-grid {
        gap: 10px;
        margin-bottom: 30px;
    }

    .feature-card {
        padding: 14px;
        border-radius: 6px;
    }

    .feature-icon {
        font-size: 1.8rem;
        margin-bottom: 8px;
    }

    .feature-icon .material-icons {
        font-size: 1.8rem;
    }

    .feature-card h3 {
        font-size: 1.1rem;
        margin-bottom: 6px;
    }

    .feature-card p {
        font-size: 0.9rem;
        line-height: 1.3;
    }

    .cta-section {
        padding: 20px 15px;
    }

    .cta-section h2 {
        font-size: 1.8rem;
    }

    .cta-buttons {
        padding: 0 5px;
    }

    .landing-page .primary-button,
    .landing-page .secondary-button {
        max-width: 220px;
        padding: 12px 20px;
        font-size: 1rem;
    }
}

/* Mobile landscape optimization */
@media (max-width: 900px) and (orientation: landscape) {
    .hero-section {
        padding: 20px 0 30px 0;
    }

    .features-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
        margin-bottom: 30px;
    }

    .feature-card {
        padding: 16px;
    }

    .feature-icon {
        font-size: 2rem;
        margin-bottom: 8px;
    }

    .feature-icon .material-icons {
        font-size: 2rem;
    }

    .feature-card h3 {
        font-size: 1.1rem;
        margin-bottom: 6px;
    }

    .feature-card p {
        font-size: 0.85rem;
        line-height: 1.3;
    }
} .privacy-policy-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    line-height: 1.6;
    color: var(--text-color, #333);
    background-color: var(--background-color, #fff);
}

.privacy-policy-content {
    background-color: var(--card-background, #fff);
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* Header */
.privacy-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 40px;
    text-align: center;
}

.privacy-header h1 {
    margin: 0 0 10px 0;
    font-size: 2.5rem;
    font-weight: 700;
}

.last-updated {
    opacity: 0.9;
    font-size: 1rem;
    margin: 0;
}

/* Navigation */
.privacy-nav {
    background-color: var(--nav-background, #f8f9fa);
    padding: 30px 40px;
    border-bottom: 1px solid var(--border-color, #e9ecef);
}

.privacy-nav h3 {
    margin: 0 0 20px 0;
    color: var(--heading-color, #2c3e50);
    font-size: 1.3rem;
}

.privacy-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
}

.privacy-nav li {
    margin: 0;
}

.privacy-nav a {
    color: var(--link-color, #007bff);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 6px;
    display: block;
    transition: all 0.2s ease;
    font-weight: 500;
}

.privacy-nav a:hover {
    background-color: var(--link-hover-background, #e3f2fd);
    color: var(--link-hover-color, #0056b3);
    transform: translateX(4px);
}

/* Main Content */
.privacy-main {
    padding: 40px;
}

.privacy-section {
    margin-bottom: 50px;
    scroll-margin-top: 80px; /* Account for fixed header if any */
}

.privacy-section h2 {
    color: var(--heading-color, #2c3e50);
    font-size: 2rem;
    margin: 0 0 25px 0;
    padding-bottom: 12px;
    border-bottom: 3px solid var(--accent-color, #667eea);
    position: relative;
}

.privacy-section h3 {
    color: var(--subheading-color, #34495e);
    font-size: 1.4rem;
    margin: 30px 0 15px 0;
    font-weight: 600;
}

.privacy-section h4 {
    color: var(--subheading-color, #495057);
    font-size: 1.2rem;
    margin: 20px 0 10px 0;
    font-weight: 600;
}

.privacy-section p {
    margin-bottom: 16px;
    text-align: justify;
}

.privacy-section ul, .privacy-section ol {
    margin: 16px 0;
    padding-left: 24px;
}

.privacy-section li {
    margin-bottom: 8px;
}

/* Cookie Categories */
.cookie-category {
    background-color: var(--card-background, #f8f9fa);
    border-left: 4px solid var(--accent-color, #667eea);
    padding: 20px;
    margin: 20px 0;
    border-radius: 0 8px 8px 0;
}

.cookie-category h4 {
    margin-top: 0;
    color: var(--accent-color, #667eea);
}

/* Third Party Services */
.third-party-service {
    background-color: var(--service-background, #fff);
    border: 1px solid var(--border-color, #e9ecef);
    border-radius: 8px;
    padding: 24px;
    margin: 20px 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.third-party-service h3 {
    margin-top: 0;
    color: var(--service-title-color, #495057);
    font-size: 1.3rem;
}

.third-party-service a {
    color: var(--link-color, #007bff);
    text-decoration: none;
    word-break: break-all;
}

.third-party-service a:hover {
    text-decoration: underline;
}

/* Data Retention Table */
.retention-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background-color: var(--table-background, #fff);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.retention-table th,
.retention-table td {
    padding: 16px;
    text-align: left;
    border-bottom: 1px solid var(--border-color, #e9ecef);
}

.retention-table th {
    background-color: var(--table-header-background, #667eea);
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
}

.retention-table tr:hover {
    background-color: var(--table-row-hover, #f8f9fa);
}

.retention-table tr:last-child td {
    border-bottom: none;
}

/* Rights Grid */
.rights-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin: 30px 0;
}

.right-item {
    background-color: var(--card-background, #fff);
    border: 1px solid var(--border-color, #e9ecef);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.right-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.right-item h3 {
    margin-top: 0;
    color: var(--accent-color, #667eea);
    font-size: 1.2rem;
}

.right-action {
    display: inline-block;
    background-color: var(--button-background, #667eea);
    color: white;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 500;
    margin-top: 12px;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
    font-size: 0.95rem;
}

.right-action:hover {
    background-color: var(--button-hover-background, #5a6fd8);
    transform: translateY(-1px);
    color: white;
    text-decoration: none;
}

/* Consent Management */
.consent-management {
    background-color: var(--highlight-background, #e3f2fd);
    border: 2px solid var(--accent-color, #667eea);
    border-radius: 12px;
    padding: 24px;
    margin: 30px 0;
    text-align: center;
}

.consent-button {
    background-color: var(--accent-color, #667eea);
    color: white;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 16px;
}

.consent-button:hover {
    background-color: var(--button-hover-background, #5a6fd8);
    transform: translateY(-1px);
}

/* Contact Info */
.contact-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin: 30px 0;
}

.contact-method {
    background-color: var(--contact-background, #f8f9fa);
    border-radius: 8px;
    padding: 20px;
    border-left: 4px solid var(--accent-color, #667eea);
}

.contact-method h3 {
    margin-top: 0;
    color: var(--accent-color, #667eea);
}

.contact-method a {
    color: var(--link-color, #007bff);
    text-decoration: none;
    font-weight: 500;
}

.contact-method a:hover {
    text-decoration: underline;
}

/* Footer */
.privacy-footer {
    background-color: var(--footer-background, #2c3e50);
    color: white;
    padding: 30px 40px;
    text-align: center;
}

.privacy-footer p {
    margin: 0 0 20px 0;
    opacity: 0.9;
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.footer-links a {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: opacity 0.2s ease;
}

.footer-links a:hover {
    opacity: 0.8;
    text-decoration: underline;
}

/* Dark Mode Support */
body.dark-mode .privacy-policy-container {
    --text-color: #e9ecef;
    --background-color: #121212;
    --card-background: #1e1e1e;
    --nav-background: #2d2d2d;
    --border-color: #404040;
    --heading-color: #ffffff;
    --subheading-color: #b0b0b0;
    --accent-color: #667eea;
    --link-color: #4fc3f7;
    --link-hover-color: #29b6f6;
    --link-hover-background: #263238;
    --button-background: #667eea;
    --button-hover-background: #5a6fd8;
    --table-background: #1e1e1e;
    --table-header-background: #667eea;
    --table-row-hover: #2d2d2d;
    --service-background: #1e1e1e;
    --service-title-color: #e9ecef;
    --highlight-background: #263238;
    --contact-background: #2d2d2d;
    --footer-background: #1a1a1a;
}

/* Responsive Design */
@media (max-width: 768px) {
    .privacy-policy-container {
        padding: 10px;
    }

    .privacy-header {
        padding: 30px 20px;
    }

    .privacy-header h1 {
        font-size: 2rem;
    }

    .privacy-nav {
        padding: 20px;
    }

    .privacy-nav ul {
        grid-template-columns: 1fr;
    }

    .privacy-main {
        padding: 20px;
    }

    .privacy-section h2 {
        font-size: 1.6rem;
    }

    .rights-grid {
        grid-template-columns: 1fr;
    }

    .retention-table {
        font-size: 0.9rem;
    }

    .retention-table th,
    .retention-table td {
        padding: 12px 8px;
    }

    .contact-info {
        grid-template-columns: 1fr;
    }

    .footer-links {
        flex-direction: column;
        gap: 15px;
    }

    .privacy-footer {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .privacy-header h1 {
        font-size: 1.8rem;
    }

    .privacy-section h2 {
        font-size: 1.4rem;
    }

    .retention-table th,
    .retention-table td {
        padding: 8px 6px;
        font-size: 0.85rem;
    }

    .right-item {
        padding: 16px;
    }
}

/* Print Styles */
@media print {
    .privacy-policy-container {
        box-shadow: none;
        max-width: none;
        margin: 0;
        padding: 0;
        color: black;
        background: white;
    }

    .privacy-nav {
        display: none;
    }

    .privacy-header {
        background: none;
        color: black;
        border-bottom: 2px solid black;
    }

    .privacy-section {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .right-action,
    .consent-button {
        display: none;
    }

    .footer-links {
        display: none;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .privacy-nav a,
    .right-item,
    .right-action,
    .consent-button {
        transition: none;
    }
}

/* Focus Styles */
.privacy-nav a:focus,
.right-action:focus,
.consent-button:focus {
    outline: 2px solid var(--accent-color, #667eea);
    outline-offset: 2px;
}

/* Selection Styles */
::selection {
    background-color: var(--accent-color, #667eea);
    color: white;
} /* Imprint Page Styles - Based on PrivacyPolicy.css */

.imprint-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    padding-bottom: 4rem;
    background-color: var(--background-color, #ffffff);
    color: var(--text-color, #333333);
    min-height: 100vh;
}

.imprint-content {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 3rem;
    margin-top: 2rem;
}

.imprint-header {
    grid-column: 1 / -1;
    border-bottom: 2px solid var(--border-color, #e0e0e0);
    padding-bottom: 1.5rem;
    margin-bottom: 2rem;
}

.imprint-header h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: var(--primary-color, #2c3e50);
}

.last-updated {
    font-size: 0.9rem;
    color: var(--text-secondary, #666666);
    font-style: italic;
    margin: 0;
}

.imprint-nav {
    position: sticky;
    top: 2rem;
    height: fit-content;
    background-color: var(--card-background, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    padding: 1.5rem;
}

.imprint-nav h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: var(--primary-color, #2c3e50);
}

.imprint-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.imprint-nav li {
    margin-bottom: 0.5rem;
}

.imprint-nav a {
    text-decoration: none;
    color: var(--link-color, #3498db);
    font-size: 0.9rem;
    display: block;
    padding: 0.25rem 0;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.imprint-nav a:hover {
    color: var(--link-hover-color, #2980b9);
    background-color: var(--hover-background, rgba(52, 152, 219, 0.1));
    padding-left: 0.5rem;
}

.imprint-main {
    max-width: none;
}

.imprint-section {
    margin-bottom: 3rem;
    background-color: var(--card-background, #ffffff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    padding: 2rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.imprint-section h2 {
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0 0 1.5rem 0;
    color: var(--primary-color, #2c3e50);
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    padding-bottom: 0.5rem;
}

.imprint-section h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 2rem 0 1rem 0;
    color: var(--secondary-color, #34495e);
}

.imprint-section p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1rem;
    color: var(--text-color, #333333);
}

.imprint-section p:last-child {
    margin-bottom: 0;
}

.imprint-section strong {
    font-weight: 600;
    color: var(--primary-color, #2c3e50);
}

.imprint-section a {
    color: var(--link-color, #3498db);
    text-decoration: none;
    transition: color 0.2s ease;
}

.imprint-section a:hover {
    color: var(--link-hover-color, #2980b9);
    text-decoration: underline;
}

.imprint-footer {
    grid-column: 1 / -1;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 2px solid var(--border-color, #e0e0e0);
    text-align: center;
}

.imprint-footer p {
    font-size: 0.9rem;
    color: var(--text-secondary, #666666);
    margin-bottom: 1rem;
}

.footer-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.footer-links a {
    color: var(--link-color, #3498db);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.footer-links a:hover {
    color: var(--link-hover-color, #2980b9);
    text-decoration: underline;
}

.footer-separator {
    color: var(--text-secondary, #666666);
    font-size: 0.9rem;
}

/* Responsive Design */
@media (max-width: 768px) {
    .imprint-container {
        padding: 1rem;
    }

    .imprint-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .imprint-nav {
        position: static;
        order: -1;
    }

    .imprint-header h1 {
        font-size: 2rem;
    }

    .imprint-section {
        padding: 1.5rem;
    }

    .imprint-section h2 {
        font-size: 1.5rem;
    }

    .footer-links {
        flex-direction: column;
        gap: 1rem;
    }

    .footer-separator {
        display: none;
    }
}

@media (max-width: 480px) {
    .imprint-container {
        padding: 0.5rem;
    }

    .imprint-section {
        padding: 1rem;
    }

    .imprint-header h1 {
        font-size: 1.75rem;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .imprint-container {
        --background-color: #1a1a1a;
        --text-color: #e0e0e0;
        --text-secondary: #b0b0b0;
        --primary-color: #64b5f6;
        --secondary-color: #90caf9;
        --link-color: #64b5f6;
        --link-hover-color: #42a5f5;
        --card-background: #2d2d2d;
        --border-color: #404040;
        --hover-background: rgba(100, 181, 246, 0.1);
    }
}/* Container and Header */
.container {
    padding: 80px 20px 20px 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.experiments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.experiments-header h1 {
    margin: 0;
    color: var(--text-primary);
}

.experiments-stats {
    display: flex;
    gap: 20px;
    color: var(--text-secondary);
}

.header-spacer {
    flex: 1;
    /*min-width: 20px;*/
    min-height: 50px;
}

.stat {
    font-size: 0.9em;
}

/* Loading state */
.loading {
    text-align: center;
    padding: 40px;
    color: var(--text-secondary);
}

.experiments-controls {
    margin-bottom: 20px;
}

.filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.filters-header h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.1em;
}

.clear-filters-btn {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85em;
    transition: background-color 0.2s ease;
}

.clear-filters-btn:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05));
}

.filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    width: 100%;
}

.filters select {
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}

/* Table Styles */
.experiments-table-container {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow-x: auto;
    margin-bottom: 20px;
}

.experiments-table {
    width: 100%;
    border-collapse: collapse;
}

.experiments-table th {
    background-color: var(--bg-primary);
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-color);
}

.experiments-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-primary);
}

.experiments-table tr:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.02));
}

.experiments-table tr:last-child td {
    border-bottom: none;
}

/* Cell Styles */
.experiment-id-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.experiment-icon {
    font-size: 1.2em;
}

.provider-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    color: white;
    font-size: 0.85em;
    font-weight: 500;
}

.tags-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.tag-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 8px;
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    font-size: 0.75em;
    font-weight: 500;
}

.no-tags {
    color: var(--text-secondary);
    font-style: italic;
}

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

.actions-cell {
    display: flex;
    gap: 8px;
}

.action-button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.action-button:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05));
}

.action-button.edit:hover {
    background-color: rgba(66, 153, 225, 0.1);
}

.action-button.delete:hover {
    background-color: rgba(245, 101, 101, 0.1);
}

.no-data {
    text-align: center;
    padding: 40px;
    color: var(--text-secondary);
    font-style: italic;
}

.variant-tag, .config-tag {
    background-color: var(--bg-primary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    border: 1px solid var(--border-color);
    margin-right: 8px;
    margin-bottom: 4px;
}

.experiment-provider {
    padding: 4px 12px;
    border-radius: 20px;
    color: white;
    font-size: 0.85em;
    font-weight: 500;
}

.config-items, .metrics-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 5px;
}

.metric-item {
    background-color: var(--bg-secondary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    border: 1px solid var(--border-color);
}

.experiment-results {
    background-color: var(--bg-primary);
    padding: 10px;
    border-radius: 4px;
    font-size: 0.9em;
}

.result-item {
    margin-top: 5px;
    color: var(--text-secondary);
}

.experiment-actions {
    display: flex;
    gap: 10px;
}

.experiment-actions button {
    padding: 6px 16px;
}

/* Form Styles */
.experiment-form {
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    color: var(--text-primary);
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.variants-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
}

.variant-form {
    display: grid;
    grid-template-columns: 1fr 1fr 100px auto auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    background-color: var(--bg-primary);
    border-radius: 4px;
}

.variant-form input[type="checkbox"] {
    width: auto;
    margin-right: 5px;
}

.variant-form label {
    display: flex;
    align-items: center;
    margin: 0;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}

/* Experiment Row Hover */
.experiment-row {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.experiment-row:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05)) !important;
}

/* Detail View Styles */
.experiment-detail-modal {
    max-width: 900px;
    max-height: 90vh;
    width: 90%;
    overflow-y: auto;
    padding: 0;
    background-color: var(--bg-secondary) !important;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 1001;
}

.detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--bg-primary) !important;
    position: sticky;
    top: 0;
    z-index: 10;
    border-radius: 8px 8px 0 0;
}

.detail-header h2 {
    margin: 0;
    color: var(--text-primary);
}

.close-button {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 1.5em;
    padding: 4px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.close-button:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05));
    color: var(--text-primary);
}

.detail-content {
    padding: 20px 30px;
    background-color: var(--bg-secondary) !important;
}

.detail-section {
    margin-bottom: 30px;
}

.detail-section h3 {
    margin: 0 0 15px 0;
    color: var(--text-primary);
    font-size: 1.1em;
    font-weight: 600;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 8px;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    margin-bottom: 15px;
}

.detail-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.detail-item.full-width {
    grid-column: 1 / -1;
}

.detail-item label {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-item span {
    color: var(--text-primary);
    font-size: 0.95em;
}

.endpoint-text {
    word-break: break-all;
    font-family: monospace;
    font-size: 0.85em !important;
}

.technical-text {
    font-family: monospace;
    font-size: 0.85em !important;
    color: var(--text-secondary) !important;
}

.tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.prompt-text, .json-text {
    background-color: var(--bg-primary);
    padding: 12px;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    font-family: monospace;
    font-size: 0.85em;
    line-height: 1.4;
    color: var(--text-primary);
    white-space: pre-wrap;
    word-wrap: break-word;
    max-height: 200px;
    overflow-y: auto;
    margin-top: 4px;
}

.property-confidence {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.property-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    background-color: var(--bg-primary);
    border-radius: 4px;
    border: 1px solid var(--border-color);
}

.property-name {
    font-size: 0.85em;
    color: var(--text-secondary);
    text-transform: capitalize;
}

.property-value {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9em;
}

.detail-footer {
    padding: 20px 30px;
    border-top: 1px solid var(--border-color);
    background-color: var(--bg-primary) !important;
    display: flex;
    justify-content: flex-end;
    position: sticky;
    bottom: 0;
    border-radius: 0 0 8px 8px;
}

/* Button Styles */
.primary-button {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}

.primary-button:hover:not(:disabled) {
    background-color: var(--primary-hover);
}

.primary-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.secondary-button {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}

.secondary-button:hover {
    background-color: var(--bg-primary);
}

.danger-button {
    background-color: #f44336;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}

.danger-button:hover:not(:disabled) {
    background-color: #d32f2f;
}

.danger-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.danger-button.small {
    padding: 4px 8px;
    font-size: 0.9em;
}

/* Modal Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.45) !important; /* slightly lighter for better contrast */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    backdrop-filter: blur(2px);
}

.modal-content,
.experiment-detail-modal {
    background-color: #fff !important; /* ensure fully opaque background for light mode */
    /* For dark mode, you may want to use: background-color: #23272f !important; */
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    position: relative;
    z-index: 1001;
}

@media (prefers-color-scheme: dark) {
  .modal-content,
  .experiment-detail-modal {
    background-color: #23272f !important;
  }
}

/* Pagination Styles */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.pagination-btn {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
    transition: background-color 0.2s ease;
}

.pagination-btn:hover:not(:disabled) {
    background-color: var(--bg-primary);
}

.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-info {
    color: var(--text-secondary);
    font-size: 0.9em;
}

/* Responsive */
@media (max-width: 768px) {
    .filters {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    
    .filters-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .clear-filters-btn {
        align-self: stretch;
        width: 100%;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .variant-form {
        grid-template-columns: 1fr;
    }

    .experiment-info {
        flex-direction: column;
        gap: 5px;
    }

    .experiment-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    /* Detail view responsive styles */
    .experiment-detail-modal {
        width: 95%;
        max-height: 95vh;
    }

    .detail-header,
    .detail-content,
    .detail-footer {
        padding: 15px 20px;
    }

    .detail-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .property-confidence {
        grid-template-columns: 1fr;
    }

    .tags-container {
        gap: 4px;
    }

    .prompt-text, .json-text {
        font-size: 0.8em;
        padding: 10px;
    }
}.typeahead-dropdown {
  position: relative;
  width: 100%;
}

.typeahead-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.typeahead-input {
  width: 100%;
  padding: 8px 32px 8px 12px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease;
}

.typeahead-input:focus {
  border-color: var(--primary-color);
}

.typeahead-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.typeahead-clear-btn {
  position: absolute;
  right: 8px;
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 18px;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
  transition: color 0.2s ease;
}

.typeahead-clear-btn:hover {
  color: var(--text-primary);
}

.typeahead-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background-color: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  max-height: 300px;
  overflow-y: auto;
  z-index: 1000;
}

.typeahead-option {
  padding: 8px 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  color: var(--text-primary);
}

.typeahead-option:hover {
  background-color: var(--bg-hover, rgba(0, 0, 0, 0.05));
}

.typeahead-option:first-child {
  border-radius: 4px 4px 0 0;
}

.typeahead-option:last-child {
  border-radius: 0 0 4px 4px;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .typeahead-dropdown-menu {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  }
}.select-wrapper {
  position: relative;
  width: 100%;
}

.select-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease;
  cursor: pointer;
  appearance: none;
  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 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 8px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 32px;
}

.select-input:focus {
  border-color: var(--primary-color);
}

.select-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .select-input {
    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='%9ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  }
} /* Import base experiments styles */
/* Container and Header */
.container {
    padding: 80px 20px 20px 20px;
    max-width: 1400px;
    margin: 0 auto;
}
.experiments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
.experiments-header h1 {
    margin: 0;
    color: var(--text-primary);
}
.experiments-stats {
    display: flex;
    gap: 20px;
    color: var(--text-secondary);
}
.header-spacer {
    flex: 1;
    /*min-width: 20px;*/
    min-height: 50px;
}
.stat {
    font-size: 0.9em;
}
/* Loading state */
.loading {
    text-align: center;
    padding: 40px;
    color: var(--text-secondary);
}
.experiments-controls {
    margin-bottom: 20px;
}
.filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.filters-header h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.1em;
}
.clear-filters-btn {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85em;
    transition: background-color 0.2s ease;
}
.clear-filters-btn:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05));
}
.filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    width: 100%;
}
.filters select {
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}
/* Table Styles */
.experiments-table-container {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow-x: auto;
    margin-bottom: 20px;
}
.experiments-table {
    width: 100%;
    border-collapse: collapse;
}
.experiments-table th {
    background-color: var(--bg-primary);
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-color);
}
.experiments-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-primary);
}
.experiments-table tr:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.02));
}
.experiments-table tr:last-child td {
    border-bottom: none;
}
/* Cell Styles */
.experiment-id-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}
.experiment-icon {
    font-size: 1.2em;
}
.provider-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    color: white;
    font-size: 0.85em;
    font-weight: 500;
}
.tags-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.tag-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 8px;
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    font-size: 0.75em;
    font-weight: 500;
}
.no-tags {
    color: var(--text-secondary);
    font-style: italic;
}
.text-center {
    text-align: center;
}
.actions-cell {
    display: flex;
    gap: 8px;
}
.action-button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
}
.action-button:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05));
}
.action-button.edit:hover {
    background-color: rgba(66, 153, 225, 0.1);
}
.action-button.delete:hover {
    background-color: rgba(245, 101, 101, 0.1);
}
.no-data {
    text-align: center;
    padding: 40px;
    color: var(--text-secondary);
    font-style: italic;
}
.variant-tag, .config-tag {
    background-color: var(--bg-primary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    border: 1px solid var(--border-color);
    margin-right: 8px;
    margin-bottom: 4px;
}
.experiment-provider {
    padding: 4px 12px;
    border-radius: 20px;
    color: white;
    font-size: 0.85em;
    font-weight: 500;
}
.config-items, .metrics-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 5px;
}
.metric-item {
    background-color: var(--bg-secondary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    border: 1px solid var(--border-color);
}
.experiment-results {
    background-color: var(--bg-primary);
    padding: 10px;
    border-radius: 4px;
    font-size: 0.9em;
}
.result-item {
    margin-top: 5px;
    color: var(--text-secondary);
}
.experiment-actions {
    display: flex;
    gap: 10px;
}
.experiment-actions button {
    padding: 6px 16px;
}
/* Form Styles */
.experiment-form {
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
}
.form-group {
    margin-bottom: 20px;
}
.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    color: var(--text-primary);
}
.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
}
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.variants-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
}
.variant-form {
    display: grid;
    grid-template-columns: 1fr 1fr 100px auto auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    background-color: var(--bg-primary);
    border-radius: 4px;
}
.variant-form input[type="checkbox"] {
    width: auto;
    margin-right: 5px;
}
.variant-form label {
    display: flex;
    align-items: center;
    margin: 0;
}
.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}
/* Experiment Row Hover */
.experiment-row {
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.experiment-row:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05)) !important;
}
/* Detail View Styles */
.experiment-detail-modal {
    max-width: 900px;
    max-height: 90vh;
    width: 90%;
    overflow-y: auto;
    padding: 0;
    background-color: var(--bg-secondary) !important;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 1001;
}
.detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--bg-primary) !important;
    position: sticky;
    top: 0;
    z-index: 10;
    border-radius: 8px 8px 0 0;
}
.detail-header h2 {
    margin: 0;
    color: var(--text-primary);
}
.close-button {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 1.5em;
    padding: 4px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}
.close-button:hover {
    background-color: var(--bg-hover, rgba(0, 0, 0, 0.05));
    color: var(--text-primary);
}
.detail-content {
    padding: 20px 30px;
    background-color: var(--bg-secondary) !important;
}
.detail-section {
    margin-bottom: 30px;
}
.detail-section h3 {
    margin: 0 0 15px 0;
    color: var(--text-primary);
    font-size: 1.1em;
    font-weight: 600;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 8px;
}
.detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    margin-bottom: 15px;
}
.detail-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.detail-item.full-width {
    grid-column: 1 / -1;
}
.detail-item label {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.detail-item span {
    color: var(--text-primary);
    font-size: 0.95em;
}
.endpoint-text {
    word-break: break-all;
    font-family: monospace;
    font-size: 0.85em !important;
}
.technical-text {
    font-family: monospace;
    font-size: 0.85em !important;
    color: var(--text-secondary) !important;
}
.tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}
.prompt-text, .json-text {
    background-color: var(--bg-primary);
    padding: 12px;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    font-family: monospace;
    font-size: 0.85em;
    line-height: 1.4;
    color: var(--text-primary);
    white-space: pre-wrap;
    word-wrap: break-word;
    max-height: 200px;
    overflow-y: auto;
    margin-top: 4px;
}
.property-confidence {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin-top: 8px;
}
.property-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    background-color: var(--bg-primary);
    border-radius: 4px;
    border: 1px solid var(--border-color);
}
.property-name {
    font-size: 0.85em;
    color: var(--text-secondary);
    text-transform: capitalize;
}
.property-value {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9em;
}
.detail-footer {
    padding: 20px 30px;
    border-top: 1px solid var(--border-color);
    background-color: var(--bg-primary) !important;
    display: flex;
    justify-content: flex-end;
    position: sticky;
    bottom: 0;
    border-radius: 0 0 8px 8px;
}
/* Button Styles */
.primary-button {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}
.primary-button:hover:not(:disabled) {
    background-color: var(--primary-hover);
}
.primary-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.secondary-button {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}
.secondary-button:hover {
    background-color: var(--bg-primary);
}
.danger-button {
    background-color: #f44336;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}
.danger-button:hover:not(:disabled) {
    background-color: #d32f2f;
}
.danger-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.danger-button.small {
    padding: 4px 8px;
    font-size: 0.9em;
}
/* Modal Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.45) !important; /* slightly lighter for better contrast */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    backdrop-filter: blur(2px);
}
.modal-content,
.experiment-detail-modal {
    background-color: #fff !important; /* ensure fully opaque background for light mode */
    /* For dark mode, you may want to use: background-color: #23272f !important; */
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    position: relative;
    z-index: 1001;
}
@media (prefers-color-scheme: dark) {
  .modal-content,
  .experiment-detail-modal {
    background-color: #23272f !important;
  }
}
/* Pagination Styles */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}
.pagination-btn {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
    transition: background-color 0.2s ease;
}
.pagination-btn:hover:not(:disabled) {
    background-color: var(--bg-primary);
}
.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.pagination-info {
    color: var(--text-secondary);
    font-size: 0.9em;
}
/* Responsive */
@media (max-width: 768px) {
    .filters {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    
    .filters-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .clear-filters-btn {
        align-self: stretch;
        width: 100%;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .variant-form {
        grid-template-columns: 1fr;
    }

    .experiment-info {
        flex-direction: column;
        gap: 5px;
    }

    .experiment-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    /* Detail view responsive styles */
    .experiment-detail-modal {
        width: 95%;
        max-height: 95vh;
    }

    .detail-header,
    .detail-content,
    .detail-footer {
        padding: 15px 20px;
    }

    .detail-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .property-confidence {
        grid-template-columns: 1fr;
    }

    .tags-container {
        gap: 4px;
    }

    .prompt-text, .json-text {
        font-size: 0.8em;
        padding: 10px;
    }
}
/* Override container to use full width for Report Experiments */
.container {
    padding: 10px;
    padding-right: 10px; /* Add extra padding on the right to prevent cutoff */
    max-width: none;
    margin: 0;
    width: 100%;
    box-sizing: border-box; /* Ensure padding is included in width calculation */
}
/* Ensure table uses full available width */
.experiments-table-container {
    margin-bottom: 20px;
    width: 100%;
}
.experiments-table {
    width: 100%;
    min-width: 1200px; /* Ensure minimum width for all columns to be readable */
}
/* Detail View Enhancements */
.detail-subtitle {
    color: var(--text-secondary);
    font-size: 1.1rem;
    margin: 0.5rem 0 2rem 0;
    font-style: italic;
}
/* Unified Header Layout */
.detail-header-unified {
    padding: 0 2rem;
    margin-bottom: 2rem;
}
.detail-header-nav {
    margin-bottom: 1.5rem;
}
.back-button {
    margin: 0;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
}
.detail-header-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--border-color);
}
.detail-title-section {
    flex: 1;
    min-width: 0; /* Allows text truncation if needed */
}
.detail-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 0.5rem 0;
    line-height: 1.2;
    word-wrap: break-word;
}
.detail-author {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin: 0;
    font-style: italic;
    font-weight: 400;
}
.detail-action-section {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
    flex-shrink: 0;
}
.document-action-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--primary-color);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
}
.document-action-button:hover {
    background: var(--primary-color-dark, var(--primary-color));
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    color: white;
}
.document-action-button .material-icons {
    font-size: 1.1rem;
}
.document-action-button .material-icons:last-child {
    font-size: 0.9rem;
    opacity: 0.8;
}
.document-meta {
    color: var(--text-secondary);
    font-size: 0.85rem;
    text-align: right;
    max-width: 200px;
    word-break: break-all;
    line-height: 1.3;
}
/* Remove old document link styles */
.document-link-container,
.document-link-button,
.document-filename {
    /* These are now replaced by the new unified header */
    display: none;
}
/* Responsive Design for Header */
@media (max-width: 1024px) {
    .detail-header-content {
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
    }
    
    .detail-action-section {
        align-items: stretch;
    }
    
    .document-action-button {
        align-self: flex-start;
    }
    
    .document-meta {
        text-align: left;
        max-width: none;
    }
}
@media (max-width: 768px) {
    .detail-content-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .detail-grid-metrics {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    
    .metric-value {
        font-size: 1.2rem;
    }
    
    .raw-data-buttons {
        flex-direction: column;
    }
    
    .raw-data-buttons .secondary-button {
        width: 100%;
    }
    
    /* Responsive top spacing */
    .detail-top-spacer {
        height: 1rem; /* Smaller spacing on mobile */
    }
    
    /* Header specific mobile styles are handled above */
    .detail-header-unified {
        padding: 0 1rem;
    }
    
    .detail-title {
        font-size: 1.5rem;
    }
    
    .detail-author {
        font-size: 1rem;
    }
    
    .document-action-button {
        padding: 0.6rem 1.2rem;
        font-size: 0.9rem;
        width: 100%;
        justify-content: center;
    }
    
    .document-meta {
        font-size: 0.8rem;
    }
}
/* Multi-column grid layout */
.detail-content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}
/* Full-width content with bottom spacing */
.detail-content-full {
    width: 100%;
    padding-bottom: 3rem; /* Add substantial bottom padding */
}
/* Experiment detail container bottom spacing */
.experiment-detail-fullpage-container {
    padding-bottom: 2rem; /* Ensure container has bottom padding */
    min-height: 100vh; /* Ensure full viewport height */
}
/* Top spacer for proper viewport spacing */
.detail-top-spacer {
    height: 2rem; /* Add 2rem space from top of viewport */
}
/* Additional spacing for the last section */
.detail-section:last-child {
    margin-bottom: 2rem;
}
/* Wide grid for text content */
.detail-grid-wide {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.detail-item-wide {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.detail-item-wide label {
    font-weight: 600;
    color: var(--text-primary);
}
.detail-text-content {
    background: var(--background-secondary);
    padding: 1rem;
    border-radius: 8px;
    border-left: 4px solid var(--primary-color);
    line-height: 1.6;
}
.detail-text-content ul {
    margin: 0;
    padding-left: 1.5rem;
}
.detail-text-content li {
    margin-bottom: 0.5rem;
}
/* Metrics grid for usage statistics */
.detail-grid-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}
.metric-card {
    background: var(--background-secondary);
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
    border: 1px solid var(--border-color);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.metric-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.metric-card label {
    display: block;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
    font-weight: 500;
}
.metric-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-color);
}
/* Raw data buttons */
.raw-data-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.raw-data-buttons .secondary-button {
    margin: 0;
}
/* Responsive design */
@media (max-width: 1200px) {
    .detail-content-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 768px) {
    .detail-content-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .detail-grid-metrics {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    
    .metric-value {
        font-size: 1.2rem;
    }
    
    .raw-data-buttons {
        flex-direction: column;
    }
    
    .raw-data-buttons .secondary-button {
        width: 100%;
    }

    /* Responsive adjustments for document link */
    .document-link-container {
        margin: 1rem 0;
        padding: 0.75rem;
    }
    
    .document-link-button {
        padding: 0.6rem 1.2rem;
        font-size: 0.9rem;
    }
    
    /* Responsive top spacing */
    .detail-top-spacer {
        height: 1rem; /* Smaller spacing on mobile */
    }
}
/* Enhanced modal styling */
.modal-content {
    max-width: 90vw;
    max-height: 90vh;
}
.modal-content h3 {
    color: var(--primary-color);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-color);
}
/* Property confidence styling enhancements */
.property-confidence {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}
.property-item {
    background: var(--background-secondary);
    padding: 1rem;
    border-radius: 8px;
    border-left: 4px solid var(--primary-color);
}
.property-name {
    font-weight: 600;
    color: var(--primary-color);
    display: block;
    margin-bottom: 0.5rem;
}
.property-value {
    color: var(--text-primary);
    line-height: 1.5;
}
.property-value small {
    color: var(--text-secondary);
    margin-top: 0.5rem;
    display: block;
}
/* Detail item enhancements */
.detail-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-light);
}
.detail-item:last-child {
    border-bottom: none;
}
.detail-item label {
    font-weight: 600;
    color: var(--text-secondary);
    min-width: 120px;
    margin-right: 1rem;
}
.detail-item span {
    color: var(--text-primary);
    flex: 1;
    word-break: break-word;
}
/* Section styling with icons */
.detail-section h3 {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--primary-color);
    color: var(--primary-color);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.detail-section h3 .material-icons {
    font-size: 1.3rem;
    vertical-align: middle;
}
/* Section spacing */
.detail-section {
    background: var(--background-primary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
/* Light/Dark mode enhancements */
@media (prefers-color-scheme: dark) {
    .metric-card {
        background: var(--background-tertiary);
        border-color: var(--border-dark);
    }
    
    .detail-text-content {
        background: var(--background-tertiary);
    }
    
    .property-item {
        background: var(--background-tertiary);
    }
} /* Stats Dashboard Styles */
.stats-dashboard {
    padding: 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.page-header {
    text-align: center;
    margin-bottom: 30px;
    padding: 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    color: white;
    box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
}

.page-header h1 {
    margin: 0;
    font-size: 2.5rem;
    font-weight: 300;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.page-header h1 i {
    font-size: 2.2rem;
}

.page-subtitle {
    margin: 10px 0 20px 0;
    font-size: 1.1rem;
    opacity: 0.9;
    font-weight: 300;
}

.last-updated {
    margin: 15px 0;
    font-size: 0.9rem;
    opacity: 0.8;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.refresh-button {
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(10px);
}

.refresh-button:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
}

.refresh-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Stats Grid Layout */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 25px;
    margin-top: 20px;
    margin-bottom: 50px; /* Additional bottom margin for grid */
}

/* Stats Cards */
.stats-card {
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.stats-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.stats-card-header {
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-left: 4px solid #4CAF50;
    display: flex;
    align-items: center;
    gap: 12px;
}

.stats-card-header h3 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
    color: #333;
}

.stats-card-header i {
    font-size: 1.5rem;
}

.stats-card-content {
    padding: 20px;
}

/* Stats Sections */
.stats-section {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.stats-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.stats-section h4 {
    margin: 0 0 15px 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
}

/* Stat Items */
.stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    transition: all 0.2s ease;
}

.stat-item:hover {
    background: #f8f9fa;
    margin: 0 -10px;
    padding: 8px 10px;
    border-radius: 6px;
}

.stat-label {
    font-size: 0.95rem;
    color: #666;
    flex: 1;
}

.stat-value {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    text-align: right;
}

/* Progress Bars */
.progress-item {
    margin: 12px 0;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.progress-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #555;
}

.progress-value {
    font-size: 0.85rem;
    color: #666;
    font-weight: 500;
}

.progress-bar-container {
    height: 8px;
    background: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.progress-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.8s ease;
    position: relative;
    background: linear-gradient(90deg, currentColor 0%, currentColor 100%);
}

.progress-bar-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, 
        rgba(255,255,255,0.3) 0%, 
        rgba(255,255,255,0) 50%, 
        rgba(255,255,255,0.3) 100%);
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.progress-percentage {
    font-size: 0.8rem;
    color: #666;
    text-align: right;
    margin-top: 4px;
    font-weight: 500;
}

/* Loading and Error States */
.loading-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: #666;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #667eea;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.error-message {
    background: #fff5f5;
    border: 1px solid #fed7d7;
    border-radius: 8px;
    padding: 16px;
    margin: 20px 0;
    color: #c53030;
    display: flex;
    align-items: center;
    gap: 10px;
}

.error-message i {
    font-size: 1.2rem;
}

/* Dark Mode Support */
.dark-mode .stats-card {
    background: #2d3748;
    border-color: #4a5568;
}

.dark-mode .stats-card-header {
    background: linear-gradient(135deg, #4a5568 0%, #2d3748 100%);
}

.dark-mode .stats-card-header h3,
.dark-mode .stat-value {
    color: #e2e8f0;
}

.dark-mode .stats-section h4,
.dark-mode .stat-label,
.dark-mode .progress-label {
    color: #a0aec0;
}

.dark-mode .stat-item:hover {
    background: #4a5568;
}

.dark-mode .progress-item {
    background: #4a5568;
    border-color: #718096;
}

.dark-mode .progress-bar-container {
    background: #718096;
}

.dark-mode .stats-section {
    border-bottom-color: #4a5568;
}

.dark-mode .error-message {
    background: #742a2a;
    border-color: #c53030;
    color: #fed7d7;
}

/* Responsive Design */
@media (max-width: 768px) {
    .stats-dashboard {
        padding: 15px;
        padding-bottom: 180px; /* Increased bottom spacing on mobile */
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .page-header h1 {
        font-size: 2rem;
        flex-direction: column;
        gap: 10px;
    }
    
    .stats-card-content {
        padding: 15px;
    }
    
    .refresh-button {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .stats-dashboard {
        padding-bottom: 200px; /* Even more spacing on small mobile */
    }
    
    .page-header {
        padding: 15px;
    }
    
    .page-header h1 {
        font-size: 1.6rem;
    }
    
    .page-subtitle {
        font-size: 1rem;
    }
    
    .stats-card-header {
        padding: 15px;
    }
    
    .stats-card-content {
        padding: 12px;
    }
    
    .stat-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    
    .stat-value {
        text-align: left;
        font-size: 1.2rem;
    }
}

/* Print Styles */
@media print {
    .stats-dashboard {
        padding: 0;
        padding-bottom: 0; /* No bottom spacing needed for print */
    }
    
    .page-header {
        background: none !important;
        color: black !important;
        box-shadow: none !important;
    }
    
    .refresh-button {
        display: none;
    }
    
    .stats-card {
        page-break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ccc;
    }
    
    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }
} .admin-dashboard {
    padding: 20px 20px 100px 20px;
    max-width: 1400px;
    margin: 0 auto;
    min-height: calc(100vh - 120px);
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 24px;
    margin-top: 24px;
}

.dashboard-stat-card {
    background: var(--card-background, #ffffff);
    border-radius: 12px;
    border: 1px solid var(--border-color, #e0e0e0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.dashboard-stat-header {
    padding: 20px 24px 16px;
    border-left: 4px solid #2196F3;
    background: linear-gradient(135deg, rgba(33, 150, 243, 0.05) 0%, rgba(33, 150, 243, 0.02) 100%);
}

.dashboard-stat-title {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.dashboard-stat-title i {
    font-size: 24px;
    margin-top: 2px;
}

.dashboard-stat-title h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
}

.dashboard-stat-subtitle {
    margin: 4px 0 0 0;
    font-size: 14px;
    color: var(--text-secondary, #666);
    font-weight: 400;
}

.dashboard-stat-content {
    padding: 20px 24px 24px;
}

.dashboard-metric-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-light, #f5f5f5);
}

.dashboard-metric-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.dashboard-metric-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
}

.dashboard-metric-label {
    font-size: 14px;
    color: var(--text-secondary, #666);
    font-weight: 500;
}

.dashboard-metric-value {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
}

.dashboard-metric-trend {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    margin-left: 12px;
    padding: 4px 8px;
    border-radius: 12px;
    min-width: 50px;
    justify-content: center;
}

.dashboard-metric-trend.positive {
    color: #4CAF50;
    background: rgba(76, 175, 80, 0.1);
}

.dashboard-metric-trend.negative {
    color: #f44336;
    background: rgba(244, 67, 54, 0.1);
}

.dashboard-progress-metric {
    margin: 16px 0;
}

.dashboard-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.dashboard-progress-label {
    font-size: 14px;
    color: var(--text-secondary, #666);
    font-weight: 500;
}

.dashboard-progress-values {
    font-size: 12px;
    color: var(--text-tertiary, #999);
    font-weight: 500;
}

.dashboard-progress-bar {
    width: 100%;
    height: 8px;
    background: var(--progress-bg, #f0f0f0);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 4px;
}

.dashboard-progress-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.dashboard-progress-percentage {
    font-size: 11px;
    color: var(--text-tertiary, #999);
    text-align: right;
    font-weight: 500;
}

.dashboard-subsection {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light, #f5f5f5);
}

.dashboard-subsection h4 {
    margin: 0 0 16px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
}

.dashboard-currency-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.dashboard-currency-badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--accent-bg, #f8f9fa);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary, #666);
}

.dashboard-action-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.dashboard-action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--primary-color, #2196F3);
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.dashboard-action-btn:hover {
    background: var(--primary-dark, #1976D2);
    transform: translateY(-1px);
}

.dashboard-action-btn i {
    font-size: 12px;
}

/* Dark mode support */
.dark-mode .dashboard-stat-card {
    background: var(--card-background-dark, #2d2d2d);
    border: 1px solid var(--border-color-dark, #404040);
}

.dark-mode .dashboard-stat-header {
    background: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);
}

.dark-mode .dashboard-stat-title h3 {
    color: var(--text-primary-dark, #ffffff);
}

.dark-mode .dashboard-stat-subtitle {
    color: var(--text-secondary-dark, #aaa);
}

.dark-mode .dashboard-metric-label {
    color: var(--text-secondary-dark, #aaa);
}

.dark-mode .dashboard-metric-value {
    color: var(--text-primary-dark, #ffffff);
}

.dark-mode .dashboard-metric-item {
    border-bottom: 1px solid var(--border-light-dark, #404040);
}

.dark-mode .dashboard-progress-bar {
    background: var(--progress-bg-dark, #404040);
}

.dark-mode .dashboard-progress-values,
.dark-mode .dashboard-progress-percentage {
    color: var(--text-tertiary-dark, #888);
}

.dark-mode .dashboard-subsection {
    border-top: 1px solid var(--border-light-dark, #404040);
}

.dark-mode .dashboard-subsection h4 {
    color: var(--text-primary-dark, #ffffff);
}

.dark-mode .dashboard-currency-badge {
    background: var(--accent-bg-dark, #3a3a3a);
    border: 1px solid var(--border-light-dark, #505050);
    color: var(--text-secondary-dark, #aaa);
}

/* Responsive design */
@media (max-width: 768px) {
    .dashboard-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .dashboard-stat-header,
    .dashboard-stat-content {
        padding: 16px 20px;
    }
    
    .dashboard-metric-item {
        padding: 10px 0;
    }
    
    .dashboard-action-buttons {
        flex-direction: column;
    }
    
    .dashboard-action-btn {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .admin-dashboard {
        padding: 16px 16px 120px 16px;
    }
    
    .dashboard-stat-header,
    .dashboard-stat-content {
        padding: 12px 16px;
    }
    
    .dashboard-currency-list {
        justify-content: center;
    }
}/* Feedback Component Styles */
.feedback-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.feedback-header {
    text-align: center;
    margin-bottom: 30px;
}

.feedback-header h2 {
    color: #333;
    margin-bottom: 10px;
    font-size: 2rem;
    font-weight: 600;
}

.feedback-header h2 i {
    margin-right: 10px;
    color: #17a2b8;
}

.feedback-header p {
    color: #666;
    font-size: 1.1rem;
    line-height: 1.5;
}

.feedback-not-authenticated {
    text-align: center;
    padding: 40px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #dee2e6;
}

.feedback-not-authenticated h2 {
    color: #495057;
    margin-bottom: 15px;
}

.feedback-not-authenticated p {
    color: #6c757d;
    font-size: 1.1rem;
}

/* Success and Error Messages */
.feedback-success {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    text-align: center;
}

.feedback-success i {
    font-size: 2rem;
    margin-bottom: 10px;
    color: #28a745;
}

.feedback-success h3 {
    margin: 10px 0;
    font-weight: 600;
}

.feedback-error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
}

.feedback-error i {
    margin-right: 10px;
    font-size: 1.2rem;
}

/* Form Styles */
.feedback-form {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.feedback-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.feedback-field {
    margin-bottom: 20px;
    position: relative;
}

.feedback-field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
    font-size: 0.95rem;
}

.feedback-field label i {
    margin-right: 8px;
    color: #17a2b8;
    width: 16px;
}

.required {
    color: #dc3545;
    margin-left: 4px;
}

.feedback-input,
.feedback-select,
.feedback-textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #dee2e6;
    border-radius: 6px;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    font-family: inherit;
}

.feedback-input:focus,
.feedback-select:focus,
.feedback-textarea:focus {
    outline: none;
    border-color: #17a2b8;
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25);
}

.feedback-textarea {
    resize: vertical;
    min-height: 120px;
    line-height: 1.5;
}

.char-count {
    position: absolute;
    bottom: -18px;
    right: 0;
    font-size: 0.8rem;
    color: #6c757d;
}

/* Feedback Type Descriptions */
.feedback-type-descriptions {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 25px;
}

.type-description h4 {
    margin: 0 0 15px 0;
    color: #495057;
    font-size: 1rem;
    font-weight: 600;
}

.type-description ul {
    margin: 0;
    padding-left: 20px;
}

.type-description li {
    margin-bottom: 8px;
    color: #6c757d;
    line-height: 1.4;
}

.type-description li strong {
    color: #495057;
}

/* Actions */
.feedback-actions {
    text-align: center;
    padding-top: 10px;
}

.feedback-submit-btn {
    background-color: #17a2b8;
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 160px;
    justify-content: center;
}

.feedback-submit-btn:hover:not(:disabled) {
    background-color: #138496;
    transform: translateY(-1px);
}

.feedback-submit-btn:disabled {
    background-color: #6c757d;
    cursor: not-allowed;
    transform: none;
}

.feedback-submit-btn i {
    font-size: 0.9rem;
}

/* Responsive Design */
@media (max-width: 768px) {
    .feedback-container {
        padding: 15px;
    }
    
    .feedback-form {
        padding: 20px;
    }
    
    .feedback-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
    
    .feedback-header h2 {
        font-size: 1.6rem;
    }
    
    .feedback-header p {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .feedback-container {
        padding: 10px;
    }
    
    .feedback-form {
        padding: 15px;
    }
    
    .feedback-header h2 {
        font-size: 1.4rem;
    }
    
    .feedback-submit-btn {
        width: 100%;
        padding: 15px;
    }
}/* Feedback Management Styles */
.feedback-management {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.feedback-management-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #dee2e6;
}

.feedback-management-header h1 {
    color: #333;
    margin-bottom: 10px;
    font-size: 2.2rem;
    font-weight: 600;
}

.feedback-management-header h1 i {
    margin-right: 15px;
    color: #17a2b8;
}

.feedback-management-header p {
    color: #666;
    font-size: 1.1rem;
}

.access-denied {
    text-align: center;
    padding: 60px 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #dee2e6;
}

.access-denied h2 {
    color: #495057;
    margin-bottom: 15px;
}

.access-denied p {
    color: #6c757d;
    font-size: 1.1rem;
}

/* Filters */
.feedback-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: end;
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    border: 1px solid #dee2e6;
}

.filter-group {
    display: flex;
    flex-direction: column;
    min-width: 120px;
}

.filter-group label {
    font-weight: 600;
    color: #495057;
    margin-bottom: 5px;
    font-size: 0.9rem;
}

.filter-group select {
    padding: 8px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 0.9rem;
    background-color: white;
}

.refresh-btn {
    background-color: #17a2b8;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 8px;
    height: fit-content;
}

.refresh-btn:hover {
    background-color: #138496;
}

.refresh-btn i {
    font-size: 0.8rem;
}

/* Error and Loading */
.error-message {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
}

.error-message i {
    margin-right: 10px;
    font-size: 1.2rem;
}

.loading-container {
    text-align: center;
    padding: 60px 20px;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #17a2b8;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 20px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Feedback List */
.feedback-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.no-feedback {
    text-align: center;
    padding: 60px 20px;
    color: #6c757d;
}

.no-feedback i {
    font-size: 3rem;
    margin-bottom: 15px;
    color: #dee2e6;
}

.feedback-item {
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}

.feedback-item:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.feedback-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.feedback-meta {
    display: flex;
    gap: 10px;
    align-items: center;
}

.feedback-type-badge,
.feedback-priority-badge,
.feedback-status-badge {
    padding: 4px 8px;
    border-radius: 12px;
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 4px;
}

.feedback-type-badge {
    background-color: #6c757d;
}

.feedback-type-badge.bug {
    background-color: #dc3545;
}

.feedback-type-badge.feature {
    background-color: #ffc107;
    color: #212529;
}

.feedback-type-badge.improvement {
    background-color: #28a745;
}

.feedback-type-badge.general {
    background-color: #17a2b8;
}

.feedback-actions {
    display: flex;
    gap: 10px;
}

.edit-btn {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.edit-btn:hover {
    background-color: #218838;
}

/* Feedback Content */
.feedback-content {
    padding: 20px;
}

.feedback-content h3 {
    margin: 0 0 15px 0;
    color: #333;
    font-size: 1.2rem;
    font-weight: 600;
}

.feedback-message {
    color: #495057;
    line-height: 1.6;
    margin-bottom: 15px;
    white-space: pre-wrap;
}

.feedback-user-info {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 0.9rem;
    color: #6c757d;
    margin-bottom: 15px;
}

.feedback-user-info span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.admin-notes {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 15px;
}

.admin-notes h4 {
    margin: 0 0 10px 0;
    color: #856404;
    font-size: 0.95rem;
}

.admin-notes p {
    margin: 0;
    color: #856404;
    white-space: pre-wrap;
}

.resolved-info {
    font-size: 0.9rem;
    color: #28a745;
    font-style: italic;
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    padding: 20px;
}

.pagination button {
    background-color: #17a2b8;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pagination button:hover:not(:disabled) {
    background-color: #138496;
}

.pagination button:disabled {
    background-color: #6c757d;
    cursor: not-allowed;
}

.page-info {
    color: #495057;
    font-weight: 500;
}

/* Modal */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal {
    background-color: white;
    border-radius: 8px;
    width: 90%;
    max-width: 700px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.modal-header h3 {
    margin: 0;
    color: #333;
}

.close-btn {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #6c757d;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close-btn:hover {
    color: #333;
}

.modal-content {
    padding: 20px;
}

.feedback-details {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #dee2e6;
}

.feedback-details h4 {
    margin: 0 0 15px 0;
    color: #333;
    font-size: 1.1rem;
}

.feedback-details p {
    margin: 5px 0;
    color: #495057;
}

.message-box {
    background-color: #f8f9fa;
    border-radius: 6px;
    padding: 15px;
    margin-top: 15px;
}

.message-box p {
    margin: 10px 0 0 0;
    white-space: pre-wrap;
    line-height: 1.5;
}

.edit-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}

.form-group label {
    font-weight: 600;
    color: #333;
    font-size: 0.95rem;
}

.form-group select,
.form-group textarea {
    padding: 10px 12px;
    border: 2px solid #dee2e6;
    border-radius: 6px;
    font-size: 1rem;
    font-family: inherit;
}

.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #17a2b8;
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25);
}

.form-group textarea {
    resize: vertical;
    min-height: 100px;
}

.char-count {
    position: absolute;
    bottom: -18px;
    right: 0;
    font-size: 0.8rem;
    color: #6c757d;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    padding: 20px;
    border-top: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.cancel-btn,
.save-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cancel-btn {
    background-color: #6c757d;
    color: white;
}

.cancel-btn:hover {
    background-color: #545b62;
}

.save-btn {
    background-color: #28a745;
    color: white;
}

.save-btn:hover:not(:disabled) {
    background-color: #218838;
}

.save-btn:disabled {
    background-color: #6c757d;
    cursor: not-allowed;
}

/* Responsive Design */
@media (max-width: 768px) {
    .feedback-management {
        padding: 15px;
    }
    
    .feedback-filters {
        flex-direction: column;
        align-items: stretch;
    }
    
    .filter-group {
        min-width: auto;
    }
    
    .feedback-item-header {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }
    
    .feedback-meta {
        flex-wrap: wrap;
    }
    
    .feedback-user-info {
        flex-direction: column;
        gap: 10px;
    }
    
    .modal {
        width: 95%;
        margin: 20px;
    }
    
    .modal-actions {
        flex-direction: column;
    }
    
    .pagination {
        flex-direction: column;
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .feedback-management-header h1 {
        font-size: 1.8rem;
    }
    
    .feedback-content {
        padding: 15px;
    }
    
    .modal-content {
        padding: 15px;
    }
    
    .modal-header,
    .modal-actions {
        padding: 15px;
    }
}:root {
  font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light dark;
  color: #333333;
  background-color: #ffffff;

  /* CSS Custom Properties for consistent theming */
  --primary-color: #646cff;
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --bg-hover: rgba(0, 0, 0, 0.05);
  --text-primary: #333333;
  --text-secondary: #666666;
  --border-color: #e0e0e0;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Dark mode CSS custom properties */
@media (prefers-color-scheme: dark) {
  :root {
    --primary-color: #7c7cff;
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-hover: rgba(255, 255, 255, 0.1);
    --text-primary: #ffffff;
    --text-secondary: #cccccc;
    --border-color: #404040;
  }
}

/* Removed light mode preference @media rule to prevent browser override */

a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}
a:hover {
  color: #535bf2;
}

body {
  margin: 0;
  display: flex;
  place-items: center;
  min-width: 320px;
  min-height: 100vh;
}

h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: #1a1a1a;
  cursor: pointer;
  transition: border-color 0.25s;
}
button:hover {
  border-color: #646cff;
}
button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

/* Removed @media (prefers-color-scheme: light) to prevent browser override */
