body { font-family: Arial, sans-serif; margin: 18px; }
.card { border: 1px solid #ddd; border-radius: 10px; padding: 14px; margin-bottom: 16px; }
.row { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; }
label { display: block; font-size: 12px; color: #555; margin-bottom: 4px; }
input, select { padding: 8px; border: 1px solid #ccc; border-radius: 8px; }
button { padding: 10px 14px; border: none; border-radius: 10px; cursor: pointer; }
button.primary { background: #eee; color: #111; }
button.secondary { background: #eee; color: #111; }
button:disabled { opacity: 0.85; cursor: default; }

.btn-spinner {
  display: none;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(0, 0, 0, 0.25);
  border-top-color: #111;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin-right: 8px;
  vertical-align: -2px;
}
.btn-spinner.show { display: inline-block; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.load-row { align-items: flex-end; }
.load-select-wrap { min-width: 520px; display: flex; flex-direction: column; }
.load-spacer { height: 16px; }
.load-btn-wrap { display: flex; align-items: flex-end; padding-bottom: 16px; }

.muted { color: #666; font-size: 12px; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid #eee; padding: 8px; text-align: left; vertical-align: top; }
th { background: #fafafa; position: sticky; top: 0; }
.fare { white-space: nowrap; }
.small { font-size: 12px; color: #444; }
.error { color: #b00020; white-space: pre-wrap; }

.flight-title { font-size: 16px; }
.flight-sub { margin-top: 4px; }

.basic-title { font-size: 16px; line-height: 1.2; }
.basic-sub { margin-top: 6px; font-size: 14px; }

.check-row { display: flex; gap: 12px; align-items: center; margin-top: 10px; flex-wrap: wrap; }
.check { display: flex; gap: 6px; align-items: center; }

.airline-badge { display: inline-flex; align-items: flex-start; gap: 10px; }
.airline-badge img { width: 40px; height: 40px; object-fit: contain; }
.flight-row { display: flex; align-items: flex-start; gap: 12px; }
