:root{--bg:#eef2ff;--panel:#fff;--line:#dbe3f0;--primary:#6d28d9;--primary-dark:#4c1d95;--text:#0f172a;--muted:#475569;--success:#15803d;--danger:#dc2626;--warning:#f59e0b;--dark:#111827}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);color:var(--text)}
body.nav-open{overflow:hidden}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.topbar{background:linear-gradient(135deg,#111827,#312e81);position:sticky;top:0;z-index:50;box-shadow:0 8px 30px rgba(0,0,0,.18)}.nav-wrap{display:flex;justify-content:space-between;align-items:center;min-height:74px;gap:16px}.brand{color:#fff;text-decoration:none;font-weight:800;font-size:1.1rem;letter-spacing:.01em}.main-nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.main-nav a{color:#e2e8f0;text-decoration:none;padding:10px 14px;border-radius:999px;font-weight:700;transition:.2s ease}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.12);color:#fff}.nav-button{background:#fff;color:#111827!important}.nav-danger{background:#ef4444;color:#fff!important;border-color:#ef4444}.nav-toggle{display:none;appearance:none;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);border-radius:14px;padding:10px;min-width:48px;min-height:48px;cursor:pointer}.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:4px auto;border-radius:999px}.user-pill{display:inline-block;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700}
main.wrap{padding-top:28px;padding-bottom:48px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:2fr 1fr}.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.card h1,.card h2,.card h3{margin-top:0}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}.btn{display:inline-block;padding:11px 15px;border-radius:14px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--text);font-weight:800;cursor:pointer}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-dark{background:var(--dark);color:#fff;border-color:var(--dark)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-small{padding:8px 11px;font-size:.92rem}.muted{color:var(--muted)}.flash{padding:14px 16px;border-radius:14px;margin-bottom:16px}.flash-success{background:#dcfce7;color:var(--success)}.flash-error{background:#fee2e2;color:var(--danger)}
input,select,textarea{width:100%;padding:12px 13px;border-radius:14px;border:1px solid #cbd5e1;background:#fff}label{display:block;font-weight:800;margin-bottom:6px}.field{margin-bottom:14px}.actions{display:flex;gap:10px;flex-wrap:wrap}.hero{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.pill{display:inline-block;background:#ede9fe;color:#5b21b6;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.85rem}.price{font-size:1.2rem;font-weight:800}.event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.event-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.seat-map{min-height:420px;border:1px dashed #94a3b8;border-radius:18px;background:#fff;background-size:cover;background-position:center;position:relative;overflow:hidden}.seat{position:absolute;padding:6px 10px;border-radius:10px;background:#dbeafe;border:1px solid #60a5fa;font-size:.85rem;font-weight:700}.table-seat{background:#fef3c7;border-color:#f59e0b}.login-box{max-width:460px;margin:40px auto}.section-note{margin-top:10px}.event-card .actions .btn{margin-bottom:6px}
.scanner-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:20px;align-items:start}.scanner-hero{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;border:none}.scanner-hero .muted{color:#cbd5e1}.scanner-stage{background:#0b1120;border-radius:24px;padding:18px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.scanner-frame{position:relative;overflow:hidden;border-radius:22px;border:2px solid rgba(255,255,255,.12);background:radial-gradient(circle at center,#0f172a,#020617);min-height:380px}.scanner-frame::before{content:"";position:absolute;inset:18px;border:3px solid rgba(255,255,255,.14);border-radius:24px;pointer-events:none}.scanner-frame::after{content:"";position:absolute;left:10%;right:10%;top:18%;height:3px;background:linear-gradient(90deg,transparent,#22c55e,transparent);box-shadow:0 0 20px rgba(34,197,94,.8);animation:scannerLine 2.4s linear infinite;pointer-events:none}.scanner-target{position:absolute;inset:24px}.scanner-target .corner{position:absolute;width:32px;height:32px;border-color:#22c55e;border-style:solid}.scanner-target .tl{top:0;left:0;border-width:4px 0 0 4px;border-top-left-radius:14px}.scanner-target .tr{top:0;right:0;border-width:4px 4px 0 0;border-top-right-radius:14px}.scanner-target .bl{bottom:0;left:0;border-width:0 0 4px 4px;border-bottom-left-radius:14px}.scanner-target .br{bottom:0;right:0;border-width:0 4px 4px 0;border-bottom-right-radius:14px}.scanner-reader{position:relative;z-index:2;min-height:380px}.scanner-reader video{width:100%!important;height:100%!important;object-fit:cover;border-radius:18px}.scanner-reader section{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.scanner-reader__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-weight:700;padding:24px;text-align:center}.scanner-feedback{display:grid;gap:14px}.feedback-board{border-radius:24px;padding:24px;border:2px solid var(--line);background:#fff;min-height:210px;display:grid;align-content:center;gap:8px;transition:.2s ease}.feedback-board.status-idle{border-color:#dbe3f0;background:linear-gradient(180deg,#fff,#f8fafc)}.feedback-board.status-success{border-color:#22c55e;background:linear-gradient(180deg,#dcfce7,#bbf7d0)}.feedback-board.status-error{border-color:#ef4444;background:linear-gradient(180deg,#fee2e2,#fecaca)}.feedback-board .status-eyebrow{font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.feedback-board .status-title{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:900;line-height:1.02}.feedback-board .status-detail{font-size:1rem;color:#1f2937}.scanner-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.metric-label{font-size:.8rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:1.65rem;font-weight:900;margin-top:4px}.kbd{display:inline-block;padding:4px 8px;border-radius:8px;background:#0f172a;color:#fff;font-size:.8rem;font-weight:800}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.scanner-controls .field,.scanner-controls .actions{margin-bottom:12px}.scanner-mini{font-size:.92rem}.scan-log{list-style:none;padding:0;margin:0;display:grid;gap:10px}.scan-log li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px}.scan-log .ok{border-color:#86efac;background:#f0fdf4}.scan-log .bad{border-color:#fca5a5;background:#fef2f2}.scan-log time{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}
@keyframes scannerLine{0%{transform:translateY(0)}50%{transform:translateY(220px)}100%{transform:translateY(0)}}
@media (max-width:900px){.nav-wrap{align-items:center;padding-top:12px;padding-bottom:12px}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center}.main-nav{position:absolute;left:16px;right:16px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;background:rgba(15,23,42,.98);backdrop-filter:blur(10px);padding:14px;border-radius:20px;box-shadow:0 16px 40px rgba(0,0,0,.28)}.main-nav.is-open{display:flex}.main-nav a,.user-pill{width:100%;text-align:left}.grid-2,.scanner-shell,.scanner-metrics{grid-template-columns:1fr}.hero{flex-direction:column;align-items:flex-start}.scanner-frame,.scanner-reader{min-height:320px}.scanner-frame::after{top:16%}}

.table-scroll{overflow-x:auto;width:100%}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.form-stack{display:flex;flex-direction:column;gap:14px}.form-stack textarea{width:100%;box-sizing:border-box;border:1px solid #d7e1ee;border-radius:12px;padding:12px;background:#fff}.card.soft{background:#f8fafc;box-shadow:none;border:1px solid #e5edf7}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.86rem;font-weight:800}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.actions{white-space:nowrap}.btn.small{padding:7px 10px;font-size:.86rem}.btn.secondary{background:#eef2ff;color:#1e1b4b}.btn.secondary:hover{filter:brightness(.97)}
.pill-success{background:#dcfce7;color:#166534}.pill-warning{background:#fef3c7;color:#92400e}.pill-danger{background:#fee2e2;color:#991b1b}
.seat-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:10px;max-height:420px;overflow:auto;padding:4px}
.seat-checkbox-grid label{display:flex;gap:8px;align-items:center;border:1px solid var(--line,#dbe3f0);border-radius:12px;padding:10px;background:#fff}
.seat-checkbox-grid .seat-check{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center}
.seat-checkbox-grid .seat-check span{grid-column:2;color:var(--muted,#64748b);font-size:.9rem}
.seat-checkbox-grid .seat-check.blocked{background:#fff7ed;border-color:#fdba74}
.seat-checkbox-grid .seat-check.sold{background:#fee2e2;border-color:#fca5a5;opacity:.72}
.seat-checkbox-grid .seat-check.free{background:#f0fdf4;border-color:#86efac}

/* === Responsive layout polish patch === */
:root{--wrap:clamp(320px,96vw,1360px);--radius-lg:24px;--shadow-soft:0 14px 38px rgba(15,23,42,.08)}
body{overflow-x:hidden}.wrap{width:var(--wrap);max-width:var(--wrap);padding-left:clamp(14px,2vw,28px);padding-right:clamp(14px,2vw,28px)}
main.wrap{padding-top:clamp(18px,3vw,34px);padding-bottom:56px}.card,.event-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.card{padding:clamp(16px,2.2vw,28px)}.card h1{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;margin-bottom:12px}.card h2{font-size:clamp(1.25rem,2vw,1.7rem);margin-top:22px}.card p{line-height:1.6}
.grid-2{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.table-scroll{border:1px solid var(--line);border-radius:18px;background:#fff}.table{min-width:720px}.table th{background:#f8fafc;font-size:.86rem;text-transform:uppercase;letter-spacing:.04em;color:#475569}.table td,.table th{padding:13px 12px}.actions{align-items:center;white-space:normal}.btn{line-height:1.15;text-align:center}.btn:hover{filter:brightness(.98)}
input,select,textarea{font-size:16px;min-height:46px}textarea{min-height:120px;resize:vertical}.hero{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(16px,2.2vw,26px);box-shadow:var(--shadow-soft)}
.event-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.event-card{display:flex;flex-direction:column;gap:10px}.event-card .actions{margin-top:auto}.nav-separator{width:1px;height:28px;background:rgba(255,255,255,.25);display:inline-block}.brand{white-space:nowrap}.main-nav{justify-content:flex-end}.main-nav a,.user-pill{font-size:.94rem}
.event-page{width:min(100%,1480px);margin-inline:auto}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:clamp(16px,2vw,28px);align-items:start}.booking-grid>.card{min-width:0}.hero-card{overflow:hidden}.hero-card>p{max-width:82ch}.event-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 18px;margin:16px 0}.event-meta-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px}.event-meta-grid strong{display:block!important;min-width:0!important;color:#475569;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.booking-card{position:sticky;top:96px}.booking-card h2:first-of-type{margin-top:0}.seat-map-toolbar{position:sticky;top:0;z-index:4;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:10px;margin-bottom:12px}.seat-map-viewport{width:100%;max-width:100%;height:min(72vh,780px);min-height:520px;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid #cbd5e1!important;border-radius:22px!important;background:linear-gradient(135deg,#fff,#f8fafc)!important}.seat-map-public{isolation:isolate}.seat-map-public .seat{touch-action:manipulation}.selected-seat-list{max-height:320px;overflow:auto;padding-right:3px}.booking-total{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px 16px}.ticket-row{border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;background:#fff}.ticket-row input{text-align:center}.notice{border-radius:18px}.form-disabled{opacity:.78;pointer-events:none;user-select:none}
@media (min-width:1500px){:root{--wrap:1440px}.booking-grid{grid-template-columns:minmax(0,1fr) 430px}.seat-map-viewport{height:780px}}
@media (max-width:1200px){:root{--wrap:100vw}.booking-grid{grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.main-nav{gap:6px}.main-nav a,.user-pill{padding:9px 10px;font-size:.88rem}}
@media (max-width:980px){.booking-grid,.grid-2,.scanner-shell,.scanner-metrics{grid-template-columns:1fr}.booking-card{position:static}.seat-map-viewport{height:620px;min-height:440px}.hero-card>p{max-width:none}.nav-separator{display:none}}
@media (max-width:900px){.wrap{width:100%;max-width:100%;padding-left:14px;padding-right:14px}.topbar{position:sticky}.brand{font-size:1rem;white-space:normal}.nav-wrap{min-height:64px}.main-nav{max-height:calc(100vh - 92px);overflow:auto}.main-nav a,.user-pill{text-align:left}.hero{display:block}.event-list{grid-template-columns:1fr}.table-scroll{overflow-x:auto}.table{min-width:680px}}
@media (max-width:640px){main.wrap{padding-top:16px}.card{padding:16px;border-radius:18px}.booking-grid{gap:14px}.event-meta-grid{grid-template-columns:1fr}.notice{padding:13px 14px}.seat-map-toolbar{gap:8px}.seat-map-toolbar .muted{width:100%;font-size:.9rem}.seat-map-viewport{height:62vh;min-height:360px;border-radius:18px}.selected-seat-item{grid-template-columns:1fr}.selected-seat-item button{width:100%}.ticket-row{grid-template-columns:1fr;gap:10px}.ticket-row input{max-width:none;width:100%}.btn{width:100%}.actions .btn{flex:1 1 160px}.scanner-frame,.scanner-reader{min-height:280px}.metric-value{font-size:1.35rem}}
@media print{.topbar,.seat-map-toolbar,.actions,.btn{display:none!important}body{background:#fff}.wrap{width:100%;max-width:100%;padding:0}.card{box-shadow:none;border:1px solid #ddd}.booking-grid{display:block}}

/* =========================================================
   GLOBAL DESKTOP/MOBILE RESPONSIVE UPDATE + FOOTER FIX
   ========================================================= */
:root{
  --page-max: 1180px;
  --page-pad: clamp(16px, 3vw, 32px);
  --footer-bg: rgba(15, 23, 42, .96);
  --footer-text: #e5e7eb;
  --footer-muted: #aab6c8;
}

html{
  min-height: 100%;
  scroll-behavior: smooth;
}

html, body{
  width: 100%;
  min-height: 100%;
}

body{
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  background:
    radial-gradient(circle at top left, rgba(109,40,217,.10), transparent 34rem),
    linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);
}

main.wrap{
  flex: 1 0 auto;
  width: min(100%, var(--page-max));
  max-width: var(--page-max);
  padding: clamp(20px, 3vw, 38px) var(--page-pad) clamp(44px, 6vw, 84px);
}

.wrap{
  width: min(100%, var(--page-max));
  max-width: var(--page-max);
  padding-left: var(--page-pad);
  padding-right: var(--page-pad);
}

.topbar{
  flex: 0 0 auto;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.nav-wrap{
  width: min(100%, var(--page-max));
  max-width: var(--page-max);
}

.card,
.event-card,
.hero,
.shop-hero,
.booking-card,
.hero-card,
.notice,
.table-scroll{
  max-width: 100%;
}

.card,
.event-card,
.hero,
.shop-hero,
.booking-card,
.hero-card{
  border: 1px solid rgba(148, 163, 184, .28);
  box-shadow: 0 18px 45px rgba(15,23,42,.08);
}

img, svg, video, canvas, iframe{
  max-width: 100%;
}

input, select, textarea, button{
  font: inherit;
}

input, select, textarea{
  max-width: 100%;
}

.actions{
  align-items: center;
}

.btn,
button.btn,
input[type="submit"]{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-scroll .table,
.table{
  min-width: 720px;
}

.grid,
.grid-2,
.event-list,
.booking-grid,
.scanner-shell,
.scanner-metrics{
  min-width: 0;
}

.grid-2{
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: clamp(16px, 2.5vw, 28px);
}

.event-list{
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  gap: clamp(16px, 2vw, 24px);
}

/* Footer: immer unten, sichtbar abgehoben */
.site-footer{
  flex: 0 0 auto;
  margin-top: auto;
  color: var(--footer-text);
  background:
    linear-gradient(135deg, rgba(17,24,39,.98), rgba(49,46,129,.96)),
    var(--footer-bg);
  border-top: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 -18px 45px rgba(15,23,42,.14);
  position: relative;
  z-index: 2;
}

.site-footer::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  pointer-events: none;
}

.footer-grid{
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 28px;
  padding-bottom: 28px;
}

.footer-grid strong{
  display: block;
  color: #fff;
  font-size: 1rem;
  margin-bottom: 6px;
}

.footer-grid p{
  margin: 0;
  color: var(--footer-muted);
  line-height: 1.55;
  max-width: 58ch;
}

.footer-grid nav{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-grid nav a{
  color: #eef2ff;
  text-decoration: none;
  font-weight: 800;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.footer-grid nav a:hover,
.footer-grid nav a:focus-visible{
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.28);
  transform: translateY(-1px);
  outline: none;
}

.cookie-banner{
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 100;
  width: min(760px, calc(100vw - 28px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(15,23,42,.96);
  color: #fff;
  box-shadow: 0 18px 60px rgba(15,23,42,.35);
  border: 1px solid rgba(255,255,255,.14);
}

.cookie-banner a{color:#c4b5fd;font-weight:800}.cookie-banner button{width:auto;min-width:72px;border:0;border-radius:999px;padding:9px 14px;font-weight:900;cursor:pointer}

@media (min-width: 1201px){
  :root{--page-max: 1220px;}
  .nav-wrap{min-height: 76px;}
  .main-nav{gap: 8px;}
  .main-nav a,.user-pill{font-size: .93rem;}
}

@media (max-width: 1100px){
  :root{--page-max: 100%; --page-pad: clamp(14px, 2.6vw, 24px);}
  .grid-2,
  .booking-grid{
    grid-template-columns: 1fr;
  }
  .booking-card{position: static;}
  .main-nav{gap: 6px;}
  .main-nav a,.user-pill{padding: 9px 10px;font-size: .88rem;}
}

@media (max-width: 900px){
  body.nav-open{overflow: hidden;}
  .topbar{position: sticky;top: 0;}
  .nav-wrap{min-height: 66px;padding-top: 10px;padding-bottom: 10px;}
  .brand{font-size: 1rem;white-space: normal;line-height: 1.2;}
  .nav-toggle{display: inline-flex;flex-direction: column;justify-content: center;flex: 0 0 auto;}
  .main-nav{
    position: absolute;
    left: 14px;
    right: 14px;
    top: calc(100% + 8px);
    display: none;
    flex-direction: column;
    align-items: stretch;
    max-height: calc(100vh - 92px);
    overflow: auto;
    padding: 14px;
    border-radius: 22px;
    background: rgba(15,23,42,.98);
    box-shadow: 0 22px 60px rgba(0,0,0,.34);
  }
  .main-nav.is-open{display: flex;}
  .main-nav a,.user-pill{width: 100%;text-align: left;}
  main.wrap{padding-top: 18px;}
  .hero{display: block;}
  .grid-2,.scanner-shell,.scanner-metrics{grid-template-columns: 1fr;}
  .table{min-width: 680px;}
  .footer-grid{
    flex-direction: column;
    align-items: flex-start;
    min-height: auto;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .footer-grid nav{
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 640px){
  :root{--page-pad: 14px;}
  main.wrap{padding-bottom: 52px;}
  .card,.event-card,.hero,.shop-hero,.booking-card,.hero-card{
    border-radius: 18px;
    padding: 16px;
  }
  h1{font-size: clamp(1.65rem, 9vw, 2.35rem);line-height: 1.08;}
  h2{font-size: clamp(1.25rem, 6vw, 1.65rem);line-height: 1.15;}
  .actions{width: 100%;gap: 9px;}
  .actions .btn,.btn-primary,.btn-success,.btn-danger,.btn-dark{flex: 1 1 100%;width: 100%;}
  .table-scroll{margin-left: -2px;margin-right: -2px;border-radius: 16px;}
  .table th,.table td{padding: 11px 10px;}
  .event-list{grid-template-columns: 1fr;}
  .seat-map-viewport{height: 62vh;min-height: 350px;}
  .scanner-frame,.scanner-reader{min-height: 280px;}
  .footer-grid{gap: 18px;text-align: left;}
  .footer-grid nav{display: grid;grid-template-columns: 1fr;gap: 9px;}
  .footer-grid nav a{width: 100%;text-align: center;border-radius: 14px;}
  .cookie-banner{
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .cookie-banner button{width: 100%;}
}

@media (max-width: 420px){
  .brand{max-width: calc(100vw - 92px);}
  .card,.event-card,.hero,.shop-hero,.booking-card,.hero-card{padding: 14px;}
  input,select,textarea{padding: 11px 12px;border-radius: 12px;}
}

/* ========================================================================== */
/* Ticketservice UI Refresh 2026-08-20 – ruhige, professionelle App-Struktur */
/* ========================================================================== */
:root{
  --bg:#f3f5f7;
  --panel:#ffffff;
  --line:#dfe4e8;
  --line-strong:#cfd6dc;
  --primary:#d4142a;
  --primary-dark:#a80f20;
  --text:#182026;
  --muted:#66717b;
  --dark:#14191d;
  --surface-soft:#f7f8f9;
  --shadow-soft:0 8px 28px rgba(18,28,36,.07);
  --shadow-card:0 4px 18px rgba(18,28,36,.055);
  --radius-lg:16px;
  --radius-md:12px;
  --page-max:1240px;
}
html{background:var(--bg)}
body{background:var(--bg);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);line-height:1.5}
.wrap{max-width:var(--page-max);padding-left:24px;padding-right:24px}
.topbar{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(18,28,36,.05)}
.nav-wrap{min-height:78px}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-weight:800}
.brand:hover{color:var(--text)}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--primary);color:#fff;font-size:1.05rem;font-weight:900;box-shadow:none}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:1rem;letter-spacing:-.01em}
.brand-copy small{margin-top:5px;color:#7a858e;font-size:.69rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.main-nav{gap:4px;flex-wrap:nowrap}
.main-nav a{color:#4d5963;padding:9px 10px;border-radius:8px;font-size:.88rem;font-weight:700;background:transparent}
.main-nav a:hover,.main-nav a.active{background:#f2f4f5;color:var(--text)}
.nav-button{border:1px solid var(--line)!important;background:#fff!important;color:var(--text)!important}
.nav-danger{border-color:#f0cdd2!important;background:#fff5f6!important;color:#a81324!important}
.user-pill{padding:9px 10px;border-radius:8px;background:#f2f4f5;color:#4d5963;font-size:.84rem;font-weight:700}
.nav-separator{background:var(--line-strong)}
.nav-toggle{border:1px solid var(--line);background:#fff;border-radius:10px}
.nav-toggle span{background:var(--text)}
main.wrap{padding-top:34px;padding-bottom:60px}

.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px;padding:8px 0 24px;border-bottom:1px solid var(--line)}
.page-intro>div:first-child{max-width:780px}
.page-intro h1{margin:5px 0 8px;font-size:clamp(2rem,4.4vw,3.35rem);line-height:1.04;letter-spacing:-.045em;color:#14191d}
.page-intro p{margin:0;color:var(--muted);font-size:1rem;max-width:68ch}
.compact-intro h1{font-size:clamp(1.8rem,3.5vw,2.8rem)}
.eyebrow{display:inline-block;color:var(--primary);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.page-intro-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.btn{border-radius:10px;padding:10px 14px;border:1px solid var(--line-strong);background:#fff;color:var(--text);font-weight:800;box-shadow:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.btn:hover{filter:none;background:#f6f7f8;border-color:#bcc5cc;transform:translateY(-1px)}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.btn-light{background:#fff;color:var(--text)}
.btn-ghost{border-color:transparent;background:transparent;color:#59656f}
.btn-small{padding:7px 10px;border-radius:8px;font-size:.86rem}

.card,.section-card,.management-card,.shortcut-card,.event-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.card{padding:22px}
.pill{background:#fff0f2;color:#a81324;border:1px solid #f2ced4;border-radius:7px;padding:5px 8px}

.modern-event-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px}
.modern-event-card{padding:0;display:flex;flex-direction:column;overflow:hidden;min-height:100%}
.event-card-topline{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #edf0f2;color:#67727b;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.status-dot{width:7px;height:7px;border-radius:50%;background:#2f9d62}
.event-card-body{padding:22px 20px 18px;flex:1}
.event-card-body h2{margin:0 0 10px;font-size:1.45rem;line-height:1.18;letter-spacing:-.025em}
.event-description{margin-bottom:18px}
.event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.event-facts div{padding:11px 12px;background:var(--surface-soft);border-radius:10px;border:1px solid #eceff1}
.event-facts span,.event-price span,.management-meta span{display:block;margin-bottom:3px;color:#7b858e;font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.event-facts strong{display:block;font-size:.92rem;line-height:1.3}
.event-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-top:1px solid #edf0f2;background:#fbfcfc}
.event-price strong{display:block;font-size:1.25rem;line-height:1.1}
.empty-state{text-align:center;padding:50px 24px}
.empty-icon{font-size:2rem;margin-bottom:10px}

.admin-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.shortcut-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon text";column-gap:13px;row-gap:2px;padding:17px;text-decoration:none;color:var(--text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.shortcut-card:hover{transform:translateY(-2px);border-color:#c9d0d6;box-shadow:var(--shadow-soft)}
.shortcut-icon{grid-area:icon;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#f2f4f5;color:#4f5a63;font-size:.72rem;font-weight:900}
.shortcut-card strong{grid-area:title;align-self:end;font-size:.98rem}
.shortcut-card small{grid-area:text;color:var(--muted);font-size:.78rem;line-height:1.3}
.section-card{padding:0;overflow:hidden}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 20px;border-bottom:1px solid var(--line)}
.section-heading h2{margin:3px 0 0;font-size:1.35rem}
.count-badge{padding:6px 9px;border-radius:8px;background:#f1f3f4;color:#5c6770;font-size:.78rem;font-weight:800}
.clean-table-wrap{border:0;border-radius:0;box-shadow:none}
.clean-table{min-width:760px}
.clean-table th{background:#fafbfb;color:#77818a;border-bottom:1px solid var(--line);font-size:.71rem;letter-spacing:.07em;padding:12px 16px}
.clean-table td{padding:14px 16px;border-bottom:1px solid #eef1f3;vertical-align:middle}
.clean-table tbody tr:last-child td{border-bottom:0}
.table-actions{display:flex;gap:7px;flex-wrap:wrap}
.status-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:7px;font-size:.75rem;font-weight:800}
.status-badge.is-active{background:#edf8f2;color:#23734a}
.status-badge.is-inactive{background:#f1f2f3;color:#68727a}

.management-grid{display:grid;gap:14px}
.management-card{padding:20px}
.management-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid #edf0f2}
.management-card-head h2{margin:4px 0 0;font-size:1.35rem}
.management-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 0}
.management-meta div{padding:11px 12px;border:1px solid #edf0f2;background:#fafbfb;border-radius:10px}
.management-meta strong{display:block;font-size:.9rem;line-height:1.35}
.management-actions{padding-top:2px}

input,select,textarea{border:1px solid #cfd6dc;border-radius:10px;background:#fff;box-shadow:none}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(212,20,42,.1);border-color:#b85a66}
label{font-size:.88rem;color:#303a42}
.table-scroll{border-radius:12px}
.flash{border-radius:10px}

.site-footer{background:#171c20;border-top:0;box-shadow:none}
.footer-grid{min-height:105px}
.footer-grid nav a{border-radius:8px;background:rgba(255,255,255,.06);font-size:.83rem}
.cookie-banner{border-radius:12px;background:#171c20}
.cookie-banner button{border-radius:8px}

@media(max-width:1080px){
  .admin-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .main-nav{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:900px){
  .wrap{padding-left:16px;padding-right:16px}
  .nav-wrap{min-height:68px}
  .brand-copy small{display:none}
  .main-nav{left:12px;right:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(18,28,36,.15)}
  .main-nav a,.user-pill{color:var(--text);border-radius:8px}
  .nav-separator{display:none}
  .page-intro{align-items:flex-start;flex-direction:column}
  .page-intro-actions{justify-content:flex-start;width:100%}
  .management-meta{grid-template-columns:1fr}
}
@media(max-width:640px){
  main.wrap{padding-top:24px}
  .page-intro{margin-bottom:20px;padding-bottom:18px}
  .page-intro h1{font-size:2.05rem}
  .page-intro-actions .btn{width:100%}
  .admin-shortcuts{grid-template-columns:1fr}
  .event-facts{grid-template-columns:1fr}
  .event-card-footer{align-items:stretch;flex-direction:column}
  .event-card-footer .btn{width:100%}
  .management-card{padding:16px}
  .management-card-head{flex-direction:column}
  .management-actions .btn{width:100%}
  .brand-mark{width:34px;height:34px}
}

/* =========================================================
   TASC INSPIRED APP SHELL — V2
   struktureller Desktop-App-Aufbau mit linker Navigation
   ========================================================= */
:root{
  --ts-sidebar: 246px;
  --ts-topbar: 76px;
  --ts-bg: #f3f5f6;
  --ts-panel: #ffffff;
  --ts-line: #e2e6e8;
  --ts-text: #161b18;
  --ts-muted: #707a74;
  --ts-side: #0d120f;
  --ts-side-2: #121914;
  --ts-accent: #6d28d9;
  --ts-accent-dark: #5520ae;
  --ts-accent-soft: #f2ecff;
  --ts-success: #2b8a3e;
  --ts-danger: #d92d20;
  --ts-radius: 8px;
  --ts-shadow: 0 3px 12px rgba(16,24,20,.055);
}

body.tasc-shell{
  display:block;
  min-height:100vh;
  background:var(--ts-bg) !important;
  color:var(--ts-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:14px;
}
body.tasc-shell::before{display:none!important}
.tasc-shell .topbar,.tasc-shell .site-footer{display:none!important}

.app-sidebar{
  position:fixed; inset:0 auto 0 0; width:var(--ts-sidebar); z-index:100;
  display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(180deg,var(--ts-side) 0%, #090d0b 100%);
  border-right:1px solid rgba(255,255,255,.04);
  color:#fff;
}
.sidebar-brand{
  height:104px; padding:22px 18px 17px; display:flex; align-items:center; gap:13px;
  color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.06);
}
.sidebar-logo{
  width:64px; height:46px; display:flex; align-items:center; justify-content:center;
  font-size:21px; font-weight:950; letter-spacing:-1px; transform:skew(-8deg);
  color:#fff; border:2px solid var(--ts-accent); border-radius:4px;
  background:linear-gradient(135deg,rgba(109,40,217,.36),rgba(109,40,217,.06));
}
.sidebar-brand-copy{display:flex;flex-direction:column;line-height:1.16;min-width:0}
.sidebar-brand-copy strong{font-size:15px;font-weight:800;white-space:nowrap}
.sidebar-brand-copy span{font-size:10px;color:#9aa59e;margin-top:4px;white-space:nowrap}

.side-nav{padding:15px 10px 130px;overflow-y:auto;scrollbar-width:thin;flex:1}
.side-section-label{padding:19px 10px 8px;color:#a98ce8;font-size:9px;font-weight:900;letter-spacing:.11em}
.side-section-label:first-child{padding-top:4px}
.side-link{
  min-height:39px; margin:2px 0; padding:0 10px; border-radius:5px;
  display:flex; align-items:center; gap:10px; position:relative;
  color:#edf1ee; text-decoration:none; font-size:12px; font-weight:650;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.side-link:hover{background:rgba(255,255,255,.065);color:#fff}
.side-link.active{background:linear-gradient(90deg,var(--ts-accent-dark),var(--ts-accent));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.side-link.active::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:#fff;opacity:.72}
.nav-icon{width:16px;height:16px;flex:0 0 16px}
.side-badge{margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--ts-accent-dark);font-size:10px;font-weight:900}

.sidebar-bottom{position:absolute;left:0;right:0;bottom:0;padding:11px 10px 14px;background:linear-gradient(180deg,rgba(9,13,11,0),#090d0b 20%);border-top:1px solid rgba(255,255,255,.05)}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:9px 8px;color:#fff}
.avatar-circle{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#232d26;border:1px solid #49534c;color:#fff;font-size:11px;font-weight:850}
.sidebar-user>div{display:flex;flex-direction:column;min-width:0}.sidebar-user strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user span:not(.avatar-circle){font-size:9px;color:#96a099;margin-top:2px}
.sidebar-logout,.sidebar-login{min-height:34px;padding:0 8px;display:flex;align-items:center;gap:8px;color:#d9dedb;text-decoration:none;font-size:10px;border-radius:5px}.sidebar-logout:hover,.sidebar-login:hover{background:rgba(255,255,255,.06);color:#fff}

.app-frame{min-height:100vh;margin-left:var(--ts-sidebar);display:flex;flex-direction:column}
.app-topbar{
  height:var(--ts-topbar);position:sticky;top:0;z-index:70;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:0 28px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ts-line);
  backdrop-filter:blur(8px);
}
.topbar-title{display:flex;flex-direction:column;line-height:1.18}.topbar-title strong{font-size:14px;font-weight:850}.topbar-title span{font-size:10px;color:var(--ts-muted);margin-top:4px}
.topbar-meta{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar-date{min-width:124px;padding:9px 12px;border:1px solid var(--ts-line);border-radius:6px;background:#fff;display:flex;flex-direction:column}.topbar-date strong{font-size:10px}.topbar-date small{margin-top:2px;font-size:9px;color:var(--ts-muted)}
.mobile-menu-btn{display:none;border:1px solid var(--ts-line);background:#fff;border-radius:6px;height:38px;padding:0 11px;align-items:center;gap:7px;font-weight:750;color:var(--ts-text)}

.app-content{min-height:calc(100vh - var(--ts-topbar));display:flex;flex-direction:column}
.content-inner{width:min(100%,1280px);margin:0 auto;padding:24px 30px 54px;flex:1}
.app-footer{width:min(100%,1280px);margin:0 auto;padding:16px 30px 24px;display:flex;align-items:center;justify-content:center;gap:18px;color:#929a95;font-size:9px}
.app-footer nav{display:flex;gap:10px}.app-footer a{color:#7e8882;text-decoration:none}.app-footer a:hover{color:var(--ts-accent)}

/* Seitenkopf wie Dashboard im Referenzdesign */
.tasc-shell .page-intro,.tasc-shell .hero,.tasc-shell .shop-hero{
  margin:0 0 18px;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;
  border-radius:0!important;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
}
.tasc-shell .page-intro h1,.tasc-shell .hero h1,.tasc-shell .shop-hero h1{margin:0 0 5px;font-size:22px;line-height:1.2;letter-spacing:-.02em;color:var(--ts-text)}
.tasc-shell .page-intro p,.tasc-shell .hero p,.tasc-shell .shop-hero p{margin:0;color:var(--ts-muted);font-size:11px;line-height:1.5}
.tasc-shell .eyebrow{display:none}
.tasc-shell .page-intro-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Karten / Tabellen / Formulare */
.tasc-shell .card,.tasc-shell .event-card,.tasc-shell .booking-card,.tasc-shell .hero-card,.tasc-shell .notice,.tasc-shell .scanner-panel,.tasc-shell .stat-card{
  background:var(--ts-panel)!important;border:1px solid var(--ts-line)!important;border-radius:var(--ts-radius)!important;box-shadow:var(--ts-shadow)!important;
}
.tasc-shell .card{padding:17px}
.tasc-shell .grid,.tasc-shell .grid-2{gap:12px}
.tasc-shell h2{font-size:14px;letter-spacing:-.01em}.tasc-shell h3{font-size:12px}.tasc-shell p,.tasc-shell li{line-height:1.5}
.tasc-shell .muted{color:var(--ts-muted)!important}

.tasc-shell .btn,.tasc-shell button.btn,.tasc-shell input[type="submit"]{
  min-height:36px!important;padding:0 13px!important;border-radius:5px!important;border:1px solid #d8ddda!important;
  box-shadow:none!important;font-size:11px!important;font-weight:750!important;line-height:1!important;transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
.tasc-shell .btn:hover{transform:translateY(-1px)}
.tasc-shell .btn-primary{background:var(--ts-accent)!important;border-color:var(--ts-accent)!important;color:#fff!important}
.tasc-shell .btn-primary:hover{background:var(--ts-accent-dark)!important}
.tasc-shell .btn-success{background:#287d38!important;border-color:#287d38!important;color:#fff!important}
.tasc-shell .btn-danger{background:#fff!important;border-color:#efc4bf!important;color:var(--ts-danger)!important}
.tasc-shell .btn-light,.tasc-shell .btn-secondary{background:#fff!important;color:#313733!important}

.tasc-shell label{font-size:10px;font-weight:800;color:#444d47;margin-bottom:5px}
.tasc-shell input:not([type="checkbox"]):not([type="radio"]),.tasc-shell select,.tasc-shell textarea{
  min-height:38px;border:1px solid #d9dfdb!important;border-radius:5px!important;background:#fff!important;color:var(--ts-text)!important;padding:8px 10px!important;box-shadow:none!important;font-size:12px!important;
}
.tasc-shell input:focus,.tasc-shell select:focus,.tasc-shell textarea:focus{outline:2px solid rgba(109,40,217,.13)!important;border-color:#9f7ae2!important}

.tasc-shell .table-scroll{background:#fff;border:1px solid var(--ts-line);border-radius:var(--ts-radius);box-shadow:var(--ts-shadow);overflow:auto}
.tasc-shell .table{min-width:720px;margin:0;background:#fff;border:0!important}
.tasc-shell .table th{background:#f7f8f7!important;color:#59625c!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--ts-line)!important;padding:10px 12px!important}
.tasc-shell .table td{font-size:11px!important;border-bottom:1px solid #edf0ee!important;padding:11px 12px!important;vertical-align:middle}
.tasc-shell .table tr:last-child td{border-bottom:0!important}
.tasc-shell .table tbody tr:hover{background:#fafbfa}

/* Eventübersicht deutlich kompakter und sachlicher */
.tasc-shell .event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tasc-shell .event-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;min-height:230px}
.tasc-shell .event-card-topline{height:35px;padding:0 15px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #edf0ee;background:#fbfcfb;color:#667069;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.tasc-shell .status-dot{width:7px;height:7px;border-radius:50%;background:var(--ts-success);box-shadow:0 0 0 3px rgba(43,138,62,.10)}
.tasc-shell .event-card-body{padding:16px 17px 10px;flex:1}
.tasc-shell .event-card-body h2{font-size:16px;margin:0 0 7px}.tasc-shell .event-description{font-size:10.5px;margin:0 0 14px}
.tasc-shell .event-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #edf0ee;padding-top:12px;gap:10px}
.tasc-shell .event-facts>div{display:flex;flex-direction:column;gap:2px}.tasc-shell .event-facts span{font-size:8px;color:#8b948f;text-transform:uppercase}.tasc-shell .event-facts strong{font-size:10px;font-weight:750;overflow-wrap:anywhere}
.tasc-shell .event-card-footer{padding:12px 16px;background:#fafbfa;border-top:1px solid #edf0ee;display:flex;align-items:center;justify-content:space-between;gap:10px}
.tasc-shell .event-price{display:flex;flex-direction:column}.tasc-shell .event-price span{font-size:8px;color:#8b948f}.tasc-shell .event-price strong{font-size:14px;margin-top:1px}

.tasc-shell .empty-state{padding:54px 20px!important;text-align:center}.tasc-shell .empty-icon{font-size:30px;margin-bottom:8px}
.tasc-shell .flash{border-radius:6px;margin:0 0 14px;padding:11px 13px;font-size:11px;border:1px solid transparent}.tasc-shell .flash-success{background:#edf8ef;border-color:#cae8d0;color:#256c32}.tasc-shell .flash-error,.tasc-shell .flash-danger{background:#fff1f0;border-color:#f0cbc7;color:#a82b23}.tasc-shell .flash-warning{background:#fff8e8;border-color:#f3dfaa;color:#805b08}

.sidebar-backdrop{display:none}

/* Cookie-Leiste passend zum App-Stil */
.tasc-shell .cookie-banner{left:calc(var(--ts-sidebar) + 18px);right:18px;bottom:18px;width:auto;max-width:760px;margin:0 auto;background:#171d19;border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:11px 13px;font-size:10px;box-shadow:0 12px 36px rgba(0,0,0,.2)}
.tasc-shell .cookie-banner a{color:#c9b4f3}.tasc-shell .cookie-banner button{border-radius:5px;background:var(--ts-accent);color:#fff;font-size:10px}

@media (max-width:1100px){
  .content-inner{padding-left:22px;padding-right:22px}
  .tasc-shell .event-list{grid-template-columns:1fr}
}
@media (max-width:980px){
  :root{--ts-topbar:64px}
  .app-sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:10px 0 30px rgba(0,0,0,.2)}
  body.sidebar-open .app-sidebar{transform:translateX(0)}
  .sidebar-backdrop{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.38)}
  body.sidebar-open .sidebar-backdrop{display:block}
  .app-frame{margin-left:0}
  .mobile-menu-btn{display:inline-flex}
  .app-topbar{padding:0 16px}.topbar-title{margin-right:auto}.topbar-date{display:none}
  .content-inner{padding:18px 14px 42px}
  .app-footer{padding:14px;flex-direction:column;gap:8px}
  .tasc-shell .cookie-banner{left:12px;right:12px;bottom:12px}
}
@media (max-width:640px){
  .sidebar-brand{height:88px}
  .tasc-shell .page-intro,.tasc-shell .hero,.tasc-shell .shop-hero{display:block;margin-bottom:15px}
  .tasc-shell .page-intro h1,.tasc-shell .hero h1,.tasc-shell .shop-hero h1{font-size:20px}
  .tasc-shell .page-intro-actions{margin-top:12px}
  .tasc-shell .page-intro-actions .btn{width:auto!important;flex:0 0 auto!important}
  .tasc-shell .event-facts{grid-template-columns:1fr 1fr}
  .tasc-shell .event-card-footer{align-items:flex-end}
  .tasc-shell .actions .btn{width:auto!important;flex:0 0 auto!important}
}
@media print{
  .app-sidebar,.app-topbar,.app-footer,.sidebar-backdrop,.cookie-banner{display:none!important}
  .app-frame{margin-left:0!important}.content-inner{padding:0!important;max-width:none!important}.app-content{min-height:auto!important}
}


/* Desktop: etwas größere und besser lesbare Typografie */
@media (min-width:981px){
  .tasc-shell{font-size:16px}
  .tasc-shell .page-intro p,
  .tasc-shell .hero p,
  .tasc-shell .shop-hero p,
  .tasc-shell .muted{font-size:13px}
  .tasc-shell .table th{font-size:11px!important}
  .tasc-shell .table td{font-size:13px!important}
  .tasc-shell .event-card-topline{font-size:11px}
  .tasc-shell .event-card-body h2{font-size:19px}
  .tasc-shell .event-description{font-size:13px}
  .tasc-shell .event-facts span{font-size:10px}
  .tasc-shell .event-facts strong{font-size:13px}
  .tasc-shell .event-price span{font-size:10px}
  .tasc-shell .event-price strong{font-size:17px}
  .tasc-shell .flash{font-size:13px}
  .tasc-shell .btn{font-size:13px}
  .tasc-shell input,
  .tasc-shell select,
  .tasc-shell textarea{font-size:14px}
  .tasc-shell label{font-size:13px}
}


/* CCK Fantasia Ticketservice Branding */
.sidebar-brand{height:112px;padding:14px 15px;gap:12px;background:linear-gradient(180deg,rgba(9,30,72,.42),rgba(5,15,12,0));}
.sidebar-brand-icon{width:70px;height:70px;display:block;object-fit:cover;border-radius:15px;box-shadow:0 7px 18px rgba(0,0,0,.32);flex:0 0 70px;}
.sidebar-brand-copy strong{font-size:15px;font-weight:850;letter-spacing:.01em;color:#fff;}
.sidebar-brand-copy span{font-size:10.5px;color:#c4d6f4;margin-top:4px;}
@media (max-width:640px){.sidebar-brand{height:96px;padding:12px 14px}.sidebar-brand-icon{width:62px;height:62px;flex-basis:62px;border-radius:13px}}
