/* The TVAL look: a compact flight operations console. (Formerly "Version 2"; it is now the only version.) */
html[data-version="2"] {
  --bg:#e9eef3; --fg:#14283a; --muted:#607487; --line:#cad5df;
  --card:#fff; --empty:#f2f5f7; --accent:#126b7a;
  --head:#17364a; --headfg:#f2f8fa; --lunch:#fff1d6; --hit:#ffcf70;
  --bar:#102d40; --barfg:#e7f1f4; --on:#e2b65c;
  color-scheme:light;
}
html[data-version="2"] body {
  background:var(--bg);
  color:var(--fg);
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html[data-version="2"] :is(button,input,select) { font-family:inherit; }
html[data-version="2"] :is(button,a,input,select):focus-visible { outline:3px solid #e2b65c; outline-offset:2px; }

/* Main app: tabs along the top. */
html[data-version="2"] body:has(> .panels) nav {
  display:flex; flex-direction:row; align-items:center; gap:4px; width:100%; min-width:0;
  padding:0 18px; overflow-x:auto; overflow-y:hidden; border-right:0; border-bottom:1px solid #25485b;
  background:linear-gradient(180deg,#143b50 0%,#102d40 100%);
}
html[data-version="2"] .brand { flex:none; display:flex; align-items:center; gap:10px; padding:8px 20px 8px 0; color:#fff; font-weight:850; font-size:18px; letter-spacing:.12em; }
html[data-version="2"] .brand small { display:block; margin-top:1px; color:#95b6c2; font-size:8px; letter-spacing:.24em; }
html[data-version="2"] .brand-mark { display:grid; place-items:center; width:32px; height:32px; border:2px solid #dfb767; border-radius:9px; color:#dfb767; font-size:18px; letter-spacing:0; }
html[data-version="2"] body:has(> .panels) nav button[role="tab"] {
  flex:none; width:auto; text-align:center; border-radius:10px 10px 0 0; padding:15px 20px 13px; margin-top:6px;
  color:#b9d1d9; opacity:1; font-size:14px; font-weight:650; white-space:nowrap;
}
html[data-version="2"] body:has(> .panels) nav button[role="tab"]:hover { background:#ffffff13; color:#fff; }
html[data-version="2"] body:has(> .panels) nav button[role="tab"][aria-selected="true"] {
  color:#102d40; background:#f3f7f8; box-shadow:inset 0 3px 0 #dfb767;
}
html[data-version="2"] body:has(> .panels) iframe { background:var(--bg); }
html[data-version="2"] body:has(> .panels) .who {
  flex:none; margin:0 0 0 auto; padding:0 4px; white-space:nowrap; line-height:1.4;
  color:#c4d8df; font-size:12px;
}
html[data-version="2"] body.single nav [role="tab"] { display:none; }

/* All content pages: more hierarchy, room around controls, and clear panels. */
html[data-version="2"] body:not(:has(> .panels)) { padding:26px clamp(14px,2.5vw,42px) 38px; }
html[data-version="2"] body:not(:has(> .panels)) > header {
  align-items:center; padding:0 0 16px; margin-bottom:18px; border-bottom:1px solid var(--line);
}
html[data-version="2"] body:not(:has(> .panels)) h1 { font-size:25px; letter-spacing:-.025em; line-height:1.12; }
html[data-version="2"] body:not(:has(> .panels)) .date { margin-left:auto; color:#126b7a; font-size:14px; font-weight:750; }
html[data-version="2"] body:not(:has(> .panels)) h2 { color:#49677a; letter-spacing:.11em; }
html[data-version="2"] body:not(:has(> .panels)) .navlinks a { color:#126b7a; }
html[data-version="2"] #checks {
  background:#fff; border:1px solid #cad5df; border-left:5px solid #126b7a;
  box-shadow:0 6px 20px #17364a0a; border-radius:10px; padding:13px 16px;
}
html[data-version="2"] #checks.fail { border-left-color:#c24943; }
html[data-version="2"] .pilots { gap:8px; padding:7px 0 3px; }
html[data-version="2"] button.p, html[data-version="2"] .pp { background:#fff; border-color:#c5d3da; box-shadow:0 2px 6px #17364a0a; }
html[data-version="2"] .bar { margin:14px 0 12px; }
html[data-version="2"] .bar button, html[data-version="2"] button.act {
  border-radius:9px; padding:8px 14px; font-weight:700;
}
html[data-version="2"] .wrap {
  border:1px solid #c8d5de; border-radius:12px; box-shadow:0 8px 24px #17364a10;
}
html[data-version="2"] #grid { background:#fff; }
html[data-version="2"] #grid thead th { background:#17364a; color:#eff7f8; font-size:12px; letter-spacing:.015em; }
html[data-version="2"] #grid tbody tr:hover td:not(.lunch), html[data-version="2"] #grid tbody tr:hover th.ac { background:#eef6f7; }
html[data-version="2"] #grid tbody th.ac { background:#f9fbfc; border-left-width:6px; }
html[data-version="2"] #grid th, html[data-version="2"] #grid td { border-color:#dce4e9; padding-top:7px; padding-bottom:7px; }
html[data-version="2"] .slot { border-radius:5px; padding:3px 8px; }
html[data-version="2"] .tslot, html[data-version="2"] .card, html[data-version="2"] .row {
  background:#fff; border-color:#cbd7df; box-shadow:0 5px 16px #17364a0b;
}
html[data-version="2"] .card { border-radius:12px; padding:15px 16px; }
html[data-version="2"] .cards { gap:14px; }
html[data-version="2"] .card h3 { color:#17364a; font-size:16px; }
html[data-version="2"] :is(input[type=text],input[type=search],.addbar select) {
  background:#f7fafb; border-color:#bfced8; border-radius:8px;
}
html[data-version="2"] .pill.s { color:#137b66; border-color:#137b66; }
html[data-version="2"] .pill.s.on { color:#fff; background:#137b66; }
html[data-version="2"] .pill.u { color:#ba4b47; border-color:#ba4b47; }
html[data-version="2"] .pill.u.on { color:#fff; background:#ba4b47; }
html[data-version="2"] .chip[aria-pressed="true"], html[data-version="2"] button.act.primary,
html[data-version="2"] #editBtn.on { background:#126b7a; color:#fff; border-color:#126b7a; }
html[data-version="2"] .note { color:#607487; }
html[data-version="2"] #info .box { border:1px solid #bfd0d8; box-shadow:0 22px 60px #0b253a55; }
/* The planner keeps its whiteboard orientation, with a cleaner operations-board finish. */
html[data-version="2"] .board { border:1px solid #b9cbd5; border-radius:12px; box-shadow:0 10px 26px #17364a18; }
html[data-version="2"] #tbl { font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --ink:#b7c9d2; --blue:#126b7a; --red:#a35439; }
html[data-version="2"] #tbl th, html[data-version="2"] #tbl td { border-width:1px; }
html[data-version="2"] #tbl thead th { background:#f1f6f8; }
html[data-version="2"] #tbl tbody th.time { background:#f1f6f8; color:#a35439; font-size:18px; }
html[data-version="2"] #tbl td { font-size:15px; font-weight:650; }
html[data-version="2"] #tbl th.ac span { font-size:15px; color:#126b7a; }

@media (max-width:760px) {
  html[data-version="2"] body:has(> .panels) { display:flex; }
  html[data-version="2"] body:has(> .panels) nav {
    width:100%; flex-direction:row; flex-wrap:wrap; align-items:center; gap:3px;
    padding:7px 9px 5px; overflow:visible; border-right:0;
  }
  html[data-version="2"] .brand { flex:1 0 42%; padding:2px 5px; font-size:18px; }
  html[data-version="2"] .brand-mark { width:30px; height:30px; font-size:17px; }
  html[data-version="2"] .brand small { font-size:8px; }
  html[data-version="2"] body:has(> .panels) nav button[role="tab"] {
    order:2; flex:1 1 calc(25% - 5px); width:auto; min-width:0;
    text-align:center; padding:10px 3px; font-size:12px; white-space:normal;
  }
  html[data-version="2"] body:has(> .panels) nav button[role="tab"][aria-selected="true"] { box-shadow:inset 0 -3px 0 #dfb767; }
  html[data-version="2"] body:has(> .panels) .who { order:3; flex:1 0 100%; padding:2px 5px; font-size:10px; text-align:right; }
  html[data-version="2"] body:has(> .panels) .who button { min-height:36px; }
  html[data-version="2"] body:has(> .panels) .panels { min-height:0; }
  html[data-version="2"] body:not(:has(> .panels)) { padding:17px 12px 28px; }
  html[data-version="2"] body:not(:has(> .panels)) h1 { font-size:19px; }
  html[data-version="2"] body:not(:has(> .panels)) .date { margin-left:0; }
  html[data-version="2"] body:not(:has(> .panels)) > header { gap:4px 8px; padding-bottom:12px; margin-bottom:12px; }
  html[data-version="2"] .cards { grid-template-columns:minmax(0,1fr); gap:10px; }
  html[data-version="2"] .card { min-width:0; padding:13px; }
  html[data-version="2"] :is(input[type=text],input[type=search],.addbar select) { font-size:16px; min-height:42px; }
  html[data-version="2"] .bar button, html[data-version="2"] button.act,
  html[data-version="2"] button.p, html[data-version="2"] .pp,
  html[data-version="2"] .pill, html[data-version="2"] .chip { min-height:44px; }
  html[data-version="2"] .bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  html[data-version="2"] .bar button { padding:8px 4px; }
  html[data-version="2"] .pilots { flex-wrap:nowrap; overflow-x:auto; margin:0 -12px 10px; padding:4px 12px 9px; scrollbar-width:thin; }
  html[data-version="2"] .pilots .label { flex:none; }
  html[data-version="2"] #pinfo { margin-bottom:9px; }
  html[data-version="2"] .trow { display:grid; grid-template-columns:minmax(84px,31%) minmax(0,1fr); gap:8px; min-height:54px; padding:8px 10px; }
  html[data-version="2"] .trow .ac { flex-basis:auto; min-width:0; overflow-wrap:anywhere; font-size:13px; }
  html[data-version="2"] .trow > div { min-width:0; }
  html[data-version="2"] .trow .slot { margin:2px; padding:5px 7px; font-size:13px; }
  html[data-version="2"] .wrap { overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  html[data-version="2"] #info { overflow-y:auto; align-items:flex-start; }
  html[data-version="2"] #info .box { max-height:calc(100dvh - 32px); overflow-y:auto; }
  html[data-version="2"] .board { max-height:calc(100dvh - 150px); -webkit-overflow-scrolling:touch; }
  html[data-version="2"] .addbar { align-items:stretch; }
  html[data-version="2"] .addbar input#newName { flex-basis:100%; }
  html[data-version="2"] .addbar button { min-height:44px; }
  html[data-version="2"] .tools { align-items:stretch; }
  html[data-version="2"] .btns { width:100%; }
  html[data-version="2"] .btns button { min-height:44px; }
}
@media (max-width:360px) {
  html[data-version="2"] .brand { font-size:16px; }
  html[data-version="2"] body:has(> .panels) nav button[role="tab"] { font-size:11px; }
  html[data-version="2"] .cgrid { grid-template-columns:minmax(0,1fr); }
}
@media print {
  html[data-version="2"] body { background:#fff; }
  html[data-version="2"] .card, html[data-version="2"] .wrap { box-shadow:none; }
}

/* The new page structures are invisible in Version 1. */
.v2-intro, #v2-board { display:none; }
.programme-layout, .programme-side, .programme-main { display:contents; }

/* Version 2 uses a full site language: strong section headers and work surfaces. */
html[data-version="2"] body:not(:has(> .panels)) {
  background:radial-gradient(circle at 85% -10%,#c6dde3 0,transparent 34%),#e9eef3;
  padding:22px clamp(16px,3vw,46px) 45px;
}
html[data-version="2"] body:not(:has(> .panels)) > header {
  margin:0 0 18px; padding:0 0 11px; border-bottom:1px solid #bdced7;
}
html[data-version="2"] body:not(:has(> .panels)) > header h1 {
  font-size:12px; font-weight:800; letter-spacing:.16em; color:#567284;
}
html[data-version="2"] body:not(:has(> .panels)) > header .date {
  margin-left:auto; font-size:12px; letter-spacing:.06em; text-transform:uppercase;
}
html[data-version="2"] .v2-intro {
  display:flex; justify-content:space-between; align-items:center; gap:18px;
  min-height:160px; margin:0 0 22px; padding:28px clamp(22px,3vw,42px);
  border-radius:18px; color:#fff; overflow:hidden; position:relative;
  background:linear-gradient(112deg,#0d293d 0%,#15516a 68%,#147585 100%);
  box-shadow:0 14px 28px #0b314238;
}
html[data-version="2"] .v2-intro::after {
  content:""; position:absolute; width:280px; height:280px; right:-75px; top:-175px;
  border:2px solid #ffffff22; border-radius:50%; box-shadow:0 0 0 45px #ffffff09,0 0 0 90px #ffffff06;
}
html[data-version="2"] .v2-intro > div { position:relative; z-index:1; }
html[data-version="2"] .v2-eyebrow {
  display:block; margin-bottom:10px; color:#e2b65c; font-size:10px;
  font-weight:850; letter-spacing:.2em;
}
html[data-version="2"] .v2-intro h2 {
  margin:0 0 6px!important; color:#fff!important; font-size:clamp(28px,3vw,42px)!important;
  font-weight:780; letter-spacing:-.04em!important; line-height:1.05;
  text-transform:none!important;
}
html[data-version="2"] .v2-intro p { margin:0; color:#c8e0e7; font-size:14px; }
html[data-version="2"] .v2-intro-mark {
  z-index:1; font-size:clamp(36px,5vw,72px); font-weight:900; letter-spacing:-.08em;
  color:#ffffff18; white-space:nowrap;
}

/* Programme: schedule on the left, operating checks and crew on the right. */
html[data-version="2"] .programme-layout {
  display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:18px;
  align-items:start;
}
html[data-version="2"] .programme-main {
  display:block; grid-column:1; grid-row:1; min-width:0;
}
html[data-version="2"] .programme-side {
  display:flex; flex-direction:column; grid-column:2; grid-row:1; gap:12px;
  position:sticky; top:16px; min-width:0;
}
html[data-version="2"] .programme-side::before {
  content:"CREW & CHECKS"; display:block; color:#496779; font-size:11px;
  font-weight:850; letter-spacing:.17em; padding:0 3px;
}
html[data-version="2"] .programme-side #checks {
  margin:0; padding:15px; border-left-width:4px; border-radius:12px;
}
html[data-version="2"] .programme-side .pilots {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;
  margin:0; padding:14px; border:1px solid #c6d4dc; border-radius:12px;
  background:#fff; box-shadow:0 6px 18px #17364a0b;
}
html[data-version="2"] .programme-side .pilots .label {
  grid-column:1/-1; margin:0 0 2px; color:#496779; font-weight:800;
  text-transform:uppercase; letter-spacing:.12em; font-size:11px;
}
html[data-version="2"] .programme-side button.p {
  display:flex; align-items:center; justify-content:space-between;
  min-height:38px; width:100%; border-left:4px solid hsl(var(--h) var(--s) var(--l));
  border-radius:7px; text-align:left;
}
html[data-version="2"] .programme-side #pinfo {
  margin:0; padding:14px; min-height:0; border:1px solid #c6d4dc;
  border-radius:12px; background:#fff; box-shadow:0 6px 18px #17364a0b;
}
html[data-version="2"] .programme-side .hint {
  display:block; margin:0; padding:12px 14px; border-radius:10px;
  color:#627b89; background:#dce7ec; line-height:1.55;
}
html[data-version="2"] .programme-main .bar {
  margin:0 0 14px; padding:5px; width:max-content; border:1px solid #c2d1da;
  border-radius:11px; background:#dfe8ed;
}
html[data-version="2"] .programme-main .bar button {
  min-height:38px; border:0; background:transparent; border-radius:7px;
}
html[data-version="2"] .programme-main .bar button[aria-pressed="true"] {
  background:#fff; color:#14364a; box-shadow:0 2px 7px #17364a22;
}
html[data-version="2"] .programme-main #edit[aria-pressed="true"] { background:#ba7524; color:#fff; }
html[data-version="2"] body.tv #timeview {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
html[data-version="2"] .tslot { border-radius:11px; overflow:hidden; }
html[data-version="2"] .tslot h3 { padding:12px 15px; font-size:14px; background:#17364a; }
html[data-version="2"] .trow { min-height:46px; }
html[data-version="2"] .programme-main .legend {
  padding:10px 0 0; border-top:1px solid #cbd7df; margin-top:16px;
}
html[data-version="2"] .programme-main .note { font-size:12px; }

/* Planner: a purpose-built timeline replaces the rotated whiteboard in Version 2. */
html[data-version="2"] #board { display:none; }
html[data-version="2"] #v2-board {
  display:grid; gap:10px; max-width:1100px; margin:auto;
}
html[data-version="2"] #v2-board[hidden] { display:none; }
html[data-version="2"] .v2-time-block {
  display:grid; grid-template-columns:130px minmax(0,1fr);
  border:1px solid #c4d3dc; border-radius:13px; background:#fff;
  box-shadow:0 5px 18px #17364a0c; overflow:hidden;
}
html[data-version="2"] .v2-time-label {
  display:flex; flex-direction:column; justify-content:center; gap:2px;
  background:#15364a; color:#fff; padding:16px;
}
html[data-version="2"] .v2-time-label small { color:#88b6c2; font-size:10px; font-weight:850; letter-spacing:.13em; }
html[data-version="2"] .v2-time-label strong { font-size:25px; letter-spacing:-.04em; }
html[data-version="2"] .v2-time-label span { color:#bad4dc; font-size:11px; }
html[data-version="2"] .v2-time-flights {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(195px,1fr)); gap:9px;
  align-content:center; padding:12px;
}
html[data-version="2"] .v2-flight {
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  min-width:0; padding:12px; border:1px solid #d4e0e6; border-radius:9px;
  background:#f3f8fa;
}
html[data-version="2"] .v2-flight strong, html[data-version="2"] .v2-flight small { display:block; }
html[data-version="2"] .v2-flight strong { color:#14364a; font-size:13px; }
html[data-version="2"] .v2-flight small { color:#69808d; font-size:10px; margin-top:3px; }
html[data-version="2"] .v2-flight b { flex:none; color:#126b7a; font-size:13px; }
html[data-version="2"] .v2-flight.us { border-color:#e7c5c3; background:#fff3f1; }
html[data-version="2"] .v2-no-flights { align-self:center; color:#80919a; font-size:13px; padding:8px; }
html[data-version="2"] .v2-time-block.lunch .v2-time-label { background:#9b682b; }
html[data-version="2"] .v2-time-block.lunch .v2-time-flights { background:#fff6e7; }
html[data-version="2"] body:has(#v2-board) > .note { max-width:1100px; margin:17px auto; }

/* Fleet: a manifest of compact, scan-friendly aircraft rows. */
html[data-version="2"] body:has(#groups) .summary {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 20px;
}
html[data-version="2"] body:has(#groups) .summary span {
  display:flex; flex-direction:column; gap:3px; padding:17px 20px;
  border:1px solid #c6d4dc; border-radius:12px; background:#fff;
  color:#5c7584; text-transform:uppercase; font-size:10px; font-weight:800;
  letter-spacing:.11em; box-shadow:0 5px 16px #17364a0b;
}
html[data-version="2"] body:has(#groups) .summary b {
  font-size:30px; line-height:1; letter-spacing:-.05em;
}
html[data-version="2"] body:has(#groups) #groups h2 {
  margin:22px 0 10px; padding-left:10px; border-left:4px solid #e2b65c;
  color:#24485a; font-size:13px; font-weight:850;
}
html[data-version="2"] body:has(#groups) .cards {
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
}
html[data-version="2"] body:has(#groups) .card {
  display:grid; grid-template-columns:95px minmax(0,1fr); gap:9px 12px;
  align-items:center; border-left:0; border-top:5px solid var(--cat);
  padding:14px 16px;
}
html[data-version="2"] body:has(#groups) .card h3 {
  grid-column:1/-1; margin:0 0 4px; padding-bottom:9px;
  border-bottom:1px solid #e0e8ec; font-size:17px;
}
html[data-version="2"] body:has(#groups) .card label {
  font-size:10px; color:#607887; font-weight:800; letter-spacing:.08em;
}
html[data-version="2"] body:has(#groups) .card .regwarn { grid-column:1/-1; }
html[data-version="2"] body:has(#groups) .card .pills { grid-column:2; }
html[data-version="2"] body:has(#groups) .card .pill { min-height:32px; }

/* Crew: profile panels with bold identity blocks and a ratings area. */
html[data-version="2"] body:has(#cards) .tools {
  margin:0 0 14px; align-items:center; justify-content:space-between;
}
html[data-version="2"] body:has(#cards) .count {
  margin:0; padding:8px 12px; border-radius:8px; background:#fff;
  border:1px solid #c6d4dc; color:#426174; font-weight:800;
}
html[data-version="2"] body:has(#cards) #pills {
  padding:11px; margin:0 0 16px; border:1px solid #c6d4dc;
  border-radius:12px; background:#fff;
}
html[data-version="2"] body:has(#cards) .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
html[data-version="2"] body:has(#cards) .card { padding:0 0 16px; overflow:hidden; }
html[data-version="2"] body:has(#cards) .card .top {
  padding:16px; margin:0 0 12px; background:#17364a;
}
html[data-version="2"] body:has(#cards) .card .top .dot { width:20px; height:20px; border:2px solid #fff7; }
html[data-version="2"] body:has(#cards) .card .top input {
  background:#fff; border:0; color:#17364a; font-weight:750;
}
html[data-version="2"] body:has(#cards) .card .top .ini {
  width:52px; height:44px; font-size:18px; border-radius:8px;
}
html[data-version="2"] body:has(#cards) .card .top .name { height:44px; font-size:15px; }
html[data-version="2"] body:has(#cards) .card .top .del { color:#fff; }
html[data-version="2"] body:has(#cards) .card .grp,
html[data-version="2"] body:has(#cards) .card .chips { margin-left:16px; margin-right:16px; }
html[data-version="2"] body:has(#cards) .card .grp { margin-top:11px; color:#47677a; font-weight:850; }
html[data-version="2"] body:has(#cards) .card .chip { color:#3c6374; background:#f0f6f8; border-color:#c6d8df; }
html[data-version="2"] body:has(#cards) .card .chip[aria-pressed="true"] { background:#126b7a; color:#fff; }

/* Admin: two working queues with clear role controls. */
html[data-version="2"] .admin-grid {
  display:grid; grid-template-columns:minmax(260px,2fr) minmax(0,3fr);
  align-items:start; gap:16px;
}
html[data-version="2"] .admin-section {
  min-width:0; padding:16px; border:1px solid #c5d4dc;
  border-radius:13px; background:#f7fafb; box-shadow:0 6px 18px #17364a0b;
}
html[data-version="2"] .admin-section h2 {
  margin:0 0 15px!important; padding-bottom:12px;
  border-bottom:1px solid #d4e0e6; color:#254d61!important;
}
html[data-version="2"] .admin-section .row {
  padding:14px; border-radius:9px; box-shadow:none;
}
html[data-version="2"] .admin-section .who b { color:#17364a; }
html[data-version="2"] .admin-section .btns { gap:5px; }
html[data-version="2"] .admin-section .pill { border-radius:7px; }

@media (max-width:1100px) {
  html[data-version="2"] .programme-layout { grid-template-columns:minmax(0,1fr) 255px; }
  html[data-version="2"] body:has(#groups) .cards,
  html[data-version="2"] body:has(#cards) .cards { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  html[data-version="2"] body:not(:has(> .panels)) { padding:13px 12px 30px; }
  html[data-version="2"] .v2-intro { min-height:125px; padding:18px 20px; margin-bottom:15px; border-radius:13px; }
  html[data-version="2"] .v2-intro h2 { font-size:29px!important; }
  html[data-version="2"] .v2-intro p { font-size:12px; }
  html[data-version="2"] .v2-intro-mark { font-size:34px; }
  html[data-version="2"] .programme-layout { display:flex; flex-direction:column; gap:12px; }
  html[data-version="2"] .programme-side { position:static; width:100%; order:1; gap:9px; }
  html[data-version="2"] .programme-main { width:100%; order:2; }
  html[data-version="2"] .programme-side .pilots {
    display:flex; flex-wrap:nowrap; overflow-x:auto; margin:0; padding:10px;
  }
  html[data-version="2"] .programme-side .pilots .label { align-self:center; }
  html[data-version="2"] .programme-side button.p { width:auto; flex:none; min-height:44px; }
  html[data-version="2"] .programme-side #pinfo { padding:10px 12px; }
  html[data-version="2"] .programme-side .hint { display:none; }
  html[data-version="2"] .programme-main .bar { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  html[data-version="2"] body.tv #timeview { grid-template-columns:minmax(0,1fr); }
  html[data-version="2"] .v2-time-block { grid-template-columns:85px minmax(0,1fr); }
  html[data-version="2"] .v2-time-label { padding:11px; }
  html[data-version="2"] .v2-time-label strong { font-size:19px; }
  html[data-version="2"] .v2-time-flights { grid-template-columns:minmax(0,1fr); padding:9px; }
  html[data-version="2"] body:has(#groups) .summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  html[data-version="2"] body:has(#groups) .summary span { padding:10px 8px; font-size:9px; }
  html[data-version="2"] body:has(#groups) .summary b { font-size:23px; }
  html[data-version="2"] body:has(#groups) .card { grid-template-columns:80px minmax(0,1fr); gap:8px; padding:12px; }
  html[data-version="2"] body:has(#cards) .card .top { gap:7px; padding:12px; }
  html[data-version="2"] .admin-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
}
@media (max-width:380px) {
  html[data-version="2"] .v2-intro-mark { display:none; }
  html[data-version="2"] body:has(#groups) .summary span { letter-spacing:0; font-size:8px; }
  html[data-version="2"] body:has(#groups) .card { grid-template-columns:72px minmax(0,1fr); }
}

/* Programme (Version 2): the pilots sit in a sticky strip right under the tabs; the banner, checks and schedule follow below. */
html[data-version="2"] body:has(.programme-layout) { display:flex; flex-direction:column; }
html[data-version="2"] .programme-layout, html[data-version="2"] .programme-side { display:contents; }
html[data-version="2"] .programme-side::before { content:none; display:none; }
html[data-version="2"] .programme-side .pilots {
  order:-2; position:sticky; top:0; z-index:8;
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  margin:-26px calc(-1 * clamp(14px,2.5vw,42px)) 14px; padding:9px clamp(14px,2.5vw,42px);
  border:0; border-bottom:1px solid #bdced7; border-radius:0;
  background:#f6f9fb; box-shadow:0 6px 14px #17364a14;
}
html[data-version="2"] .programme-side .pilots .label { grid-column:auto; margin:0 4px 0 0; white-space:nowrap; }
html[data-version="2"] .programme-side button.p {
  display:inline-flex; width:auto; flex:none; min-height:34px; padding:4px 12px;
  justify-content:flex-start; gap:7px; border-radius:999px;
}
html[data-version="2"] .programme-side #pinfo { order:-1; margin:0 0 14px; }
html[data-version="2"] .programme-side #pinfo:empty { display:none; }
html[data-version="2"] .programme-side #checks { order:1; margin:0 0 14px; }
html[data-version="2"] .programme-main { display:block; order:2; width:100%; min-width:0; }
html[data-version="2"] .programme-side .hint { order:3; margin-top:14px; }
@media (max-width:760px) {
  html[data-version="2"] .programme-side .pilots {
    flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    margin:-17px -12px 12px; padding:8px 12px;
  }
  html[data-version="2"] .programme-side button.p { min-height:42px; }
}
/* a little more room in the top bar for the tabs, picker and sign-in */
html[data-version="2"] body:has(> .panels) nav button[role="tab"] { padding-left:16px; padding-right:16px; }
html[data-version="2"] body:has(> .panels) .who { font-size:11px; }

/* Aircraft cards: compact, two lines each. Line 1: name + status. Line 2: four wide boxes across the full width. */
html[data-version="2"] body:has(#groups) .cards { grid-template-columns:minmax(0,1fr); gap:6px; }
html[data-version="2"] body:has(#groups) .card {
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 160px minmax(0,1.8fr);
  align-items:center; gap:3px 12px; padding:7px 12px 9px; border-top:0; border-left:5px solid var(--cat); border-radius:10px;
}
html[data-version="2"] body:has(#groups) .card h3 {
  grid-column:1 / span 2; order:0; display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px;
  margin:0; padding:0; border:0; font-size:15px; line-height:1.3;
}
html[data-version="2"] body:has(#groups) .card .acts { float:none; margin-left:auto; }
html[data-version="2"] body:has(#groups) .card .pills {
  grid-column:3 / span 2; order:1; justify-self:end; justify-content:flex-end; align-items:center; gap:10px; flex-wrap:wrap;
}
html[data-version="2"] body:has(#groups) .card .cgrid { display:contents; }
html[data-version="2"] body:has(#groups) .card .cgrid > div { order:2; min-width:0; }
html[data-version="2"] body:has(#groups) .card label { margin:0 0 2px; font-size:9px; }
html[data-version="2"] body:has(#groups) .card .cgrid input[type=text] { min-height:32px; height:32px; padding:3px 10px; font-size:14px; }
html[data-version="2"] body:has(#groups) .card .regow { min-height:32px; height:32px; }
html[data-version="2"] body:has(#groups) .card .regow .pre { padding:0 0 0 9px; font-size:13px; }
html[data-version="2"] body:has(#groups) .card .regwarn { grid-column:auto; font-size:10px; }
html[data-version="2"] body:has(#groups) .card .pill { min-height:28px; padding:0 12px; font-size:12px; }
html[data-version="2"] body:has(#groups) .card .showrow { margin-left:0; font-size:11px; }
@media (max-width:640px) {
  html[data-version="2"] body:has(#groups) .card { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 10px 9px; }
  html[data-version="2"] body:has(#groups) .card h3 { grid-column:1 / -1; }
  html[data-version="2"] body:has(#groups) .card .pills { grid-column:1 / -1; justify-self:start; justify-content:flex-start; }
}

/* Aircraft status button: big solid rounded pill */
html[data-version="2"] body:has(#groups) .card .pill.statusbtn {
  min-height:34px; padding:0 18px; font-size:15px; font-weight:700; border-radius:999px; border:0; color:#fff; opacity:1;
}
html[data-version="2"] body:has(#groups) .card .pill.statusbtn.s { background:#4f9a6e; }
html[data-version="2"] body:has(#groups) .card .pill.statusbtn.u { background:#d65a55; }

/* Programme: the pilots sit below the "Today's flying" banner (and stick to the top once you scroll past it) */
html[data-version="2"] body:has(.programme-layout) > header { order:-4; }
html[data-version="2"] body:has(.programme-layout) > .v2-intro { order:-3; }
html[data-version="2"] .programme-side .pilots { margin-top:0; }
@media (max-width:760px) { html[data-version="2"] .programme-side .pilots { margin-top:0; } }
