/* core light/dark */
:root {
  --radius: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.06);
  --border: rgba(0,0,0,.08);
  --bg: #f7f8fb;
  --bg-soft: #fff;
  --text: #0f172a;
  --muted: #475569;
  --accent: #0ea5e9;
  --ticker-speed: 90; /* px/s */
}
html[data-theme="dark"] {
  --border: rgba(148,163,184,.20);
  --bg: #0b1220;
  --bg-soft: #0f172a;
  --text: #e5e7eb;
  --muted: #94a3b8;
  --shadow: 0 10px 30px rgba(0,0,0,.25), 0 2px 8px rgba(0,0,0,.18);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu; color:var(--text); background:var(--bg); line-height:1.6; }
.container { width:min(1200px,92vw); margin-inline:auto; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }

/* Ticker */
.ticker-wrap { position: sticky; top: 0; z-index: 60; overflow: hidden; border-bottom:1px solid var(--border); background: linear-gradient(90deg, rgba(14,165,233,.10), rgba(14,165,233,.05)); }
.ticker-track { display:inline-flex; gap:2rem; white-space:nowrap; padding:.35rem .6rem; will-change: transform; }
.ticker-track.run { animation-name: tickerMove; animation-timing-function: linear; animation-iteration-count: infinite; }
.ticker-item { opacity:.95; font-weight:600; }
.ticker-wrap:hover .ticker-track { animation-play-state: paused; }
@keyframes tickerMove { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--ticker-distance, 50%))); } }

/* Nav */
.navwrap { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(10px) saturate(140%); background: linear-gradient(to bottom, rgba(0,0,0,.02), rgba(0,0,0,.00)); border-bottom: 1px solid var(--border); }
nav.nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; padding:.8rem 0; }
.brand { display:flex; align-items:center; gap:.7rem; }
.brand-link img { height:40px; width:auto; } /* Gehosted Branding sichtbar */
.tenant-logo { height:28px; width:auto; border-radius:6px; border:1px solid var(--border); padding:2px; background: var(--bg-soft); } /* doppelte Größe */
.badge-tenant { display:inline-flex; align-items:center; gap:.4rem; border:1px solid var(--border); border-radius:999px; padding:.25rem .6rem; background:var(--bg-soft); }
.badge-tenant small{ color:var(--muted) }

.menu { display:none; gap:1rem; justify-content:center; }
.actions { display:flex; align-items:center; gap:.6rem; justify-content:end; }
.theme-toggle { border-radius:999px; border:1px solid var(--border); background:var(--bg-soft); padding:.5rem .6rem; cursor:pointer; }
@media (min-width:900px){ .menu { display:flex; } }

main { padding:1.2rem 0 2rem; }

.card { position:relative; border-radius: var(--radius); border:1px solid var(--border); background:var(--bg-soft); box-shadow: var(--shadow); padding:1.1rem; overflow:hidden; }
.table { width:100%; border-collapse:collapse; }
.table th, .table td { border-bottom:1px solid var(--border); padding:.6rem .5rem; text-align:left; }
.table th { color:var(--muted); font-weight:600; }
.btn { display:inline-flex; align-items:center; gap:.5rem; border-radius:10px; padding:.6rem .9rem; border:1px solid var(--border); background:var(--bg-soft); cursor:pointer; }
.btn.primary { background: linear-gradient(180deg, rgba(14,165,233,.90), rgba(14,165,233,.75)); color:#fff; border-color:transparent; }
input, select, textarea { width:100%; padding:.7rem .8rem; border-radius:10px; border:1px solid var(--border); background:var(--bg-soft); color:var(--text); }

.footer { padding:1.2rem 0; border-top:1px solid var(--border); background:transparent; }
.foot { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.muted { color:var(--muted); }

.grid { display:grid; gap:1rem; }
.form-row { display:grid; gap:.8rem; }
@media (min-width: 720px){ .form-row { grid-template-columns: 1fr 1fr; } }
