:root { font: 16px system-ui,-apple-system,Segoe UI,sans-serif; color-scheme: light dark; }
body { margin:0; background:Canvas; color:CanvasText; }
main { max-width:760px; margin:8vh auto; padding:0 24px; }
h1 { font-size:clamp(2.5rem,7vw,4.5rem); letter-spacing:-.05em; margin:.15em 0; }
p { line-height:1.65; }
a { color:LinkText; }
.eyebrow { letter-spacing:.15em; font-size:.75rem; font-weight:700; }
.muted { opacity:.65; font-size:.92rem; }
form { margin-top:3rem; }
.form-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
input,select,button { font:inherit; border:1px solid GrayText; border-radius:7px; padding:.7rem .8rem; }
button { cursor:pointer; background:ButtonFace; color:ButtonText; }
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th,td { text-align:left; padding:.7rem .3rem; border-bottom:1px solid GrayText; vertical-align:top; }
.atlas-shell { max-width:1120px; margin:4vh auto; }
.atlas-form { margin-top:1rem; }
.atlas-shell svg { width:100%; height:auto; background:#102e42; border-radius:9px; margin:1rem 0; }
.atlas-shell table { margin-top:1rem; }


/* Flights admin: concise, server-rendered sections instead of a single long page. */
.admin-shell { max-width:1100px; margin:28px auto 60px; }
.admin-shell h1 { font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.035em;margin:.2em 0 .6em; }
.admin-shell h2 { font-size:1.45rem;margin:1.5rem 0 .65rem; }
.admin-shell h3 { font-size:1.09rem;margin:.7rem 0 .4rem; }
.admin-shell p { margin:.55rem 0 .9rem;line-height:1.48; }
.admin-shell form { margin:.65rem 0; }
.admin-shell label { display:block; margin:.35rem 0; }
.admin-shell input:not([type="checkbox"]), .admin-shell select { max-width:100%; box-sizing:border-box; }
.admin-shell label:has(input[type="checkbox"]) { display:flex;gap:.5rem;align-items:flex-start; }
.admin-shell input[type="checkbox"] { width:1.1rem;height:1.1rem;flex:none; }
.admin-nav { display:flex; gap:7px; flex-wrap:wrap; border-bottom:1px solid GrayText;
  padding:10px 0 12px; margin:10px 0 22px; }
.admin-nav a { display:inline-block; border:1px solid GrayText;border-radius:7px;
  text-decoration:none; color:inherit;padding:.55rem .75rem;font-size:.88rem; }
.admin-nav a:hover { text-decoration:underline; }
.admin-nav a[aria-current="page"] { background:ButtonFace; font-weight:750;
  border-color:currentColor; }
.admin-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.admin-card { border:1px solid GrayText;border-radius:10px;padding:16px;
  min-width:0; }
.admin-card h3 { margin:0 0 10px; }
.admin-card a { display:inline-block;margin-top:.35rem; }
.admin-code { font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere; }
.admin-message { border-left:3px solid GrayText;padding:.5rem .85rem;margin:.8rem 0; }
.admin-message.is-attention { border-left-color:#ad7300; }
.admin-message.is-ok { border-left-color:#2f8051; }
.admin-advanced { border:1px solid GrayText;border-radius:8px;padding:13px 15px;margin:12px 0; }
.admin-advanced summary { cursor:pointer;font-weight:600; }
.admin-table-scroll { overflow-x:auto;max-width:100%; }
.admin-shell table { margin:.7rem 0 1rem;font-size:.86rem; }
.admin-shell td,.admin-shell th { padding:.55rem .45rem; }
@media(max-width:680px) {
  .admin-shell{ margin:15px auto 45px;padding:0 15px; }
  .admin-grid{grid-template-columns:1fr;}
  .admin-nav a { flex:1 1 43%;text-align:center; }
}
