/* AVENTALIS Betriebssteuerung (Operations Center). Ergänzt style.css. */

/* Sprungziele der Operations-Center-Navigation ("Attraktionen"/"Tickets"). Der Ausgleich
   muss der gemessenen Bannerhöhe folgen (assets/topbar.js setzt --banner-h), sonst landet die
   Zielzeile unter dem fixierten Header — derselbe Fehler wie bei den Startseiten-Ankern. */
#opsTable, #livePanel{scroll-margin-top:calc(var(--banner-h, 32px) + 76px)}

.ops-note{
  font-size:.83rem;color:rgba(246,244,236,.6);line-height:1.6;margin-bottom:16px;max-width:820px
}
.ops-note strong{color:var(--gold-soft)}

.ops-select{
  font-family:inherit;font-size:.82rem;padding:7px 11px;border-radius:8px;cursor:pointer;
  background:rgba(10,14,28,.7);border:1px solid rgba(255,255,255,.16);color:var(--white)
}
.ops-select:focus{outline:none;border-color:var(--gold)}
/* Zustand auch farblich, nicht nur im Text — die Tabelle wird im Betrieb überflogen. */
.ops-select[data-state="offen"]{border-color:rgba(74,190,130,.5);color:#7fd6a6}
.ops-select[data-state="wartung"]{border-color:rgba(212,175,55,.55);color:var(--gold-soft)}
.ops-select[data-state="geschlossen"]{border-color:rgba(240,168,168,.5);color:#f0a8a8}

.ops-note-input{
  font-family:inherit;font-size:.82rem;padding:7px 11px;border-radius:8px;width:100%;max-width:320px;
  background:rgba(10,14,28,.7);border:1px solid rgba(255,255,255,.14);color:var(--white)
}
.ops-note-input:focus{outline:none;border-color:var(--gold)}
.ops-note-input:disabled{opacity:.35;cursor:not-allowed}
.ops-saved{display:inline-block;margin-left:9px;font-size:.72rem;color:#7fd6a6;white-space:nowrap}

/* --- Gästeseite: gesperrte Attraktionen in Karte und App ------------------------------- */
.map-pin.blocked-op{opacity:.5}
.map-pin.blocked-op .dot{border-color:rgba(240,168,168,.55);filter:grayscale(.7)}
.map-pin .wait.op-closed{color:#f0a8a8;border-color:rgba(240,168,168,.35)}
/* Doppelter Klassenname zur Spezifitätserhöhung: Das Detailpanel auf /karte/ setzt
   `.karte-panel p{color:…}` (0,1,1) und würde eine einfache `.poi-status`-Regel (0,1,0)
   überstimmen — die Sperrung stünde dann in normalem Textweiß statt in Warnfarbe. */
.poi-status.poi-status{
  display:inline-block;font-size:.78rem;padding:6px 12px;border-radius:8px;margin-bottom:12px;
  background:rgba(240,168,168,.13);border:1px solid rgba(240,168,168,.4);color:#f0a8a8
}
.poi-status.wartung.wartung{
  background:rgba(212,175,55,.12);border-color:rgba(212,175,55,.4);color:var(--gold-soft)
}

/* Seiteninterne Sprungmarken (z. B. Operations Center). Die Hauptnavigation trägt seit der
   Vereinheitlichung alle Werkzeuge — Sprünge innerhalb einer Seite gehören deshalb hierher
   und nicht mehr in die Navigationsleiste. */
.page-jumps{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.page-jumps a{font-size:.78rem;padding:6px 13px;border-radius:999px;text-decoration:none;
  color:rgba(246,244,236,.8);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.page-jumps a:hover{border-color:rgba(212,175,55,.5);color:var(--gold-soft)}

/* Handy: breite Tabellen horizontal scrollbar statt Seite überlaufen oder Spalten abschneiden. */
@media (max-width:900px){.live-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}
/* Alle Sprungziele unter der festen Navigation landen lassen (vorher nur #opsTable/#livePanel). */
.panel[id], section[id]{scroll-margin-top:calc(var(--nav-bottom, 110px) + 12px)}
