body {
  font-family: "Segoe UI", "SF Pro Text", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  color: #0f2434;
  line-height: 1.4;
}

:root {
  --brand-yellow: #fbb115;
  --brand-blue: #2eb2e4;
  --brand-blue-deep: #1f7ea4;
  --surface-app: #eef3f6;
  --surface-card: #f8fbfc;
  --surface-border: #d9e4ec;
  --surface-card-strong: #ffffff;
  --text-primary: #11293a;
  --text-secondary: #486477;
  --radius-card: 16px;
  --radius-control: 12px;
  --shadow-card:
    0 10px 26px rgba(10, 25, 41, 0.07),
    0 1px 2px rgba(10, 25, 41, 0.05);
  --shadow-float:
    0 14px 34px rgba(10, 25, 41, 0.13),
    0 2px 6px rgba(10, 25, 41, 0.08);
}

.bg-slate-50 {
  background-color: var(--surface-app) !important;
}

.bg-white {
  background-color: var(--surface-card-strong) !important;
}

.border-slate-100 {
  border-color: var(--surface-border) !important;
}

.text-slate-900,
.text-slate-800 {
  color: var(--text-primary) !important;
}

.text-slate-600,
.text-slate-500 {
  color: var(--text-secondary) !important;
}

.text-slate-400 {
  color: #6f8ea4 !important;
}

input,
select,
textarea {
  border: 1px solid #cad7e2;
  background: #fbfdff;
  border-radius: var(--radius-control);
  min-height: 38px;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--brand-blue);
  box-shadow: 0 0 0 2px rgba(46, 178, 228, 0.16);
}

html,
body,
button,
input,
textarea {
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

header.sticky {
  background: rgba(248, 252, 255, 0.9) !important;
  border-bottom-color: #d9e4ec !important;
}

button {
  border-radius: var(--radius-control);
}

button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(46, 178, 228, 0.16);
}

.luma-card {
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

.luma-bottom-nav {
  box-shadow: 0 -6px 18px rgba(12, 34, 52, 0.12);
  backdrop-filter: blur(6px);
}

.pill {
  width: 116px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.01em;
}

.pill-pending {
  background: #dbeafe;
  color: #1d4ed8;
}

.pill-under-review {
  background: #fef3c7;
  color: #92400e;
}

.pill-requires-action {
  background: #fee2e2;
  color: #b91c1c;
}

.pill-paid {
  background: #dcfce7;
  color: #166534;
}

.empty-state {
  border: 1px dashed #c7d8e5;
  border-radius: var(--radius-card);
  background: #f8fcff;
  padding: 1.25rem;
}

.insurance-card {
  border-radius: var(--radius-card);
  border: 1px solid #0f2f52;
  box-shadow:
    0 12px 26px rgba(2, 6, 23, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  min-height: 190px;
  background: linear-gradient(145deg, #0a4a90 0%, #1469b8 52%, #2eb2e4 100%);
}

.nav-icon {
  width: 18px;
  height: 18px;
}

.btn-primary {
  background: linear-gradient(180deg, #2797c2 0%, #2389b0 100%);
  color: #ffffff;
  box-shadow: 0 4px 10px rgba(35, 137, 176, 0.2);
}

.btn-primary:hover {
  background: var(--brand-blue-deep);
}

.btn-accent {
  background: linear-gradient(180deg, #fbb115 0%, #f0a80f 100%);
  color: #111827;
  box-shadow: 0 4px 10px rgba(251, 177, 21, 0.2);
}

.btn-accent:hover {
  background: #e59d07;
}

.text-brand-blue {
  color: var(--brand-blue);
}

.text-brand-yellow {
  color: #d28e09;
}

.close-btn {
  min-width: 2.25rem;
  height: 2rem;
  padding: 0;
  border-radius: 0.5rem;
  border: 1px solid #cbd5e1;
  color: #475569;
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 1;
  font-weight: 600;
}

.close-btn::before {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
}

.close-btn:hover {
  background: #f8fafc;
  border-color: #94a3b8;
}

.notif-panel {
  background: #e0f3ff;
  border: 1px solid #7bc8e8;
  box-shadow: var(--shadow-float);
}

.notif-title {
  color: #0f3f5a;
}

.notif-item {
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(46, 178, 228, 0.28);
}

.notif-item-title {
  color: #0f3f5a;
}

.notif-item-body {
  color: #2d5e7a;
}

.notif-item-time {
  color: #4f8cad;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

@media (min-width: 768px) {
  .auth-entry-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.claim-scroll {
  scrollbar-width: thin;
  scrollbar-color: #8eb8cf transparent;
}

.claim-scroll::-webkit-scrollbar {
  width: 6px;
}

.claim-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.claim-scroll::-webkit-scrollbar-thumb {
  background: #8eb8cf;
  border-radius: 9999px;
}

.claim-scroll::-webkit-scrollbar-thumb:hover {
  background: #6ea2bf;
}

