/*!
 * BAS Ground Operations — Public flight schedule board.
 * Self-contained (loads on the public site, independent of the admin app CSS).
 * Light theme matching the BAS brand, with status colours mirroring the plugin.
 */
.bas-sched {
	--s-navy: #12294a;
	--s-navy-2: #1b3a63;
	--s-ink: #1d2734;
	--s-muted: #6b7789;
	--s-line: #e7ebf1;
	--s-canvas: #f4f6fa;
	--s-card: #ffffff;
	--s-flight: #1e6fd6;
	--s-dest: #b26a24;
	--s-accent: #1e9bd7;
	/* status buckets */
	--s-ontime-bg: #e7f0fb;   --s-ontime-ink: #1e6fd6;
	--s-board-bg: #e5f6ec;    --s-board-ink: #1a8043;
	--s-lastcall-bg: #fdf2c8; --s-lastcall-ink: #a9760b;
	--s-delay-bg: #fde9d6;    --s-delay-ink: #c2560f;
	--s-done-bg: #eceff4;     --s-done-ink: #64748b;
	--s-cancel-bg: #fce4e4;   --s-cancel-ink: #c0342e;
	--s-divert-bg: #f2e8fd;   --s-divert-ink: #7e39c9;

	max-width: 1290px; margin: 0 auto; padding: 4px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	color: var(--s-ink);
	-webkit-font-smoothing: antialiased;
}
.bas-sched *, .bas-sched *::before, .bas-sched *::after { box-sizing: border-box; }

/* ---- Header ---- */
.bas-sched-top {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	margin: 4px 2px 16px;
}
.bas-sched-tabs {
	display: inline-flex; background: #eef1f6; border-radius: 12px; padding: 4px; gap: 2px;
}
.bas-sched-tab {
	appearance: none; border: 0; background: transparent; cursor: pointer;
	font: inherit; font-size: 14px; font-weight: 600; color: var(--s-muted);
	padding: 8px 20px; border-radius: 9px; transition: all .15s ease;
}
.bas-sched-tab:hover { color: var(--s-ink); }
.bas-sched-tab.is-active { background: var(--s-navy); color: #fff; box-shadow: 0 2px 6px rgba(18,41,74,.28); }

.bas-sched-search {
	position: relative; flex: 1 1 240px; min-width: 200px; max-width: 420px; margin-inline: auto;
}
.bas-sched-search .dashicons,
.bas-sched-search svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--s-muted); }
.bas-sched-search input {
	width: 100%; font: inherit; font-size: 14px; color: var(--s-ink);
	padding: 10px 14px 10px 38px; border: 1px solid var(--s-line); border-radius: 10px;
	background: var(--s-card); transition: border-color .15s, box-shadow .15s;
}
.bas-sched-search input::placeholder { color: #9aa4b3; }
.bas-sched-search input:focus { outline: none; border-color: var(--s-accent); box-shadow: 0 0 0 3px rgba(30,155,215,.16); }

.bas-sched-when { text-align: right; line-height: 1.35; margin-inline-start: auto; }
.bas-sched-date { display: block; font-size: 13px; font-weight: 700; color: var(--s-ink); }
.bas-sched-updated { display: block; font-size: 12px; color: var(--s-muted); }

/* ---- Table ---- */
.bas-sched-tablewrap {
	background: var(--s-card); border: 1px solid #e6e8ec; border-radius: 14px;
	overflow: hidden; box-shadow: 0 6px 18px rgba(17, 24, 39, .05);
}
.bas-sched-table { width: 100%; border-collapse: collapse; }
/* Theme-proofing: strip any table/cell borders a site theme adds, keeping only
 * our own row separators. Scoped + specific enough to win without !important. */
.bas-sched .bas-sched-table,
.bas-sched .bas-sched-table thead,
.bas-sched .bas-sched-table tbody,
.bas-sched .bas-sched-table tr { border: 0; }
.bas-sched .bas-sched-table th,
.bas-sched .bas-sched-table td { border-left: 0; border-right: 0; border-bottom: 0; }
.bas-sched-table thead th {
	background: var(--s-navy); color: #dfe7f2; text-align: left;
	font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
	padding: 14px 18px; white-space: nowrap;
}
.bas-sched-table thead th.col-gate { text-align: center; }
.bas-sched-table thead th.col-status { text-align: right; }
.bas-sched-table tbody td { padding: 16px 18px; border-top: 1px solid var(--s-line); font-size: 14px; vertical-align: middle; }
.bas-sched-table tbody tr:first-child td { border-top: 0; }
.bas-sched-table tbody tr:hover td { background: #f8fafd; }
.bas-sched-time { font-weight: 700; color: var(--s-ink); font-variant-numeric: tabular-nums; }
.bas-sched-flight { font-weight: 600; color: var(--s-flight); font-variant-numeric: tabular-nums; }
.bas-sched-airline { color: var(--s-ink); }
.bas-sched-dest { color: var(--s-dest); font-weight: 500; }
.bas-sched-gate { text-align: center; font-weight: 600; color: var(--s-ink); }
.bas-sched-statuscell { text-align: right; white-space: nowrap; }
.bas-sched-est { display: block; font-size: 12px; color: var(--s-delay-ink); font-weight: 600; }

/* Status pills */
.bas-sched-status {
	display: inline-block; padding: 5px 12px; border-radius: 999px;
	font-size: 12px; font-weight: 700; letter-spacing: .01em;
}
.bas-sched-status.is-ontime   { background: var(--s-ontime-bg);   color: var(--s-ontime-ink); }
.bas-sched-status.is-boarding { background: var(--s-board-bg);    color: var(--s-board-ink); }
.bas-sched-status.is-lastcall { background: var(--s-lastcall-bg); color: var(--s-lastcall-ink); }
.bas-sched-status.is-delayed  { background: var(--s-delay-bg);    color: var(--s-delay-ink); }
.bas-sched-status.is-done     { background: var(--s-done-bg);     color: var(--s-done-ink); }
.bas-sched-status.is-cancelled{ background: var(--s-cancel-bg);   color: var(--s-cancel-ink); }
.bas-sched-status.is-diverted { background: var(--s-divert-bg);   color: var(--s-divert-ink); }
.bas-sched-row.is-cancelled .bas-sched-flight,
.bas-sched-row.is-cancelled .bas-sched-time { text-decoration: line-through; }
.bas-sched-row.is-cancelled td { opacity: .7; }

.bas-sched-empty { padding: 44px 18px; text-align: center; color: var(--s-muted); font-size: 14px; }

/* ---- Legend ---- */
.bas-sched-legend {
	display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center;
	padding: 16px 6px 4px; font-size: 12px; color: var(--s-muted);
}
.bas-sched-legend span { display: inline-flex; align-items: center; gap: 7px; }
.bas-sched-dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.bas-sched-dot.is-ontime   { background: var(--s-ontime-ink); }
.bas-sched-dot.is-boarding { background: var(--s-board-ink); }
.bas-sched-dot.is-lastcall { background: #e0a90b; }
.bas-sched-dot.is-delayed  { background: var(--s-delay-ink); }
.bas-sched-dot.is-done     { background: #9aa6b6; }
.bas-sched-dot.is-cancelled{ background: var(--s-cancel-ink); }

/* ---- Responsive: stack cells into cards on narrow screens ---- */
@media (max-width: 640px) {
	.bas-sched-top { gap: 10px; }
	.bas-sched-search { order: 3; max-width: none; margin-inline: 0; }
	.bas-sched-when { order: 2; }
	.bas-sched-table thead { display: none; }
	.bas-sched-table, .bas-sched-table tbody, .bas-sched-table tr, .bas-sched-table td { display: block; width: 100%; }
	.bas-sched-table tbody tr { border-top: 1px solid var(--s-line); padding: 8px 4px; }
	.bas-sched-table tbody tr:first-child { border-top: 0; }
	.bas-sched-table tbody td { border: 0; padding: 4px 14px; display: flex; justify-content: space-between; align-items: center; }
	.bas-sched-table tbody td::before {
		content: attr(data-label); font-size: 10px; font-weight: 700; letter-spacing: .08em;
		text-transform: uppercase; color: var(--s-muted);
	}
	.bas-sched-statuscell, .bas-sched-gate { text-align: right; }
}

/* Language switcher (EN / Dari / Pashto) */
.bas-sched-lang {
	display: inline-flex; gap: 2px; background: #eef1f6;
	border-radius: 10px; padding: 3px; margin-inline-start: 4px;
}
.bas-sched-lang button {
	appearance: none; border: 0; background: transparent; cursor: pointer;
	font: inherit; font-size: 13px; font-weight: 600; color: var(--s-muted);
	padding: 6px 12px; border-radius: 8px; transition: all .15s ease; line-height: 1.2;
}
.bas-sched-lang button:hover { color: var(--s-ink); }
.bas-sched-lang button[aria-pressed="true"] {
	background: var(--s-card); color: var(--s-navy); box-shadow: 0 1px 3px rgba(18,41,74,.18);
}

/* RTL (Dari / Pashto) */
.bas-sched[dir="rtl"] .bas-sched-search svg,
.bas-sched[dir="rtl"] .bas-sched-search .dashicons { left: auto; right: 12px; }
.bas-sched[dir="rtl"] .bas-sched-search input { padding: 10px 38px 10px 14px; }
.bas-sched[dir="rtl"] .bas-sched-table thead th { text-align: right; }
.bas-sched[dir="rtl"] .bas-sched-table thead th.col-status { text-align: left; }
.bas-sched[dir="rtl"] .bas-sched-statuscell { text-align: left; }
.bas-sched[dir="rtl"] .bas-sched-when { text-align: left; }
