:root {
  --rs-orange: #f07d00; --rs-orange-hover: #dd7100; --rs-orange-soft: #fff3e8;
  --rs-ink: #171717; --rs-muted: #5f6368; --rs-bg: #f4f5f6;
  --rs-surface: #fff; --rs-surface-subtle: #f8f8f8;
  --rs-border: #dfe1e3; --rs-border-strong: #c7cacf;
  --rs-success: #147a45; --rs-success-soft: #e9f7ef;
  --rs-danger: #b42318; --rs-danger-soft: #fff0ee;
  --rs-radius-sm: 6px; --rs-radius: 12px;
  --rs-space-xs: 4px; --rs-space-sm: 8px; --rs-space-md: 12px;
  --rs-space-lg: 16px; --rs-space-xl: 24px; --rs-space-2xl: 32px; --rs-space-3xl: 48px;
  --rs-focus: 0 0 0 3px rgba(232,111,0,.22);
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0; min-height: 100vh; background: var(--rs-bg); color: var(--rs-ink);
  font: 16px/1.5 "IBM Plex Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
header.rs-header {
  position: sticky; top: 0; z-index: 10; display: flex; align-items: center;
  min-height: 64px; gap: var(--rs-space-md);
  padding: 12px max(20px, calc((100vw - 1120px)/2));
  border-bottom: 1px solid var(--rs-border); background: rgba(255,255,255,.96);
}
header.rs-header img.rs-logo { height: 30px; width: auto; }
header.rs-header .rs-title {
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 650; font-size: 1rem;
}
header.rs-header .rs-lang-switch {
  flex: 0 0 auto; width: auto; min-height: 36px; margin-left: auto;
  padding: 4px 28px 4px 10px; font-size: .875rem;
}
main { width: min(100% - 40px,1120px); margin: 0 auto; padding: var(--rs-space-2xl) 0 var(--rs-space-3xl); }
main.rs-main-narrow { max-width: 560px; }
h1,h2,h3 { margin: 0; font-weight: 650; line-height: 1.2; text-wrap: balance; }
h2 { font-size: 1.25rem; }
p { margin: var(--rs-space-md) 0 0; text-wrap: pretty; }
.rs-card {
  margin-bottom: var(--rs-space-lg); padding: var(--rs-space-xl);
  border: 1px solid var(--rs-border); border-radius: var(--rs-radius); background: var(--rs-surface);
}
.rs-card > h2 + p { margin-top: var(--rs-space-sm); }
.rs-card > :last-child { margin-bottom: 0; }
.rs-card--primary { border-color: var(--rs-orange); background: #fffaf6; }
.rs-event-shell {
  display: grid; grid-template-columns: 220px minmax(0,1fr); width: min(100%,1440px);
  height: calc(100vh - 64px); margin: 0 auto; padding: 0; overflow: hidden;
  border-right: 1px solid var(--rs-border); border-left: 1px solid var(--rs-border); background: var(--rs-surface);
}
.rs-event-sidebar { min-width: 0; border-right: 1px solid var(--rs-border); background: var(--rs-surface-subtle); }
.rs-event-summary { padding: var(--rs-space-xl) var(--rs-space-lg); border-bottom: 1px solid var(--rs-border); }
.rs-event-summary h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rs-event-summary label { margin-top: var(--rs-space-md); }
.rs-event-nav { display: flex; flex-direction: column; gap: var(--rs-space-xs); padding: var(--rs-space-md); }
.rs-event-nav button {
  min-height: 44px; padding: 10px var(--rs-space-md); border: 0; border-radius: var(--rs-radius-sm);
  background: transparent; color: var(--rs-muted); font: inherit; font-weight: 600; text-align: left; cursor: pointer;
}
.rs-event-nav button:hover { background: var(--rs-surface); color: var(--rs-ink); }
.rs-event-nav button:focus-visible { outline: none; box-shadow: var(--rs-focus); }
.rs-event-nav button[aria-selected="true"] { background: var(--rs-orange-soft); color: var(--rs-ink); }
.rs-event-workspace { min-width: 0; overflow: auto; padding: var(--rs-space-lg); background: var(--rs-bg); }
.rs-event-panel[hidden] { display: none; }
.rs-event-panel--start { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: var(--rs-space-lg); align-items: start; }
.rs-event-panel .rs-card,.rs-dashboard-layout .rs-card { margin-bottom: 0; }
.rs-section-heading { margin-bottom: var(--rs-space-lg); }
.rs-section-heading h2 { font-size: 1.375rem; }
.rs-section-heading p { margin-top: var(--rs-space-xs); color: var(--rs-muted); }
.rs-direction-controls { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(240px,1.3fr) auto; gap: var(--rs-space-md); align-items: end; margin-top: var(--rs-space-md); }
.rs-direction-controls label { margin-top: 0; }
.rs-channel-workspace { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: var(--rs-space-lg); align-items: start; }
.rs-language-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rs-space-sm); }
.rs-floor-access { max-width: 720px; }
.rs-break-link { overflow-wrap: anywhere; }
.rs-dashboard-layout {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--rs-space-lg); align-items: start;
}
.rs-dashboard-layout .rs-dashboard-events { grid-column: 1/-1; }
.rs-btn {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: var(--rs-space-sm);
  padding: 9px 16px; border: 1px solid var(--rs-orange); border-radius: var(--rs-radius-sm);
  background: var(--rs-orange); color: var(--rs-ink); font: inherit; font-size: .9375rem; font-weight: 650;
  line-height: 1.2; text-decoration: none; cursor: pointer;
  transition: background-color 160ms ease,border-color 160ms ease,transform 160ms ease;
}
.rs-btn:hover { background: var(--rs-orange-hover); border-color: var(--rs-orange-hover); }
.rs-btn:active { transform: translateY(1px); }
.rs-btn:focus-visible { outline: none; box-shadow: var(--rs-focus); }
.rs-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.rs-btn-secondary { background: var(--rs-surface); color: var(--rs-ink); border-color: var(--rs-border-strong); }
.rs-btn-secondary:hover { background: var(--rs-surface-subtle); border-color: #9da1a6; }
.rs-btn-danger { background: var(--rs-surface); color: var(--rs-danger); border-color: #efb5af; }
.rs-btn-danger:hover { background: var(--rs-danger-soft); border-color: var(--rs-danger); }
input,select {
  width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--rs-border-strong);
  border-radius: var(--rs-radius-sm); background: var(--rs-surface); color: var(--rs-ink);
  font: inherit; font-size: .9375rem; transition: border-color 160ms ease,box-shadow 160ms ease;
}
input:hover,select:hover { border-color: #9da1a6; }
input:focus,select:focus { outline: none; border-color: var(--rs-orange); box-shadow: var(--rs-focus); }
input::placeholder { color: #666b70; opacity: 1; }
input[type="checkbox"] { width: 18px; min-height: 18px; margin: 0 var(--rs-space-sm) 0 0; accent-color: var(--rs-orange); }
label:has(input[type="checkbox"]) { display: flex; align-items: center; color: var(--rs-ink); }
label { display: block; margin: var(--rs-space-lg) 0 var(--rs-space-xs); color: #4e5358; font-size: .875rem; font-weight: 600; }
label:first-child { margin-top: 0; }
.rs-form-actions { display: flex; flex-wrap: wrap; gap: var(--rs-space-sm); align-items: center; margin-top: var(--rs-space-lg); }
.rs-channel-list { list-style: none; padding: 0; margin: var(--rs-space-sm) 0 0; }
.rs-channel-list li {
  display: flex; justify-content: space-between; align-items: center; gap: var(--rs-space-lg);
  min-height: 64px; padding: var(--rs-space-md) 0; border-bottom: 1px solid var(--rs-border);
}
.rs-channel-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.rs-channel-list li > span:first-child { min-width: 0; }
.rs-channel-list li > .rs-channel-access { flex: 1; max-width: 720px; }
.rs-channel-edit { display: grid; grid-template-columns: minmax(160px,2fr) minmax(130px,1fr) minmax(130px,1fr) auto auto auto; gap: var(--rs-space-sm); align-items: center; }
.rs-channel-edit label { margin: 0; white-space: nowrap; }
.rs-channel-access__form,.rs-link-result__row { display: flex; gap: var(--rs-space-sm); align-items: center; }
.rs-channel-access__form { margin-top: var(--rs-space-md); }
.rs-channel-access__form input,.rs-link-result__row input { min-width: 220px; }
.rs-link-result { margin-top: var(--rs-space-sm); }
.rs-link-result p { margin: 0 0 var(--rs-space-xs); }
.rs-link-result__row input { flex: 1; }
.rs-link-result__row .rs-btn { flex: 0 0 auto; }
.rs-control-board { margin-top: var(--rs-space-xl); border-top: 1px solid var(--rs-border); }
#floorLinkBtn { margin-top: var(--rs-space-lg); }
.rs-qr { width: 220px; max-width: 100%; margin-top: var(--rs-space-lg); }
.rs-qr img { display: block; width: 100%; }
.rs-control-channel {
  display: grid; grid-template-columns: minmax(180px,.7fr) minmax(240px,1fr) auto;
  gap: var(--rs-space-lg); align-items: center; padding: var(--rs-space-lg) 0; border-bottom: 1px solid var(--rs-border);
}
.rs-control-channel__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--rs-space-sm); }
.rs-live-panel { padding: var(--rs-space-lg); border-radius: var(--rs-radius); background: var(--rs-surface-subtle); text-align: center; }
#onAirState {
  display: inline-flex; min-height: 36px; align-items: center; padding: 6px 12px;
  border-radius: 999px; background: var(--rs-surface-subtle); color: var(--rs-muted); font-size: .875rem;
}
#onAirState[data-live="true"] { background: var(--rs-danger-soft); color: var(--rs-danger); }
.rs-status-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--rs-muted); margin-right: var(--rs-space-sm); }
.rs-status-dot.live { background: var(--rs-success); }
.rs-mono { color: var(--rs-muted); font: .8125rem/1.55 "IBM Plex Mono",ui-monospace,SFMono-Regular,Consolas,monospace; }
video { display: block; aspect-ratio: 16/9; object-fit: contain; }
@media (max-width:800px) {
  .rs-event-shell { grid-template-columns: 180px minmax(0,1fr); }
  .rs-event-panel--start,.rs-channel-workspace { grid-template-columns: 1fr; }
  .rs-audience-access { display: grid; grid-template-columns: minmax(140px,200px) 1fr; column-gap: var(--rs-space-lg); }
  .rs-audience-access h2,.rs-audience-access > p { grid-column: 2; }
  .rs-audience-access .rs-qr { grid-column: 1; grid-row: 1/4; }
  .rs-dashboard-layout { grid-template-columns: 1fr; }
  .rs-dashboard-layout .rs-dashboard-events { grid-column: 1; grid-row: auto; }
  .rs-direction-controls { grid-template-columns: 1fr 1fr; }
  .rs-direction-controls .rs-btn { grid-column: 1/-1; }
  .rs-control-channel { grid-template-columns: 1fr; gap: var(--rs-space-sm); }
  .rs-control-channel__actions { justify-content: flex-start; }
  .rs-channel-edit { grid-template-columns: 1fr 1fr; }
  .rs-channel-edit [data-label] { grid-column: 1/-1; }
}
@media (max-width:600px) {
  header.rs-header { min-height: 56px; padding: 10px 16px; }
  header.rs-header img.rs-logo { height: 26px; }
  main { width: min(100% - 24px,1120px); padding: var(--rs-space-lg) 0 var(--rs-space-2xl); }
  main.rs-event-shell { display: flex; flex-direction: column; width: 100%; height: calc(100dvh - 56px); padding: 0; border: 0; }
  .rs-event-sidebar { flex: 0 0 auto; border-right: 0; border-bottom: 1px solid var(--rs-border); }
  .rs-event-summary { display: grid; grid-template-columns: minmax(0,1fr) 150px; gap: 0 var(--rs-space-md); padding: var(--rs-space-md); }
  .rs-event-summary h2,.rs-event-summary p { grid-column: 1; }
  .rs-event-summary label { display: none; }
  .rs-event-summary select { grid-column: 2; grid-row: 1/3; align-self: center; }
  .rs-event-nav { flex-direction: row; gap: var(--rs-space-xs); padding: 0 var(--rs-space-md) var(--rs-space-sm); overflow-x: auto; }
  .rs-event-nav button { flex: 1 0 auto; text-align: center; }
  .rs-event-workspace { flex: 1 1 auto; padding: var(--rs-space-md); }
  .rs-audience-access { display: block; }
  .rs-direction-controls,.rs-language-pair { grid-template-columns: 1fr; }
  .rs-direction-controls .rs-btn { grid-column: auto; }
  .rs-card { padding: var(--rs-space-lg); border-radius: 10px; }
  .rs-channel-list li { align-items: stretch; flex-direction: column; gap: var(--rs-space-sm); }
  .rs-channel-access__form,.rs-link-result__row { align-items: stretch; flex-direction: column; }
  .rs-channel-edit { grid-template-columns: 1fr; }
  .rs-channel-edit [data-label] { grid-column: auto; }
  .rs-channel-access__form input,.rs-link-result__row input { min-width: 0; }
  .rs-btn { width: 100%; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:.01ms !important; } }
.rs-back-link { display: block; padding: var(--rs-space-md) var(--rs-space-lg) 0; color: var(--rs-muted); font: .8125rem/1.55 "IBM Plex Mono",ui-monospace,SFMono-Regular,Consolas,monospace; text-decoration: none; }
.rs-back-link:hover,.rs-back-link:focus-visible { color: var(--rs-orange, #F07D00); text-decoration: underline; }

/* Status- und Diagnoseanzeigen der Produktionsseiten (Audit-Befunde 1, 9) */
.rs-status-line[data-level="ok"] { color: var(--rs-success); }
.rs-status-line[data-level="warn"] { color: #9a5b00; }
.rs-status-line[data-level="error"] { color: var(--rs-danger); font-weight: 600; }
.rs-muted { opacity: .8; }
#onAirState[data-live="alarm"] { background: #fff4d6; color: #7a4a00; }
.rs-meter { position: relative; height: 10px; margin-top: var(--rs-space-sm); border-radius: 999px; background: var(--rs-border); overflow: hidden; }
.rs-meter span { position: absolute; inset: 0 auto 0 0; width: calc(var(--level, 0) * 100%); background: var(--rs-muted); transition: width .1s linear; }
.rs-meter[data-signal="true"] span { background: var(--rs-success); }
.rs-seat { display: inline-flex; flex-direction: column; gap: 2px; }
.rs-seat small { color: var(--rs-muted); font: .75rem/1.4 "IBM Plex Mono",ui-monospace,monospace; }
.rs-seat--offline { opacity: .6; }
.rs-notice { display: block; margin-top: var(--rs-space-xs); }
.rs-notice[data-level="error"] { color: var(--rs-danger); font-weight: 600; }
.rs-notice[data-level="warn"] { color: #9a5b00; }
