/* air.navo24.com: the tracking.navo24.com layout; route lines, dots and accents in the Air colour (#7044EC, Navo mode palette). */
body.nv-apps[data-app=air] { --air: #7044EC; --air-dk: #4B23B8; --air-wash: #F0EBFE; }
.xa-ic-plane { --i: url(/example-site/icons/plane.svg); }
body[data-app=air] .xa-line { background: var(--air-dk); }
body[data-app=air] .xa-line-dash { background: repeating-linear-gradient(90deg, var(--air) 0 4px, transparent 4px 7px); }
body[data-app=air] .xa-dot-pol { border-color: var(--air-dk); }
body[data-app=air] .xa-dot-via { border: 2px solid var(--air); width: 9px; height: 9px; }
body[data-app=air] .xa-mk { border-color: var(--air-dk); }
body[data-app=air] .xa-mk-via { border-color: var(--air); }
body[data-app=air] .tl-item.completed .tl-dot, body[data-app=air] .tl-item.current .tl-dot { background: var(--air); }
body[data-app=air] .tl-item.completed .tl-line { background: var(--air); }
body[data-app=air] .tl-item.current .tl-dot { box-shadow: 0 0 0 4px var(--air-wash); }
.ac-air { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-1); color: var(--text-tertiary); }
.ac-air b { color: var(--text-secondary); font-weight: 500; }
.ac-hint { margin: 0; padding: var(--sp-7); font-size: var(--fs-2); color: var(--text-secondary); }
.ac-hint.err { color: var(--badge-error-text, #b42318); }
.ac-flight { display: flex; flex-direction: column; gap: 2px; padding: var(--sp-5) 0; border-bottom: 1px solid var(--divider); font-size: var(--fs-1); }
.ac-flight:last-child { border-bottom: 0; }
.ac-flight .t { font-weight: 600; color: var(--text-primary); }
.ac-flight .m { color: var(--text-tertiary); }
.ac-pad { padding: var(--sp-6) var(--sp-7); }
.ac-recent { display: flex; flex-wrap: wrap; gap: var(--sp-3); padding: 0 var(--sp-7) var(--sp-6); }
.ac-recent button { cursor: pointer; }
.ac-ovl { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; background: rgba(11, 13, 16, .45); padding: 16px; }
.ac-ovl[hidden] { display: none; }
.ac-ovl-card { max-width: 420px; padding: var(--sp-8); display: flex; flex-direction: column; gap: var(--sp-5); }
.ac-ovl-card p { margin: 0; color: var(--text-secondary); }

/* ===== Navo mobile app mode (html.in-app): fits 320-430px, no horizontal scroll, no AI Mode. Website layout untouched. ===== */
html.in-app, html.in-app body { overflow-x: hidden; max-width: 100%; scrollbar-width: none; }
html.in-app body.nv-apps .xa-trk { height: 100dvh; min-height: 0; }
html.in-app .xa-trk-side { left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; height: 62%; gap: 10px; }
html.in-app .xa-trk-search { padding: 8px; gap: 8px; }
html.in-app .xa-trk-search .mini-input { font-size: 16px; }
html.in-app .xa-trk-search .mini-btn { padding: 0 16px; }
html.in-app .xa-trk-head { padding: 18px 18px 14px; }
html.in-app .xa-trk-card .tab-row { padding: 0 18px; }
html.in-app .xa-tabp, html.in-app .ac-pad { padding-left: 18px; padding-right: 18px; }
html.in-app .xa-key, html.in-app .xa-powered, html.in-app .nai-btn, html.in-app .nai-wrap { display: none !important; }
html.in-app .xa-trk .maplibregl-ctrl-bottom-right { right: 12px; top: 12px; bottom: auto; }
html.in-app .xa-kpis { gap: 8px; }
html.in-app .xa-lane b { max-width: 42%; }
