*{box-sizing:border-box}
:root{--bg:#0b1020;--panel:#11172a;--panel2:#171f35;--text:#f5f7fb;--muted:#aab4c4;--line:#28324b;--accent:#8b5cf6;--accent2:#14b8a6;--danger:#ef4444;--yellow:#fbbf24;--shadow:0 20px 50px rgba(0,0,0,.28)}
html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 10% 0,#172044 0,transparent 32%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
a{color:#8be0e8;text-decoration:none}button,input,select,textarea{font:inherit}
.site-header{background:rgba(8,13,29,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}
.header-inner{width:min(1180px,calc(100% - 30px));margin:auto;min-height:125px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{color:var(--text);display:flex;align-items:center}.brand h1{margin:3px 0;font-size:var(--title-size,38px);line-height:1.05}.brand p{margin:0;color:var(--muted)}
.kicker{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:#8be0e8}
.logo-link img{display:block;width:auto;height:auto;max-width:none;max-height:none;border-radius:10px;object-fit:contain}
.main-nav{position:sticky;top:0;z-index:20;background:rgba(11,16,32,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav-inner{width:min(1180px,calc(100% - 30px));margin:auto;display:flex;gap:7px;flex-wrap:wrap;padding:10px 0}
.nav-inner button,.nav-inner a{background:transparent;color:var(--muted);padding:9px 12px;border-radius:8px;border:0;cursor:pointer}
.nav-inner button:hover,.nav-inner button.active,.nav-inner a:hover{background:var(--panel2);color:#fff}
main{width:min(1180px,calc(100% - 30px));margin:24px auto 50px;min-height:58vh}
.hero-card,.panel,.content-card,.table-wrap,.report{background:linear-gradient(145deg,rgba(23,31,53,.96),rgba(15,21,39,.96));border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.hero-card{display:grid;grid-template-columns:1.4fr .8fr;gap:30px;padding:clamp(24px,5vw,55px);overflow:hidden}.hero-card h2{font-size:clamp(2rem,5vw,4.2rem);line-height:1.02;margin:10px 0 16px;max-width:780px}.hero-card p{color:var(--muted);font-size:1.05rem}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.stats{display:grid;grid-template-columns:1fr;gap:12px;align-content:center}.stats div{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:17px}.stats b{display:block;font-size:1.7rem}.stats span{color:var(--muted);font-size:.85rem}
button{border:0;border-radius:8px;padding:10px 15px;background:linear-gradient(135deg,var(--accent),#6d4ce0);color:white;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.08)}button.secondary{background:#25304b}.link-button{background:transparent;padding:0;color:#8be0e8;font-weight:500}
.content-card,.panel{padding:24px;margin-top:18px}.content-card h2,.panel h2{margin-top:0}.content-card p,.panel p{color:var(--muted);line-height:1.65}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:5px 0 16px}.section-heading h2{font-size:2rem;margin:4px 0}
.toolbar{display:flex;gap:10px;background:var(--panel);border:1px solid var(--line);padding:13px;border-radius:12px;margin-bottom:15px}.toolbar input{flex:1}
input,select,textarea{width:100%;background:#0d1427;color:#fff;border:1px solid var(--line);border-radius:8px;padding:11px}label{display:grid;gap:6px;color:var(--muted);font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.form-grid.narrow{max-width:650px}
.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px}.group-card{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:11px;background:var(--panel);color:var(--text);border:1px solid var(--line);text-align:left;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.16)}.group-card:hover{border-color:#6655b8;transform:translateY(-2px)}.group-card img{width:72px;height:72px;object-fit:cover;border-radius:9px}.group-card strong,.group-card small{display:block}.group-card small{color:var(--muted);margin-top:4px}.group-card em{font-style:normal;font-weight:800;color:#9de7e9}.card-red{border-left:6px solid var(--danger)}.card-yellow{border-left:6px solid var(--yellow)}
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:center}th{background:#202a44;color:#d9e2f1;position:sticky;top:0}tbody tr:nth-child(even){background:rgba(255,255,255,.025)}
.sponsor-section{margin-top:25px}.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.sponsor-card{min-height:150px;background:#fff;border-radius:14px;padding:18px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}.sponsor-card img{max-width:100%;max-height:105px;object-fit:contain}.sponsor-card.missing{background:var(--panel);border:1px dashed var(--line);color:var(--muted)}
.login-state{display:flex;justify-content:space-between;align-items:center;background:#0d1427;border:1px solid var(--line);padding:12px;border-radius:10px;margin-bottom:16px}.message{min-height:1.4em;color:#fca5a5}
footer{border-top:1px solid var(--line);background:#080d1d}.footer-inner{width:min(1180px,calc(100% - 30px));margin:auto;padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner p{color:var(--muted);margin:5px 0}.footer-links{display:flex;gap:15px;align-items:center;flex-wrap:wrap}
dialog{width:min(900px,94vw);border:1px solid var(--line);border-radius:17px;padding:25px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}dialog[open]{display:grid;grid-template-columns:minmax(250px,.85fr) 1.15fr;gap:25px}dialog::backdrop{background:rgba(0,0,0,.75)}.dialog-close{position:absolute;right:12px;top:12px;border-radius:50%;width:42px;height:42px;padding:0;font-size:1.5rem}.detail-photo img{width:100%;height:100%;max-height:500px;object-fit:cover;border-radius:12px}.detail-values p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;margin:0}
.reports{display:grid;gap:14px}.report{padding:20px}.report img{max-width:min(430px,100%);max-height:380px;object-fit:cover;border-radius:10px}.report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:760px){.header-inner{min-height:100px}.brand h1{font-size:min(var(--title-size,38px),30px)}.logo-link img{max-width:100px}.hero-card{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.stats div{padding:11px}.form-grid{grid-template-columns:1fr}.toolbar{display:grid}dialog[open]{grid-template-columns:1fr}.footer-inner{display:block}.footer-links{margin-top:15px}.group-card{grid-template-columns:62px 1fr auto}.group-card img{width:62px;height:62px}}

.muted{color:var(--muted)}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}
.metric-grid.compact{margin:16px 0}
.metric{background:#0d1427;border:1px solid var(--line);border-radius:12px;padding:15px}
.metric b{display:block;font-size:1.55rem}.metric span{color:var(--muted);font-size:.82rem}
.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ranking-line{width:100%;display:flex;justify-content:space-between;gap:12px;background:transparent;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;text-align:left;color:var(--text)}
.ranking-line b{color:#9de7e9}.badge{display:inline-block;font-size:.7rem;margin:4px 4px 0 0;padding:3px 7px;border-radius:99px;color:#101525}
.badge.yellow{background:#fbbf24}.badge.red{background:#f87171}.badge.purple{background:#c4b5fd}
.table-group,.count-button{background:transparent;color:#8be0e8;padding:4px;font-weight:700}.count-button{min-width:38px;border:1px solid var(--line)}
.disqualified-row{opacity:.66}.mini-report{background:#0d1427;border:1px solid var(--line);border-radius:9px;padding:11px;margin:8px 0}.mini-report p{margin:5px 0;color:var(--muted)}
.report-head{display:flex;justify-content:space-between;gap:12px}.status-pill{height:max-content;border-radius:99px;padding:5px 10px;font-weight:800}.status-pill.offen{background:#fbbf24;color:#111}.status-pill.bestätigt{background:#34d399;color:#10251c}.status-pill.verworfen{background:#f87171;color:#2b1010}
.report-layout{display:grid;grid-template-columns:minmax(240px,430px) 1fr;gap:20px}.report-layout img{width:100%;height:auto;max-height:430px;object-fit:contain;background:#080d1d}
.danger{background:#b91c1c}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}
@media(max-width:800px){.two-columns,.report-layout{grid-template-columns:1fr}}

.small-dialog{max-width:480px}.small-dialog[open]{display:block}.download-link{display:inline-block;margin-top:10px;background:#25304b;color:#fff;padding:8px 11px;border-radius:8px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:13px}.gallery-item{background:#0d1427;border:1px solid var(--line);border-radius:11px;padding:9px}.gallery-item img{width:100%;height:160px;object-fit:cover;border-radius:8px}

.admin-fieldset{border:1px solid var(--line);border-radius:12px;padding:14px;margin:16px 0}.admin-fieldset legend{padding:0 8px;font-weight:800}.toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.station-admin-table input[type=text],.station-admin-table input[type=number],.station-admin-table input:not([type]){min-width:140px}.station-admin-table input[type=checkbox]{width:auto}.value-state{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:99px;font-size:.68rem}.value-state.actual{background:#163c32;color:#7ce3bd}.value-state.provisional{background:#4a3514;color:#ffd886}.detail-values b small{display:block;color:var(--muted);font-size:.7rem;font-weight:400}

.report-access details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.report-access summary{cursor:pointer;font-weight:700;color:#8be0e8}.report-access form{margin-top:12px}.report-access label{margin-top:10px}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.report-actions .secondary{background:#25304b}.mini-report textarea{width:100%}

body[data-admin-role="reports"] .full-admin-only{display:none!important}

.provisional-cell{font-style:italic;color:#fbbf24}.adjusted-cell{color:#86efac}


/* V5.9.3 – Flughafen-/Abflugtafel-Look für alle öffentlichen Unterseiten */
:root { --airport-accent:#f6c94a; --airport-border:rgba(151,194,222,.22); }
body {
  background:
    radial-gradient(circle at 50% -10%,rgba(33,103,153,.22),transparent 35%),
    linear-gradient(180deg,#07111e 0%,#081522 50%,#050c14 100%) !important;
}
.site-header {
  background:rgba(5,13,23,.97) !important;
  border-bottom:1px solid var(--airport-border) !important;
}
.view:not(.airport-home-view) { max-width:1480px; margin-left:auto; margin-right:auto; }
.view:not(.airport-home-view) > .section-heading {
  position:relative; padding:18px 20px; margin-bottom:16px;
  border:1px solid var(--airport-border); border-radius:12px;
  background:linear-gradient(180deg,rgba(14,35,53,.96),rgba(7,19,31,.98));
  box-shadow:0 16px 38px rgba(0,0,0,.20); overflow:hidden;
}
.view:not(.airport-home-view) > .section-heading::after {
  content:"✈"; position:absolute; right:20px; top:50%;
  transform:translateY(-50%) rotate(-8deg); color:rgba(246,201,74,.14);
  font-size:58px; pointer-events:none;
}
.view:not(.airport-home-view) .kicker { color:var(--airport-accent) !important; letter-spacing:.2em; }
.content-card,.panel,.group-card,.table-wrap,.stats-card,.sponsor-section,
details.profile-section,.live-compare-panel,.instagram-post-card {
  border-color:var(--airport-border) !important;
  background:linear-gradient(180deg,rgba(13,31,47,.95),rgba(7,18,29,.98)) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.table-wrap table { background:#07111a; }
.table-wrap thead th {
  color:var(--airport-accent) !important; background:#0b1823 !important;
  border-bottom-color:rgba(246,201,74,.25) !important;
  text-transform:uppercase; letter-spacing:.05em;
}
.table-wrap tbody tr:nth-child(even) { background:rgba(16,36,52,.48); }
.table-wrap tbody tr:hover { background:rgba(246,201,74,.07); }
.nav-link.active,nav button.active {
  border-color:rgba(246,201,74,.45) !important;
  box-shadow:inset 0 -2px var(--airport-accent);
}
.group-card { position:relative; overflow:hidden; }
.group-card::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(246,201,74,.65),transparent);
}
@media (max-width:720px) {
  .view:not(.airport-home-view) > .section-heading { padding:14px; }
  .view:not(.airport-home-view) > .section-heading::after { font-size:40px; }
}

/* V6.0.0 – Live-Tabelle im Flughafenstil */
#tableView{position:relative;isolation:isolate;max-width:1540px;margin:0 auto;padding:22px clamp(12px,2vw,28px) 70px}
#tableView:before{content:"";position:absolute;z-index:-2;inset:0;border-radius:0 0 28px 28px;background:radial-gradient(circle at 50% 0%,rgba(40,112,158,.22),transparent 35%),linear-gradient(180deg,rgba(8,37,57,.84),rgba(4,20,31,.96));box-shadow:inset 0 1px rgba(255,255,255,.04)}
#tableView>h1,#tableView .page-title{text-transform:uppercase;letter-spacing:.055em;text-shadow:0 3px 18px rgba(0,0,0,.35)}
#tableView>h1:before,#tableView .page-title:before{content:"✈  ";color:#ffc633}
#tableView .card,#tableView .panel,#tableView details{border:1px solid rgba(116,167,197,.28);background:linear-gradient(180deg,rgba(10,31,45,.96),rgba(5,21,32,.97));box-shadow:0 14px 38px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035)}
#tableView details{border-radius:14px;overflow:hidden;margin:18px 0 20px}
#tableView details>summary{min-height:54px;padding:10px 16px;cursor:pointer;background:linear-gradient(90deg,rgba(255,196,50,.06),transparent 38%),rgba(7,27,40,.92)}
#tableView details>summary:hover{background:linear-gradient(90deg,rgba(255,196,50,.11),transparent 45%),rgba(8,31,46,.96)}
#tableView details>summary::marker{color:#ffc633}
#tableView .table-wrap,#tableView .table-responsive{border:1px solid rgba(112,160,187,.34);border-radius:15px;overflow:auto;background:rgba(3,16,25,.96);box-shadow:0 18px 50px rgba(0,0,0,.30)}
#tableView table{border-collapse:separate;border-spacing:0;background:transparent}
#tableView thead{position:sticky;top:0;z-index:8}
#tableView thead th{position:sticky;top:0;z-index:8;padding-top:15px;padding-bottom:15px;background:linear-gradient(180deg,rgba(12,37,50,.99),rgba(5,23,33,.99));color:#ffc633;border-bottom:1px solid rgba(255,198,51,.52);text-transform:uppercase;letter-spacing:.035em;text-shadow:0 1px 0 #000}
#tableView tbody td{border-bottom:1px solid rgba(98,139,161,.25);background:rgba(4,19,29,.88);transition:background .16s ease,box-shadow .16s ease}
#tableView tbody tr:nth-child(even) td{background:rgba(9,31,44,.90)}
#tableView tbody tr:hover td{background:rgba(18,50,67,.96);box-shadow:inset 0 1px rgba(255,198,51,.13),inset 0 -1px rgba(255,198,51,.13)}
#tableView tbody td:first-child{font-variant-numeric:tabular-nums;font-weight:800;color:#fff}
#tableView tbody tr:nth-child(1) td:first-child{color:#ffc633}
#tableView tbody td:nth-child(3){font-weight:800;letter-spacing:.005em}
#tableView tbody td:nth-child(2) img{border-radius:8px;border:1px solid rgba(255,255,255,.28);box-shadow:0 5px 13px rgba(0,0,0,.26)}
#tableView tbody td:not(:nth-child(2)):not(:nth-child(3)){font-variant-numeric:tabular-nums}
#tableView button,#tableView .btn,#tableView .chip{border-radius:9px}
#tableView button:hover,#tableView .btn:hover{transform:translateY(-1px)}
#tableView .table-wrap:before,#tableView .table-responsive:before{content:"● LIVE  ·  AUTOMATISCHE AKTUALISIERUNG";display:block;position:sticky;left:0;width:max-content;padding:9px 13px 7px;color:#ffc633;font-size:11px;font-weight:800;letter-spacing:.09em;background:rgba(4,19,29,.96)}
@media(max-width:760px){#tableView{padding:14px 8px 48px}#tableView:before{border-radius:0 0 18px 18px}#tableView thead th{padding:11px 8px;font-size:11px}#tableView tbody td{padding:9px 8px}}

/* V6.0.1 – Gruppen links / Spalten direkt am Tabellenkopf */
#tableView .live-table-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}
#tableView .live-compare-sidebar{position:sticky;top:72px;margin:0;max-height:calc(100vh - 92px);overflow:auto;border-radius:14px}
#tableView .live-compare-sidebar-title{padding:13px;border-bottom:1px solid rgba(255,198,51,.28);background:linear-gradient(90deg,rgba(255,198,51,.10),transparent)}
#tableView .live-compare-old-columns{display:none!important}
#tableView .live-compare-sidebar .live-compare-body{padding:10px}
#tableView .live-compare-sidebar .live-compare-group-list{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;max-height:none!important}
#tableView #tableWrap{min-width:0;margin:0}
#tableView .live-th-control{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;cursor:pointer}
#tableView .live-th-toggle{appearance:none;width:14px;height:14px;min-width:14px;margin:0;border:1px solid #ffc633;border-radius:3px;background:#0a2231;position:relative;cursor:pointer}
#tableView .live-th-toggle:checked:after{content:"✓";position:absolute;left:1px;top:-4px;color:#ffc633;font-size:14px;font-weight:900}
@media(max-width:900px){#tableView .live-table-workspace{grid-template-columns:1fr}#tableView .live-compare-sidebar{position:relative;top:auto;max-height:340px}#tableView .live-compare-sidebar .live-compare-group-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V6.0.2 – Haken vor Platz und Spaltenauswahl wie Gruppen */
#tableView .live-th-toggle{display:none!important}
#tableView .live-column-selector{grid-column:2;margin:0 0 10px;padding:10px;border:1px solid rgba(116,167,197,.28);border-radius:14px;background:linear-gradient(180deg,rgba(10,31,45,.96),rgba(5,21,32,.97))}
#tableView .live-column-selector-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
#tableView .live-column-selector-head small{display:block;color:#9eb8c9}
#tableView .live-column-selector-list{display:flex;flex-wrap:wrap;gap:6px}
#tableView .live-column-option{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid rgba(111,151,174,.30);border-radius:7px;background:rgba(4,20,30,.88);cursor:pointer;font-size:12px;font-weight:700}
#tableView .live-column-option:hover{border-color:rgba(255,198,51,.48)}
#tableView .live-column-option input,#tableView .live-row-check{accent-color:#ffc633;cursor:pointer}
#tableView .live-group-check-col{width:34px!important;min-width:34px!important;text-align:center!important;padding:6px!important}
@media(max-width:900px){#tableView .live-column-selector{grid-column:1}#tableView .live-column-selector-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
