/* Wajez Radar — brand layer on top of Bootstrap 5.3
   Brand: teal #2cb9d5, orange #e6a545, deep #0c2830 (from the Wajez website kit). */
/* Cairo (SIL Open Font License) — self-hosted, no external font requests. */
@font-face { font-family: "Cairo"; font-weight: 400; font-display: swap; src: url("../fonts/cairo-arabic-400.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Cairo"; font-weight: 700; font-display: swap; src: url("../fonts/cairo-arabic-700.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Cairo"; font-weight: 400; font-display: swap; src: url("../fonts/cairo-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2190-21FF; }
@font-face { font-family: "Cairo"; font-weight: 700; font-display: swap; src: url("../fonts/cairo-latin-700.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2190-21FF; }

:root {
  --wz-teal: #2cb9d5;
  --wz-teal-dark: #1b8ea6;
  --wz-orange: #e6a545;
  --wz-deep: #0c2830;
  --wz-soft: #eef6f7;
  --bs-primary: #1b8ea6;
  --bs-primary-rgb: 27, 142, 166;
  --bs-link-color: #1b8ea6;
  --bs-link-color-rgb: 27, 142, 166;
  --bs-body-font-family: "Cairo", "Segoe UI", Tahoma, system-ui, -apple-system, Arial, sans-serif;
}
body { background: #f6f9fa; }
body.guest { background: linear-gradient(135deg, var(--wz-deep), #12424e 60%, var(--wz-teal-dark)); min-height: 100vh; }

.wz-nav { background: var(--wz-deep); border-bottom: 3px solid var(--wz-orange); }
.wz-nav .nav-link.active { color: #fff; border-bottom: 2px solid var(--wz-teal); }
.btn-primary { --bs-btn-bg: var(--wz-teal-dark); --bs-btn-border-color: var(--wz-teal-dark); --bs-btn-hover-bg: #157689; --bs-btn-hover-border-color: #157689; --bs-btn-active-bg: #126575; }
.btn-accent { background: var(--wz-orange); color: #21150a; border-color: var(--wz-orange); }
.btn-accent:hover { background: #d8932f; color: #21150a; }
.text-teal { color: var(--wz-teal-dark) !important; }
.bg-soft { background: var(--wz-soft) !important; }

.card { border: 0; box-shadow: 0 1px 3px rgba(12, 40, 48, .08); }
.card-header { background: #fff; font-weight: 600; }
.stat { border-inline-start: 4px solid var(--wz-teal); }
.stat.warn { border-color: var(--wz-orange); }
.stat.mute { border-color: #adb5bd; }
.stat .num { font-size: 1.7rem; font-weight: 700; color: var(--wz-deep); line-height: 1.1; }

/* Status badges */
.badge-manual { background: #6f42c1; color: #fff; }
.badge-demo, .text-bg-warning { font-weight: 700; }
.demo-ribbon { background: repeating-linear-gradient(45deg, #ffc107, #ffc107 12px, #ffcd39 12px, #ffcd39 24px); color: #000; text-align: center; font-weight: 800; padding: 2px 0; letter-spacing: .05em; }
tr.is-demo td { background: #fff8e1 !important; }
tr.is-stale td { color: #6c757d; }

.price { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; direction: ltr; unicode-bidi: isolate; }
.ltr { direction: ltr; unicode-bidi: isolate; }
.code { font-family: ui-monospace, Consolas, monospace; font-weight: 600; direction: ltr; unicode-bidi: isolate; }
.chg-down { color: #198754; font-weight: 600; }
.chg-up { color: #dc3545; font-weight: 600; }
.reasons { font-size: .75rem; color: #6c757d; }
.reasons span + span::before { content: " · "; }
.airline-hl { background: #fff2e2; border-radius: 4px; padding: 0 4px; }

.table-results { font-size: .9rem; }
.table-results th { white-space: nowrap; font-size: .8rem; color: #495057; }
.sticky-filter { position: sticky; top: 64px; z-index: 5; }

.grid-cell { min-width: 130px; }
.origin-pill { display: inline-block; min-width: 2.6rem; text-align: center; font-size: .72rem; font-weight: 700; color: #fff; background: var(--wz-deep); border-radius: 4px; padding: 1px 4px; }
.origin-pill.ben { background: var(--wz-teal-dark); }

/* Season calendar */
.cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; font-size: .75rem; }
.cal .d { text-align: center; padding: 4px 0; border-radius: 4px; background: #fff; }
.cal .d.season { color: #21150a; font-weight: 700; }
.cal .h { text-align: center; color: #6c757d; font-weight: 600; }

/* Login */
.login-card { max-width: 420px; margin: 10vh auto 0; }
.login-logo { max-width: 220px; }

/* Print quote sheet */
.print-body { background: #fff; }
.sheet { max-width: 800px; margin: 24px auto; padding: 32px; border: 1px solid #dee2e6; }
.sheet .disclaimer { border: 2px solid var(--wz-orange); background: #fff8ee; padding: 10px 14px; border-radius: 6px; }
@media print {
  .no-print { display: none !important; }
  .sheet { border: 0; margin: 0; padding: 0; }
  body { background: #fff; }
}
