/* NZ flights fuel map, layered on /bizintel/style.css and /datalake/style.css. */
:root{--sea:#08241d;--land:#173f30;--land-edge:#3f6f55;--route:#f4ecd0;--c-jet:#ffd16d;--c-prop:#8fd694;--c-heli:#fb8b62;--c-ga:#9fb4c8;--c-glider:#7a8f99;--airport:#cfd8c0}
html.corporate{--sea:#e9eef5;--land:#ffffff;--land-edge:#aeb6c2;--route:#171a20;--c-jet:#d9531e;--c-prop:#1f8a4c;--c-heli:#8a2be2;--c-ga:#3e6ae1;--c-glider:#7b8794;--airport:#5c5e62}

body.flights-page{min-height:100vh}
.flight-stage{position:relative;height:calc(100vh - 86px);min-height:560px;background:var(--sea);overflow:hidden}
.map-box{position:absolute;inset:0}
.map-box svg{display:block;width:100%;height:100%}
.land{fill:var(--land);stroke:var(--land-edge);stroke-width:1.2;stroke-linejoin:round}
.airport circle{fill:var(--airport);fill-opacity:.8}
.airport text{fill:var(--airport);font:600 10px var(--body,sans-serif);letter-spacing:.4px}
.route-line{fill:none;stroke:var(--route);stroke-width:1.6;stroke-dasharray:6 5;stroke-opacity:.8;pointer-events:none}
.route-done{fill:none;stroke:var(--route);stroke-width:2.4;stroke-opacity:.9;pointer-events:none}
.plane{cursor:pointer;outline:none}
.plane .icon{stroke:var(--sea);stroke-width:.8;stroke-linejoin:round;paint-order:stroke}
.plane .hit{fill:transparent}
.plane.jet .icon{fill:var(--c-jet)}.plane.prop .icon{fill:var(--c-prop)}.plane.heli .icon{fill:var(--c-heli)}
.plane.ga .icon{fill:var(--c-ga)}.plane.glider .icon,.plane.unknown .icon{fill:var(--c-glider)}
.plane:hover .icon,.plane:focus .icon,.plane.on .icon{stroke:var(--route);stroke-width:1.6}
.plane .ring{fill:none;stroke:var(--route);stroke-width:1.2;opacity:0}
.plane.on .ring,.plane:hover .ring{opacity:.8}

.info{position:absolute;top:16px;left:16px;z-index:5;width:min(320px,calc(100% - 32px));padding:18px 18px 14px;background:#061b16ee;border:2px solid var(--line,#395441);box-shadow:6px 6px 0 #031b12;max-height:calc(100% - 100px);overflow:auto}
.info h1{font-size:20px;line-height:1.2;margin:8px 0 6px}
.info .live-status{margin:8px 0 0!important;font-size:13px!important}
.totals{margin:14px 0 0;display:grid;grid-template-columns:1fr auto;gap:6px 14px;font-size:14px}
.totals dt{color:var(--muted)}
.totals dd{margin:0;text-align:right;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.price-note{margin:12px 0 0!important;font-size:12px!important;line-height:1.5!important;color:var(--muted)!important}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend svg{width:14px;height:14px}
.hint{margin:12px 0 0!important;font-size:12px!important;color:var(--muted)!important}
.credits{position:absolute;left:0;right:0;bottom:0;z-index:4;margin:0!important;padding:8px 16px;font-size:11px!important;line-height:1.5!important;color:var(--muted)!important;background:#061b16cc}
.credits a{color:inherit;text-decoration:underline}
.tip{max-width:340px}
.tip .row span{margin-right:8px}
.tip .note{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
.tip hr{border:0;border-top:1px solid #ffffff22;margin:6px 0}

html.corporate .info{background:#ffffffee;border:1px solid #d0d1d2;box-shadow:0 10px 30px #00000026;border-radius:var(--c-radius,6px)}
html.corporate .credits{background:#ffffffd9}
html.corporate .plane .icon{stroke:#fff}
html.corporate .tip{background:#fff;border:1px solid #d0d1d2;box-shadow:0 10px 30px #00000030;border-radius:var(--c-radius,6px);color:#393c41}
html.corporate .tip b{color:#171a20;font:600 14px/1.4 var(--c-font,sans-serif)}
html.corporate .tip hr{border-top-color:#e6e7e8}

@media(max-width:800px){
  /* On a phone the card stacks above the map, so it never covers an aircraft. */
  .flight-stage{height:calc(100vh - 72px);display:flex;flex-direction:column}
  .map-box{position:relative;inset:auto;flex:1 1 auto;min-height:0}
  .info{position:static;width:auto;margin:8px 12px 0;padding:10px 12px;max-height:none;box-shadow:3px 3px 0 #031b12}
  .info .level-label,.info .hint,.info .legend,.price-note{display:none}
  .info h1{font-size:15px;margin:0 0 2px}
  .info .live-status{margin:4px 0 0!important;font-size:12px!important}
  .totals{grid-template-columns:1fr auto;font-size:12px;margin-top:6px;gap:3px 12px}
  .credits{position:static;font-size:10px!important;padding:6px 10px}
  .tip{max-width:calc(100vw - 16px)}
}
