/* POP Virtual Airways — shared visual tokens. No framework or functional overrides. */
:root {
  --pop-blue: #18349c;
  --pop-blue-hover: #122777;
  --pop-navy: #111f43;
  --pop-gold: #ffc533;
  --pop-ink: #202d46;
  --pop-muted: #637089;
  --pop-cloud: #f3f5f9;
  --pop-paper: #fff;
  --pop-line: #dfe5ee;
  --pop-radius: 12px;
  --pop-shadow: 0 5px 22px rgba(17, 31, 67, .045);
  --pop-font: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pop-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body { color: var(--pop-ink); background: var(--pop-cloud); font-family: var(--pop-font); line-height: 1.6; }
h1, h2, h3, h4, h5, h6 { color: var(--pop-navy); font-family: var(--pop-heading); line-height: 1.25; }
a { color: var(--pop-blue); transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
a:hover { color: var(--pop-blue-hover); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #ad7800 !important; outline-offset: 3px; }
.btn { border-radius: 7px; font-weight: 700; letter-spacing: .01em; white-space: normal; }
.btn-primary { background: var(--pop-blue); border-color: var(--pop-blue); color: #fff; }
.btn-primary:hover, .btn-primary:focus { background: var(--pop-blue-hover); border-color: var(--pop-blue-hover); color: #fff; }
.form-control, .form-select { border: 1px solid #cbd4e2; border-radius: 7px; box-shadow: none; color: var(--pop-ink); background-color: #fff; }
.form-control:focus, .form-select:focus { border-color: var(--pop-blue); box-shadow: 0 0 0 3px rgba(24,52,156,.12); }
.form-control[disabled], .form-control[readonly] { background-color: #edf0f5; }
.help-block, .text-muted { color: var(--pop-muted); }
.table { background: #fff; font-variant-numeric: tabular-nums; }
.table > thead > tr > th { background: #eef2f8; color: #44536d; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; border-bottom: 1px solid var(--pop-line); vertical-align: middle; }
.table > tbody > tr > td, .table > tbody > tr > th { border-top: 1px solid #edf0f5; vertical-align: middle; }
.table > tbody > tr:not(.red-row):not(.danger):not(.success):not(.warning):hover > td { background-color: #f0f4fc; }
.table-responsive { border: 0; }
.panel, .card, .well, .thumbnail { border: 1px solid var(--pop-line); border-radius: var(--pop-radius); box-shadow: var(--pop-shadow); }
.panel-heading, .card-header { border-bottom: 1px solid var(--pop-line); }
.modal-content { border-radius: var(--pop-radius); border: 1px solid var(--pop-line); box-shadow: 0 20px 70px rgba(17,31,67,.2); }
.modal-header, .modal-footer { border-color: var(--pop-line); }
.progress { background: #e6ebf4; border-radius: 20px; box-shadow: none; }
.progress-bar { background-color: var(--pop-blue); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
