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

.header {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  color: #fff;
}

.logo {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.logo-badge {
  display: inline-block;
  background: rgba(255, 255, 255, 0.12);
  padding: 0.15rem 0.9rem;
  border-radius: 12px;
  backdrop-filter: blur(4px);
}

.subtitle {
  font-size: 1rem;
  opacity: 0.8;
}

.footer {
  background: #1a1a2e;
  color: #9ca3af;
}

.footer a:hover {
  color: #fff !important;
}

.footer hr {
  opacity: 0.15;
}

.card {
  border: none;
}

.sortable {
  cursor: pointer;
  user-select: none;
}

.sortable::after {
  content: '\2191\2193';
  font-size: 0.65em;
  margin-left: 4px;
  opacity: 0.25;
}

.sortable.sorted-asc::after {
  content: '\2191';
  opacity: 1;
}

.sortable.sorted-desc::after {
  content: '\2193';
  opacity: 1;
}

.provider-logo {
  width: 60px;
  height: 60px;
  object-fit: contain;
  vertical-align: middle;
}

.provider-logo.dark-bg {
  background: #1a1a2e;
  border-radius: 8px;
  padding: 6px;
}

.provider-logo-nc {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

.provider-logo-nc.dark-bg {
  background: #1a1a2e;
  border-radius: 8px;
  padding: 8px;
}
