﻿:root{--ink:#142d42;--muted:#607287;--accent:#a32d3d;--accent-hover:#842331;--link:#284a63;--line:#dce5ed;--bs-primary:#a32d3d;--bs-primary-rgb:163,45,61}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:#f3f6fa;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
h1,h2,h3{letter-spacing:-.035em;color:var(--ink)}h1{font-weight:700;font-size:clamp(1.9rem,4vw,2.6rem)}
a{color:#284a63}.text-muted{color:var(--muted)!important}.site-content{flex:1;padding-top:30px}.time-notice{font-size:.78rem;margin-bottom:0}
.site-header{background:#142d42;border-bottom:3px solid #a32d3d}.site-header .navbar{min-height:84px}.site-header .navbar-brand{color:#fff;font-weight:650;white-space:nowrap;letter-spacing:-.04em;font-size:1.4rem;word-break:normal}
.brand-mark{display:inline-grid;place-items:center;background:#25475c;border:1px solid #466778;border-radius:12px;width:36px;height:36px;margin-right:6px;color:#e3dce0}.site-header .nav-link{font-size:.88rem;color:#c7d5e3;border:0;background:transparent;border-radius:8px;padding:.6rem .65rem!important}.site-header .nav-link:hover,.site-header .nav-link.active{color:#fff;background:#284258}.logout-button{color:#deebf6;border:1px solid #6b8296;white-space:nowrap}.logout-button:hover{background:#fff;color:#142d42}
.card{border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px #12304b05;overflow:hidden}.card-body{padding:1.6rem}.shadow-sm{box-shadow:0 5px 20px #12304b07!important}
.btn{border-radius:9px;font-weight:600;padding:.55rem .95rem}.btn-sm{padding:.35rem .65rem}.btn-primary{background:#a32d3d!important;border-color:#a32d3d!important}.btn-primary:hover{background:#842331!important}.btn-outline-primary{color:#284a63;border-color:#284a63}.btn-outline-primary:hover{background:#284a63;border-color:#284a63;color:#fff}
.form-control,.form-select{border-color:#cfdbe5;border-radius:9px;padding:.65rem .8rem}.form-control:focus,.form-select:focus{border-color:var(--link);box-shadow:0 0 0 .2rem #284a6325}.form-label{font-weight:600;font-size:.9rem}.table{--bs-table-bg:transparent}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f6f8fb}
.site-footer.footer{position:static;line-height:normal;white-space:normal;padding:24px 0;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);margin-top:30px}
.travel-hero{position:relative;background:linear-gradient(90deg,#142d42f5 0%,#142d42d9 45%,#142d4240 100%),url('/images/challenger-605.jpeg') center 46%/cover;border-radius:20px;color:white;padding:clamp(26px,5vw,54px);margin-bottom:28px;min-height:265px;display:flex;flex-direction:column;justify-content:center}.travel-hero h1{color:white;font-size:clamp(2rem,5vw,3.3rem)}.travel-hero .eyebrow{color:#d5dee5}.travel-hero .lead{max-width:660px;margin:0;color:#e0eaf2;font-size:1.05rem}.travel-hero a{color:#fff}
.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.16em;color:#284a63;margin-bottom:10px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 24px}.fleet-source{font-size:.75rem;color:var(--muted);white-space:nowrap}.fleet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.fleet-stats>div{background:white;border:1px solid var(--line);border-radius:14px;padding:20px 24px;display:flex;flex-direction:column}.fleet-stats strong{font-size:2rem;line-height:1.2;letter-spacing:-.05em}.fleet-stats span{color:var(--muted);font-size:.85rem;margin-top:6px}
#fleet-map{height:430px;z-index:0}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:100%;background:#946b30}.legend-dot.live{background:#294d68}.legend-dot.landed{background:#5a728b}.fleet-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:24px}.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fleet-badge{font-size:.65rem;padding:4px 8px;border-radius:20px;background:#f6ebd6;color:#78551c}.fleet-badge.live{background:#e9eff4;color:#294d68}.fleet-badge.landed{background:#e6eefb;color:#5a728b}.fleet-location{margin:18px 0 4px;font-weight:650}.fleet-aircraft[hidden]{display:none}.skip-link:focus{background:white;padding:10px;z-index:10000}.alert{border-radius:12px}
@media(max-width:1199px){.site-header .navbar-collapse{padding:16px 0}.site-header form{margin-top:12px}.site-header .dropdown-menu{background:#fff}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.site-content{padding-top:20px}.site-header .navbar{min-height:72px}.page-heading{align-items:flex-start;flex-direction:column;gap:0}.fleet-stats{gap:8px}.fleet-stats>div{padding:14px 12px}.fleet-stats strong{font-size:1.7rem}.fleet-stats span{font-size:.72rem}.fleet-grid,.fleet-toolbar{grid-template-columns:1fr}.fleet-toolbar{gap:12px}#fleet-map{height:330px}.card-body{padding:1.2rem}.travel-hero{min-height:245px;background-position:60% center}.time-notice{font-size:.7rem}.fleet-source{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Fleet: one alphabetically ordered list, with a stacked mobile layout. */
.fleet-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0}.fleet-list-row{display:grid;grid-template-columns:170px minmax(0,1fr) 230px;gap:24px;padding:22px 24px;align-items:start}.fleet-list-row+.fleet-list-row{border-top:1px solid var(--line)}.fleet-list-row:hover{background:#f8fafc}.fleet-flight-details{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.78rem}.fleet-flight-details span{color:var(--muted)}.fleet-flight-details strong{display:block;color:var(--ink);font-weight:600}.fleet-observation{text-align:right}.fleet-plane-marker{background:none;border:0;filter:drop-shadow(0 1px 2px #142d4266)}.fleet-plane-legend{color:#a32d3d;font-size:1.1rem}.fleet-plane-marker:focus{outline:3px solid #0c5db8;border-radius:50%}
@media(max-width:767px){.fleet-list-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px}.fleet-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fleet-identity h3{margin-bottom:0!important}.fleet-identity p{margin-top:0!important}.fleet-observation{text-align:left;display:flex;gap:12px;justify-content:space-between;align-items:center}.fleet-observation p{margin-bottom:0!important}.fleet-observation .btn{flex-shrink:0}.fleet-flight-details{gap:8px 16px}}

.fleet-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%}
@media(max-width:767px){.fleet-observation{flex-wrap:wrap}.fleet-actions{justify-content:flex-start}}

.leaflet-tooltip.fleet-registration-label{font:600 10px/1.25 system-ui,sans-serif;color:#18364a;background:#fffffff0;border:1px solid #d7e2ea;border-radius:3px;padding:2px 4px;box-shadow:none;pointer-events:none}
.leaflet-tooltip.fleet-registration-label:before{display:none}
.leaflet-tooltip.fleet-registration-label.is-crowded{visibility:hidden}
.leaflet-tooltip.fleet-registration-label.is-highlighted{visibility:visible;z-index:1000;border-color:#597489;background:#fff}
.work-countdown{margin:18px 0 0;padding:14px 18px;border-left:3px solid #a32d3d;border-radius:0 8px 8px 0;background:#ffffffd9;color:#17364d;font-size:1rem;line-height:1.6}
@media(max-width:1199px){.work-countdown{padding:12px 14px}}

.language-switch{display:inline-flex;margin-top:0;margin-bottom:0}
.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:66px;min-height:38px;padding:7px 12px;border:1px solid #66839880;border-radius:999px;color:#e8f4f7;background:transparent;font-size:.78rem;font-weight:700;letter-spacing:.05em;transition:background .15s,border-color .15s}
.language-toggle:hover{color:#fff;background:#ffffff12;border-color:#b8c6d2}.language-toggle:focus-visible{outline:2px solid #c4d0db;outline-offset:3px}
.login-shell{display:grid;grid-template-columns:1.05fr 1fr;max-width:1060px;margin:28px auto 46px;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 55px #1230470c}
.login-visual{display:flex;flex-direction:column;background:#142d42;color:#d9e9f0;position:relative}
.login-picture{aspect-ratio:1.5;overflow:hidden;position:relative}.login-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}.login-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#142d42 0%,#142d4200 35%)}
.login-story{padding:14px 36px 36px;position:relative}.login-story .eyebrow{color:#d5dee5;font-size:.68rem;margin-bottom:16px}.login-story h2{font-size:clamp(1.6rem,3vw,2.35rem);font-weight:700;letter-spacing:-.035em;color:#fff;margin-bottom:16px}.login-story>p:not(.eyebrow){max-width:350px;font-size:.94rem;line-height:1.7;color:#c7dce6}
.login-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.login-features span{border:1px solid #b8c6d240;border-radius:99px;padding:5px 10px;font-size:.68rem;color:#dae4ec}
.login-panel{padding:32px clamp(26px,3.5vw,42px) 34px;display:flex;flex-direction:column;justify-content:center}
.login-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:40px}.login-brand{display:flex;align-items:center;gap:9px;font-size:.97rem;font-weight:700;color:#17394e}.login-brand .brand-mark{width:30px;height:30px;background:#f5f0f1;color:#a32d3d;border-color:#e8dce0;font-size:1.1rem}
.login-tools .language-toggle{color:#24485c;border-color:#d7e4e9}.login-tools .language-toggle:hover{background:#f1f4f7;border-color:#a9bbc8;color:var(--ink)}
.login-welcome .eyebrow{font-size:.65rem;letter-spacing:.14em;color:#a32d3d;margin-bottom:12px}.login-welcome h1{font-size:clamp(1.9rem,3vw,2.35rem);letter-spacing:-.035em;margin-bottom:10px}.login-welcome>p:last-child{font-size:.94rem;color:var(--muted);margin-bottom:28px}
.login-field{margin-bottom:20px}.login-field .form-label{font-size:.8rem;font-weight:600;margin-bottom:7px}.login-field .form-control,.login-field .input-group .btn{min-height:48px}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;font-size:.9rem;margin-top:5px}.login-submit span:last-child{font-size:1.2rem;line-height:1}
.login-help{font-size:.78rem;display:inline-block;margin-top:22px;text-decoration:none}.login-help:hover{text-decoration:underline}.login-invitation{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:.73rem;line-height:1.6;color:var(--muted)}
@media(max-width:1199px){.site-header .language-switch{margin:10px 0}.site-header .language-toggle{margin-bottom:2px}}
@media(max-width:767px){.login-shell{grid-template-columns:1fr;margin:0 auto 24px;max-width:480px;border-radius:18px}.login-picture{height:180px;aspect-ratio:auto}.login-picture img{object-position:center 58%}.login-story{padding:0 22px 20px}.login-story h2{font-size:1.4rem;margin:0}.login-story .eyebrow,.login-story>p:not(.eyebrow),.login-features{display:none}.login-panel{padding:24px 24px 28px}.login-tools{margin-bottom:28px}.login-welcome h1{font-size:1.9rem}.login-welcome>p:last-child{margin-bottom:22px}.login-field{margin-bottom:16px}.login-invitation{margin-top:20px;padding-top:16px}}

/* Restrained navy/burgundy palette: primary actions are burgundy; secondary actions remain navy. */
.btn-primary{--bs-btn-focus-shadow-rgb:163,45,61;--bs-btn-active-bg:#842331;--bs-btn-active-border-color:#842331;--bs-btn-disabled-bg:#a32d3d;--bs-btn-disabled-border-color:#a32d3d}
.btn-primary:active,.btn-primary.active{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}
.btn-outline-primary{--bs-btn-focus-shadow-rgb:40,74,99;--bs-btn-active-bg:#284a63;--bs-btn-active-border-color:#284a63;--bs-btn-disabled-color:#284a63;--bs-btn-disabled-border-color:#284a63}
a:hover{color:#172f45}.site-header .navbar-brand:hover,.site-header a.nav-link:hover{color:#fff}
.form-check-input:checked{background-color:var(--link);border-color:var(--link)}.form-check-input:focus{border-color:var(--link);box-shadow:0 0 0 .2rem #284a6325}
.login-tools .language-toggle:focus-visible{outline-color:var(--link)}
