:root{--navy:#101d32;--navy2:#172943;--blue:#2d73c8;--gold:#d8b66a;--ink:#172235;--muted:#64748b;--line:#e4eaf1;--bg:#f4f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,-apple-system,Segoe UI,sans-serif}.topbar{height:auto;min-height:72px;padding:16px max(5vw,24px);background:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:20px;color:white}.brand{font-weight:800;letter-spacing:.12em;color:white;text-decoration:none}.topbar nav{display:flex;gap:22px;flex-wrap:wrap}.topbar nav a{color:#dce6f3;text-decoration:none;font-size:.94rem}.topbar nav a:hover{color:var(--gold)}.container{width:min(1160px,90%);margin:42px auto 72px}.hero{padding:76px 7%;border-radius:22px;background:linear-gradient(115deg,#101d32,#203c60);color:white;box-shadow:0 18px 45px #17294322}.hero h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.06;max-width:780px;margin:10px 0 20px}.hero p{max-width:650px;color:#d3dfed}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:var(--gold)}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:12px 19px;font-weight:700;text-decoration:none;cursor:pointer}.primary{background:var(--gold);color:#172235}.secondary{border:1px solid #ffffff66;color:white;background:transparent}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}.cards article,.stat,.form-card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 8px 24px #17294308}.cards h2{margin-top:0;font-size:1.15rem}.cards p,.page-heading p{color:var(--muted)}.page-heading{margin-bottom:26px}.page-heading h1{font-size:2.4rem;margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat span{display:block;color:var(--muted);font-size:.88rem}.stat strong{display:block;font-size:1.8rem;margin-top:6px}.form-card{max-width:520px;margin:50px auto;padding:32px}.form-card h1{margin-top:0}form{display:grid;gap:18px}label{display:grid;gap:7px;font-weight:650}input{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}input:focus{outline:2px solid #8db8ed;border-color:var(--blue)}.form-card .button{width:100%}.alert{background:#fff1f0;color:#a12c24;padding:12px;border-radius:8px}.notice{padding:18px;background:#fff;border-left:4px solid var(--gold);border-radius:8px}footer{text-align:center;color:var(--muted);padding:24px;border-top:1px solid var(--line);font-size:.85rem}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.container{margin-top:24px}.hero{padding:48px 7%}}@media(max-width:420px){.stats{grid-template-columns:1fr}}

/* Inter Wings – Layoutkorrektur Streckennetz */
.route-editor,
.route-list {
  width: 100%;
  max-width: 100%;
  margin: 28px 0;
  padding: clamp(20px, 3vw, 34px);
}
.route-editor h2,
.route-list h2 { margin: 0 0 8px; font-size: 1.45rem; }
.route-editor .section-intro { margin-bottom: 22px; }
.route-editor .section-intro .eyebrow { margin: 0 0 5px; color: var(--blue); }
.route-editor .section-intro p:last-child { margin: 0; color: var(--muted); }
.route-editor form { display: block; }
.route-editor .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 24px;
  margin: 18px 0 22px;
}
.route-editor label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  font-weight: 650;
}
.route-editor input:not([type="checkbox"]),
.route-editor select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  box-sizing: border-box;
}
.route-editor input:focus,
.route-editor select:focus {
  outline: 2px solid #8db8ed;
  outline-offset: 1px;
  border-color: var(--blue);
}
.route-editor input.airport-filter {
  min-height: 40px;
  margin-bottom: 2px;
  font-size: .92rem;
}
.route-editor label:has(input[type="checkbox"]) {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin: 8px 0 20px;
}
.route-editor input[type="checkbox"] { width: 18px; height: 18px; }
.route-editor .button { width: auto; min-width: 150px; }
.route-list { overflow: hidden; }
.route-list > div { max-width: 100%; }
.route-list table { width: 100%; border-collapse: collapse; }
.route-list th, .route-list td {
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
.route-list th { background: #f8fafc; color: var(--muted); font-size: .82rem; }
.route-list td small { color: var(--muted); }
@media (max-width: 700px) {
  .route-editor .form-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .route-editor, .route-list { padding: 18px; }
  .route-list th, .route-list td { padding: 9px; }
}


/* Inter Wings – Flughafenverwaltung: breite, responsive Tabellenansicht */
.airport-editor,
.airport-list {
  width: 100%;
  max-width: none;
  margin: 24px 0 30px;
  padding: clamp(20px, 3vw, 32px);
}
.airport-editor form { display: grid; gap: 18px; }
.airport-editor .form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 22px;
}
.airport-editor label { min-width: 0; }
.airport-editor input:not([type="checkbox"]) {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.airport-editor label:has(input[type="checkbox"]) {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.airport-editor input[type="checkbox"] { width: 18px; height: 18px; }
.airport-editor .button { width: auto; justify-self: start; }
.airport-list { overflow: hidden; }
.airport-list-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.airport-list-heading h2 { margin: 0; }
.airport-list-heading p:last-child { margin: 3px 0 0; color: var(--muted); }
.airport-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.airport-table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  table-layout: auto;
}
.airport-table th,
.airport-table td {
  padding: 13px 15px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--line);
}
.airport-table th {
  background: #f8fafc;
  color: #475569;
  font-size: .83rem;
  font-weight: 750;
  white-space: nowrap;
}
.airport-table td { white-space: nowrap; }
.airport-table td:nth-child(2) { white-space: normal; min-width: 210px; }
.airport-table td:nth-child(3),
.airport-table td:nth-child(4) { font-variant-numeric: tabular-nums; }
.airport-table tbody tr:last-child td { border-bottom: 0; }
.airport-table tbody tr:hover { background: #f8fafc; }
.airport-table td small { color: var(--muted); }
.airport-table td:last-child { min-width: 170px; }
.airport-table td:last-child form { display: inline-flex; margin-left: 8px; }
.airport-table td:last-child .button {
  width: auto;
  padding: 7px 10px;
  font-size: .82rem;
}
@media (max-width: 900px) {
  .airport-editor .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .airport-editor .form-grid { grid-template-columns: minmax(0, 1fr); }
  .airport-editor, .airport-list { padding: 18px; }
  .airport-table { min-width: 800px; }
}


/* Inter Wings – Phase 6: Formularbreiten auf der Buchungsseite */
.booking-card {
  width: min(100%, 760px);
  max-width: 100%;
  min-width: 0;
  margin: 28px auto;
  padding: clamp(20px, 3vw, 40px);
  box-sizing: border-box;
}
.booking-card *,
.booking-card *::before,
.booking-card *::after {
  box-sizing: border-box;
}
.booking-card form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.booking-card label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
}
.booking-card select,
.booking-card input:not([type="checkbox"]),
.booking-card textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  line-height: 1.35;
  box-sizing: border-box;
}
.booking-card select {
  overflow: hidden;
  text-overflow: ellipsis;
}
.booking-card input[type="datetime-local"] {
  min-height: 54px;
}
.booking-card .muted {
  margin: 0;
  line-height: 1.55;
}
.booking-card button,
.booking-card .button {
  align-self: flex-start;
  max-width: 100%;
}
@media (max-width: 700px) {
  .booking-card {
    width: 100%;
    margin: 20px 0;
    padding: 20px;
  }
  .booking-card button,
  .booking-card .button {
    width: 100%;
  }
}


/* Phase 7 – Flugbetrieb und PIREP */
.pirep-card { width:100%; max-width:100%; box-sizing:border-box; margin:22px 0; }
.pirep-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.pirep-head h2 { margin:0; }
.pirep-head > strong { padding:7px 11px; border-radius:8px; background:#f1f5f9; color:#334155; font-size:.9rem; }
.pirep-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 18px; margin:18px 0; }
.pirep-grid p { margin:0; padding:10px 0; border-bottom:1px solid var(--line); }
.pirep-review-form { display:grid; gap:12px; margin-top:18px; }
.pirep-review-form label { display:grid; gap:7px; }
.pirep-review-form textarea { width:100%; max-width:100%; box-sizing:border-box; }
.pirep-actions { display:flex; gap:10px; flex-wrap:wrap; }
@media(max-width:700px){.pirep-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pirep-head{display:block;}}


/* Inter Wings – Phase 7.1: breite, lesbare Flugtabellen */
.flight-list {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 28px 0 32px;
  padding: clamp(18px, 2.5vw, 30px);
  box-sizing: border-box;
}
.flight-table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.flight-data-table {
  width: 100%;
  min-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
}
.flight-data-table th,
.flight-data-table td {
  padding: 15px 16px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--line);
  line-height: 1.45;
}
.flight-data-table th {
  color: #475569;
  background: #f8fafc;
  font-size: .86rem;
  font-weight: 750;
  white-space: nowrap;
}
.flight-data-table tbody tr:last-child td { border-bottom: 0; }
.flight-data-table tbody tr:hover { background: #fafbfd; }
.flight-data-table td { white-space: nowrap; }
.flight-data-table td small { color: var(--muted); }
.flight-data-table td:first-child { min-width: 115px; }
.flight-data-table td form { display: block; margin: 0; }
.flight-data-table td .button {
  width: auto;
  min-width: 118px;
  max-width: 180px;
  white-space: normal;
  line-height: 1.25;
  text-align: center;
}
.ops-table { min-width: 820px; }
.ops-table th:nth-child(2), .ops-table td:nth-child(2) { min-width: 125px; }
.ops-table th:nth-child(4), .ops-table td:nth-child(4) { min-width: 155px; }
.ops-table th:nth-child(6), .ops-table td:nth-child(6) { min-width: 125px; }
.ops-table th:nth-child(7), .ops-table td:nth-child(7) { min-width: 155px; }
.my-flights-table { min-width: 1080px; }
.my-flights-table th:nth-child(2), .my-flights-table td:nth-child(2) { min-width: 245px; white-space: normal; }
.my-flights-table th:nth-child(3), .my-flights-table td:nth-child(3) { min-width: 155px; }
.my-flights-table th:nth-child(4), .my-flights-table td:nth-child(4) { min-width: 145px; }
.my-flights-table th:nth-child(5), .my-flights-table td:nth-child(5) { min-width: 125px; }
.my-flights-table th:nth-child(6), .my-flights-table td:nth-child(6) { min-width: 125px; }
.my-flights-table th:nth-child(7), .my-flights-table td:nth-child(7) { min-width: 145px; }
@media (max-width: 760px) {
  .flight-list { margin: 20px 0 26px; padding: 16px; }
  .flight-data-table th, .flight-data-table td { padding: 12px; }
}

/* =========================================================
   INTER WINGS – DESIGN SYSTEM 2.0
   Ergänzt das bestehende Layout, ohne Modul-Styles zu löschen.
   ========================================================= */
:root {
  --navy: #101d32;
  --navy2: #1a3150;
  --blue: #356da5;
  --gold: #d8b66a;
  --ink: #172235;
  --muted: #65758b;
  --line: #e2e8f0;
  --bg: #f3f6fa;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --shadow-card: 0 10px 28px rgba(16, 29, 50, .055);
  --shadow-nav: 0 5px 20px rgba(8, 20, 38, .16);
}
* { box-sizing: border-box; }
html { scroll-padding-top: 94px; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: #315f91; text-underline-offset: 3px; }
a:hover { color: #173b64; }

/* Fixierte Hauptnavigation – auf Desktop und Mobilgeräten */
.topbar {
  position: sticky;
  top: 0;
  z-index: 1100;
  width: 100%;
  min-height: 76px;
  padding: 0 clamp(22px, 4.5vw, 72px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background: rgba(16, 29, 50, .98);
  color: #fff;
  box-shadow: var(--shadow-nav);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.topbar .brand {
  display: inline-flex;
  align-items: center;
  min-height: 76px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .14em;
  white-space: nowrap;
  text-decoration: none;
}
.topbar nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(14px, 2.1vw, 30px);
  flex-wrap: nowrap;
  min-width: 0;
}
.topbar nav a {
  display: inline-flex;
  align-items: center;
  min-height: 76px;
  padding: 0 1px;
  color: #e4ebf4;
  font-size: .94rem;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: color .18s ease, border-color .18s ease;
}
.topbar nav a:hover,
.topbar nav a:focus-visible {
  color: var(--gold);
  border-bottom-color: var(--gold);
  outline: none;
}

/* Ruhiger Seitenaufbau mit gleichmäßiger Breite */
.container {
  width: min(1320px, calc(100% - 64px));
  max-width: 1320px;
  margin: 42px auto 76px;
}
.page-heading { margin: 0 0 30px; }
.page-heading .eyebrow,
.eyebrow {
  margin: 0 0 8px;
  color: #6b829e;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .17em;
}
.page-heading h1 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.15;
}
.page-heading p:not(.eyebrow) {
  max-width: 850px;
  margin: 0;
  color: var(--muted);
  font-size: 1.04rem;
}

/* Karten und Kennzahlen */
.cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 28px;
}
.cards article,
.stat,
.form-card,
.route-editor,
.route-list,
.airport-editor,
.airport-list,
.booking-card,
.pirep-card,
.flight-list,
.finance-card,
.tour-card,
.event-card,
.shop-card {
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-card);
}
.cards article {
  padding: 25px 26px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.cards article:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(16,29,50,.09);
}
.cards article h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 1.2rem;
  letter-spacing: -.015em;
}
.cards article p { color: var(--muted); }
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.stat {
  padding: 22px 24px;
  border-top: 3px solid var(--gold);
}
.stat span {
  color: var(--muted);
  font-size: .86rem;
  font-weight: 650;
}
.stat strong {
  margin-top: 7px;
  color: var(--navy);
  font-size: clamp(1.45rem, 2.2vw, 1.9rem);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

/* Formulare: keine überbreiten Felder oder gequetschten Beschriftungen */
form { gap: 16px; }
label {
  min-width: 0;
  color: #26364c;
  font-size: .94rem;
  font-weight: 650;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 10px 13px;
  color: var(--ink);
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  font: inherit;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  outline: 3px solid rgba(53,109,165,.15);
  border-color: #6b95bd;
}
input[type="checkbox"], input[type="radio"] {
  accent-color: var(--navy2);
}
.button, button {
  min-height: 42px;
  border-radius: 9px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.button:hover, button:hover {
  transform: translateY(-1px);
  filter: brightness(.98);
}
.button.primary, .primary {
  background: var(--gold);
  color: #142238;
  border: 1px solid #cba957;
  box-shadow: 0 4px 10px rgba(180,143,61,.12);
}
.button:not(.primary) {
  background: #eef2f7;
  color: #20334d;
  border: 1px solid #dce4ee;
}
.alert {
  margin: 18px 0;
  padding: 13px 16px;
  border: 1px solid #f5d2cf;
  border-radius: 10px;
  background: #fff4f2;
  color: #a12c24;
}
.notice {
  border: 1px solid #ead9ad;
  border-left: 4px solid var(--gold);
  border-radius: 10px;
  background: #fffdf8;
}

/* Tabellen erhalten eine klare Hierarchie und bleiben scrollbar */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
th {
  color: #52647b;
  background: #f6f8fb;
  font-size: .83rem;
  font-weight: 750;
}
td, th { line-height: 1.45; }
tbody tr:hover { background: #f8fafc; }
.table-wrap, .airport-table-wrap, .route-table-wrap, .flight-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
footer {
  margin-top: 72px;
  padding: 28px 20px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  text-align: center;
  font-size: .88rem;
}

/* Große Monitore: Inhalte nutzen den Platz, aber laufen nicht endlos breit */
@media (min-width: 1500px) {
  .container { width: min(1380px, calc(100% - 100px)); }
}
@media (max-width: 980px) {
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar { padding-left: 22px; padding-right: 22px; gap: 18px; }
  .topbar nav { gap: 14px; }
}
@media (max-width: 700px) {
  .topbar {
    min-height: 66px;
    padding: 5px 16px 0;
    display: block;
  }
  .topbar .brand {
    min-height: 36px;
    padding-top: 3px;
    font-size: .98rem;
  }
  .topbar nav {
    width: 100%;
    justify-content: flex-start;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .topbar nav a {
    min-height: 40px;
    font-size: .88rem;
  }
  .container {
    width: calc(100% - 32px);
    margin: 28px auto 52px;
  }
  .cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cards article, .stat { padding: 19px; }
  .form-card { width: 100%; margin: 24px 0; padding: 22px; }
  .page-heading { margin-bottom: 22px; }
  .page-heading h1 { font-size: 2rem; }
}
@media (max-width: 420px) {
  .container { width: calc(100% - 24px); }
  .stats { grid-template-columns: minmax(0, 1fr); }
  .stat strong { font-size: 1.6rem; }
}


/* =========================================================
   INTER WINGS – Admin-Dashboard und Navigation: Korrektur
   ========================================================= */

/* Sticky statt fixed: bleibt sichtbar, verdeckt aber keinen Inhalt. */
.topbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  min-height: 76px;
  height: auto;
  padding: 14px clamp(18px, 4.5vw, 68px);
  flex-wrap: wrap;
  box-shadow: 0 8px 22px rgba(16, 29, 50, .12);
}
.topbar .brand {
  flex: 0 0 auto;
  white-space: nowrap;
}
.topbar nav {
  flex: 1 1 520px;
  min-width: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 8px clamp(12px, 2vw, 28px);
}
.topbar nav a {
  white-space: nowrap;
}

/* Admin-Dashboard: klare Seitenbreite und sauberer Abstand. */
.container:has(> .stats) {
  width: min(1380px, calc(100% - 64px));
  margin: 38px auto 76px;
}
.container:has(> .stats) > .page-heading {
  margin: 0 0 28px;
}
.container:has(> .stats) > .page-heading h1 {
  margin: 0;
  line-height: 1.15;
}

/* Nur die vier Kennzahlen bilden das Statistikraster. */
.container:has(> .stats) > .stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 26px;
  align-items: stretch;
}
.container:has(> .stats) > .stats > .stat {
  min-width: 0;
  min-height: 132px;
  margin: 0;
  border-top: 3px solid var(--gold);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.container:has(> .stats) > .stats > .stat strong {
  font-size: clamp(1.8rem, 2.5vw, 2.35rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

/* Flugverwaltung ist eine eigene, vollbreite Aktionskachel. */
.container:has(> .stats) > .stats > article {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(23, 41, 67, .05);
}
.container:has(> .stats) > .stats > article h2 {
  flex: 1 1 220px;
  margin: 0;
  font-size: 1.25rem;
}
.container:has(> .stats) > .stats > article p {
  flex: 2 1 360px;
  margin: 0;
  color: var(--muted);
}
.container:has(> .stats) > .stats > article .button {
  width: auto;
  min-width: 120px;
  background: #f2f5f9;
  color: var(--ink);
  border: 1px solid var(--line);
}

/* Verwaltungsbereiche untereinander, aber nicht schmal in der Mitte. */
.container:has(> .stats) > .form-card {
  width: 100%;
  max-width: none;
  margin: 22px 0;
  padding: clamp(22px, 3vw, 34px);
}
.container:has(> .stats) > .form-card h2 {
  margin-top: 0;
}

/* Tabellen dürfen innerhalb ihrer Kacheln scrollen, nicht die ganze Seite. */
.container:has(> .stats) table {
  max-width: 100%;
}
.container:has(> .stats) .admin-table-scroll {
  max-width: 100%;
}

@media (max-width: 1000px) {
  .container:has(> .stats) > .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .topbar {
    align-items: flex-start;
    gap: 10px;
    padding: 13px 18px;
  }
  .topbar nav {
    flex: 1 1 100%;
    justify-content: flex-start;
    gap: 8px 18px;
  }
  .container:has(> .stats) {
    width: calc(100% - 32px);
    margin: 26px auto 52px;
  }
  .container:has(> .stats) > .stats {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .container:has(> .stats) > .stats > article {
    grid-column: 1 / -1;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 440px) {
  .container:has(> .stats) > .stats {
    grid-template-columns: 1fr;
  }
}
