:root { --bg:#0b1220; --panel:#111a2e; --line:#22314f; --text:#dbe4f3; --muted:#8a9bb8; --acc:#38bdf8; --err:#ef4444; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:14px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color:var(--acc); text-decoration:none; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:10px 16px; border-bottom:1px solid var(--line); background:var(--panel); }
.topbar nav { display:flex; gap:12px; align-items:center; }
.brand { font-weight:700; color:var(--text); }
.wrap { max-width:1100px; margin:0 auto; padding:16px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:16px; margin-bottom:16px; }
.card.narrow { max-width:380px; margin:40px auto; display:flex; flex-direction:column; gap:10px; }
.card label { display:flex; flex-direction:column; gap:4px; color:var(--muted); }
input, select { background:#0d1628; color:var(--text); border:1px solid var(--line); border-radius:6px; padding:7px 9px; font:inherit; }
.btn { background:var(--acc); color:#04121f; border:0; border-radius:6px; padding:8px 14px; font-weight:600; cursor:pointer; }
.btn:disabled { opacity:.5; cursor:default; }
.btn-sm { padding:5px 10px; font-size:13px; }
.btn-secondary { background:#1e2b46; color:var(--text); }
.inline { display:inline; margin:0; }
.err { background:#3a1218; border:1px solid var(--err); color:#fecaca; padding:8px 10px; border-radius:6px; margin-bottom:12px; }
.hint { color:var(--muted); }
.small { font-size:12px; }
.mt { margin-top:12px; }
.row { display:flex; gap:8px; align-items:center; }
.row select { flex:1; }
table.data { width:100%; border-collapse:collapse; }
table.data th, table.data td { text-align:left; padding:7px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
table.data th { color:var(--muted); font-weight:500; font-size:12px; }
.pilot-head { display:flex; gap:28px; flex-wrap:wrap; }
.pilot-head div { display:flex; flex-direction:column; }
.pilot-head b { font-size:17px; }
.hidden { display:none; }
.x3-modal-overlay { position:fixed; inset:0; z-index:1000; background:rgba(2,6,15,.7); align-items:center; justify-content:center; }
.x3-modal-dialog { background:var(--panel); border:1px solid var(--line); border-radius:12px; width:94vw; max-height:88vh; overflow:auto; }
.x3-modal-header { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-bottom:1px solid var(--line); }
.x3-modal-body { padding:16px; }
.x3-modal-tabs { display:flex; gap:6px; padding:8px 16px 0; }
.x3-tab-btn { background:transparent; color:var(--muted); border:1px solid var(--line); border-bottom:0; border-radius:6px 6px 0 0; padding:6px 12px; cursor:pointer; }
.x3-tab-btn.active { color:var(--text); background:#17233d; }
.x3-hud-close-btn { background:transparent; border:0; color:var(--muted); font-size:18px; cursor:pointer; }
.x3-select-sm { padding:5px 8px; }
code { font-size:12px; color:#bae6fd; word-break:break-all; }
