:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e5e7eb;background:#0b1020}
*{box-sizing:border-box}
body{margin:0;background:#0b1020}
header{height:72px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;background:#111827;border-bottom:1px solid #263044}
h1{margin:0;font-size:1.35rem}
.sub{color:#94a3b8;font-size:.85rem;margin-top:3px}
.header-actions{display:flex;gap:8px}
button{background:#1f2937;color:#f8fafc;border:1px solid #475569;border-radius:8px;padding:9px 12px;cursor:pointer}
button:hover{background:#334155}
main{height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,1fr) 330px}
.map-wrap{position:relative}
#map{height:100%;width:100%;background:#0f172a}
.status{position:absolute;z-index:500;left:12px;bottom:12px;background:rgba(15,23,42,.9);padding:8px 10px;border-radius:8px;font-size:.82rem;box-shadow:0 3px 18px rgba(0,0,0,.28)}
aside{overflow:auto;background:#111827;border-left:1px solid #263044}
.summary{display:grid;grid-template-columns:1fr 1fr;padding:14px;border-bottom:1px solid #263044}
.summary div{display:flex;flex-direction:column}
.summary strong{font-size:1.35rem}
.summary span{font-size:.75rem;color:#94a3b8}
.aircraft-list{padding:8px}
.aircraft{padding:10px;border:1px solid #263044;border-radius:9px;margin-bottom:8px;background:#0f172a;cursor:pointer}
.aircraft:hover{border-color:#64748b}
.aircraft .top{display:flex;justify-content:space-between;gap:10px;font-weight:700}
.aircraft .meta{margin-top:5px;font-size:.8rem;color:#a7b2c3;line-height:1.5}
.plane-icon{font-size:18px;line-height:18px;transform-origin:center;display:block}
.leaflet-tooltip{font-size:12px}
dialog{border:1px solid #475569;border-radius:12px;background:#111827;color:#f8fafc;width:min(92vw,430px)}
dialog::backdrop{background:rgba(0,0,0,.6)}
form{display:grid;gap:12px}
form h2{margin:0 0 4px}
label{display:grid;gap:5px;font-size:.85rem;color:#cbd5e1}
input{background:#0f172a;color:#fff;border:1px solid #475569;border-radius:7px;padding:9px}
.check{display:flex;align-items:center;gap:8px}
.check input{width:auto}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
@media(max-width:800px){
  header{height:auto;min-height:72px;gap:10px}
  .header-actions{flex-wrap:wrap;justify-content:flex-end}
  main{height:calc(100vh - 82px);display:block}
  aside{position:absolute;right:8px;top:92px;z-index:600;width:min(44vw,320px);max-height:42vh;border:1px solid #334155;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.4)}
}
