
/* JUEvent additions. style.css and navigation.css are intentionally copied from JuBüro. */
:root{
  --jv-seat-free:var(--ju-soft);
  --jv-seat-held:var(--ju-warning-bg);
  --jv-seat-reserved:var(--ju-soft);
  --jv-seat-sold:var(--ju-text-subtle);
  --jv-seat-blocked:var(--ju-danger-bg);
  --jv-seat-selected:var(--ju-gold);
}
.jvHero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;align-items:stretch}
.jvHeroCard{background:linear-gradient(135deg,var(--ju-card) 0%,var(--ju-warning-bg) 100%);border:1px solid var(--ju-accent-line);border-radius:var(--ju-radius);box-shadow:var(--ju-shadow);padding:22px;display:grid;gap:12px}
.jvKpiGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.jvStatusGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.jvPill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--ju-border);background:var(--ju-card);font-weight:800;font-size:12px;color:var(--ju-text-muted)}
.jvPill::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--ju-gold)}
.jvSeatmapWrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.jvSeatmap{background:var(--ju-card);border:1px solid var(--ju-border);border-radius:var(--ju-radius);padding:18px;box-shadow:var(--ju-shadow);overflow:auto;min-height:360px}
.jvStage{height:50px;border-radius:6px;background:linear-gradient(180deg,var(--ju-gold),var(--ju-gold));display:flex;align-items:center;justify-content:center;font-weight:900;margin:0 auto 24px;max-width:420px;color:var(--ju-text-strong);text-transform:uppercase;letter-spacing:.08em}
.jvSeatGrid{display:grid;gap:7px;justify-content:center;grid-template-columns:repeat(var(--seat-cols,16),24px)}
.jvSeat{width:24px;height:24px;border-radius:5px;border:1px solid var(--ju-border);background:var(--jv-seat-free);font-size:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:800;color:var(--ju-text-strong);user-select:none}
.jvSeat:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--ju-border)}
.jvSeat[data-status="held"]{background:var(--jv-seat-held);cursor:not-allowed}
.jvSeat[data-status="reserved"]{background:var(--jv-seat-reserved);cursor:not-allowed}
.jvSeat[data-status="sold"]{background:var(--jv-seat-sold);color:var(--ju-card);cursor:not-allowed}
.jvSeat[data-status="blocked"]{background:var(--jv-seat-blocked);cursor:not-allowed}
.jvSeat.is-selected{background:var(--jv-seat-selected);border-color:var(--ju-warning)}
.jvSeatLegend{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;color:var(--ju-text-muted);font-size:12px;font-weight:700}.jvSeatLegend span{display:inline-flex;align-items:center;gap:6px}.jvSwatch{width:14px;height:14px;border-radius:4px;border:1px solid var(--ju-border)}
.jvCheckoutCard{position:sticky;top:92px;background:var(--ju-card);border:1px solid var(--ju-border);border-radius:var(--ju-radius);box-shadow:var(--ju-shadow);padding:16px;display:grid;gap:12px}.jvCartLine{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ju-border);padding-bottom:8px;font-weight:700}.jvCartTotal{display:flex;justify-content:space-between;font-size:20px;font-weight:900}
.jvEditorCanvas{min-height:520px;background:repeating-linear-gradient(45deg,var(--ju-card),var(--ju-card) 12px,var(--ju-soft) 12px,var(--ju-soft) 24px);border:1px dashed var(--ju-border-strong);border-radius:6px;padding:20px;overflow:auto}.jvEditorToolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.jvSeatObject{width:26px;height:26px;border-radius:5px;background:var(--ju-gold);border:1px solid var(--ju-border);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;margin:3px;cursor:grab}.jvBlockRow{display:flex;align-items:center;gap:6px;margin-bottom:6px}.jvRowLabel{width:28px;font-weight:900;color:var(--ju-text-muted)}
.jvTicketPreview{border:1px solid var(--ju-border);border-radius:var(--ju-radius);background:var(--ju-card);overflow:hidden;max-width:360px}.jvTicketPreviewHead{padding:14px;background:var(--tenant-primary,var(--ju-anth));color:var(--ju-card);font-weight:900}.jvTicketPreviewBody{padding:14px;display:grid;gap:8px}.jvQrMock{width:92px;height:92px;background:repeating-linear-gradient(90deg,var(--ju-text-strong) 0 4px,var(--ju-card) 4px 8px);border:8px solid var(--ju-card);box-shadow:0 0 0 1px var(--ju-border)}
@media(max-width:980px){.jvHero,.jvSeatmapWrap{grid-template-columns:1fr}.jvCheckoutCard{position:static}.jvSeatGrid{grid-template-columns:repeat(var(--seat-cols-mobile,10),24px)}}

/* Saalplan-Editor v2 */
.jvEditorShell{display:grid;gap:14px}.jvEditorTopbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ju-card);border:1px solid var(--ju-border);border-radius:var(--ju-radius);box-shadow:var(--ju-shadow);padding:12px 14px}.jvEditorTopbarGroup{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.jvEditorTopbarGroup strong{font-size:15px}.jvEditorTopbarGroup span{font-size:12px;font-weight:800;color:var(--ju-text-muted);border-left:1px solid var(--ju-border);padding-left:12px}.jvEditorTopbarGroup span[data-kind="ok"]{color:var(--ju-success)}.jvEditorTopbarGroup span[data-kind="error"]{color:var(--ju-danger)}.jvEditorTopbarActions{display:flex;gap:8px;flex-wrap:wrap}.jvEditorGrid{display:grid;grid-template-columns:280px minmax(0,1fr) 310px;gap:14px;align-items:start}.jvEditorPanel{background:var(--ju-card);border:1px solid var(--ju-border);border-radius:var(--ju-radius);box-shadow:var(--ju-shadow);padding:14px;display:grid;gap:12px;max-height:calc(100vh - 160px);overflow:auto}.jvEditorPanel h3,.jvEditorMiniSection h4{margin:0;font-weight:900}.jvEditorMiniSection{border-top:1px solid var(--ju-border);padding-top:12px;display:grid;gap:10px}.jvToolGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jvToolGrid button{border:1px solid var(--ju-border);background:var(--ju-card);border-radius:var(--ju-radius);min-height:38px;font-weight:900;font-size:12px;cursor:pointer;text-align:left;padding:8px}.jvToolGrid button:hover{border-color:var(--ju-gold);box-shadow:0 0 0 3px var(--ju-accent-focus)}.jvEditorWorkspace{display:grid;gap:8px}.jvEditorCanvasScroll{height:calc(100vh - 215px);min-height:590px;overflow:auto;background:var(--ju-soft);border:1px solid var(--ju-border);border-radius:var(--ju-radius);box-shadow:inset 0 0 0 1px var(--ju-border);position:relative}.jvDesignerCanvas{position:relative;transform-origin:0 0;background-color:var(--ju-card);background-image:linear-gradient(to right,var(--ju-border) 1px,transparent 1px),linear-gradient(to bottom,var(--ju-border) 1px,transparent 1px);background-size:var(--editor-grid,20px) var(--editor-grid,20px);box-shadow:0 20px 48px var(--ju-border);margin:28px}.jvDesignerCanvas[data-snap="0"]{background-image:none}.jvDesignerObject{position:absolute;box-sizing:border-box;user-select:none;touch-action:none;cursor:move;transform-origin:center center}.jvDesignerObject.is-locked{cursor:not-allowed;opacity:.82}.jvDesignerObject.is-selected{outline:2px solid var(--ju-gold);outline-offset:2px}.jvObjFill{width:100%;height:100%;box-sizing:border-box;border-radius:var(--ju-radius);border:1px solid var(--ju-border);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;color:var(--ju-text-strong);background:var(--ju-card);overflow:hidden}.jvObjFill--stage{background:linear-gradient(180deg,var(--ju-gold),var(--ju-gold));text-transform:uppercase;letter-spacing:.08em}.jvObjFill--door{background:var(--ju-soft);color:var(--ju-text-strong);gap:6px;border-style:dashed}.jvObjFill--exit{background:var(--ju-success-bg);color:var(--ju-success);border-color:var(--ju-success-bg);flex-direction:column;font-size:12px}.jvObjFill--exit span{font-weight:1000}.jvObjFill--area{background:var(--area-color,var(--ju-border));opacity:.78;border-style:dashed}.jvObjFill--aisle{background:repeating-linear-gradient(45deg,var(--ju-soft),var(--ju-soft) 10px,var(--ju-soft) 10px,var(--ju-soft) 20px);color:var(--ju-text-muted);border-style:dashed}.jvObjFill--bar{background:var(--ju-text);color:var(--ju-card)}.jvObjFill--wc{background:var(--ju-soft);color:var(--ju-text-muted)}.jvObjFill--bench{background:var(--ju-warning);color:var(--ju-card);border-radius:var(--ju-radius)}.jvObjFill--roundTable{border-radius:999px;background:var(--ju-soft);border:2px solid var(--ju-border)}.jvObjFill--rectTable{background:var(--ju-soft);border:2px solid var(--ju-border)}.jvObjFill--text{background:transparent;border:1px dashed transparent;justify-content:flex-start;text-align:left;color:var(--ju-text)}.jvTableSeat{position:absolute;transform:translate(-50%,-50%)}.jvEditorSeat{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:18px;min-height:18px;border-radius:5px;background:var(--seat-color,var(--ju-gold));border:1px solid var(--ju-border);font-size:9px;font-weight:900;color:var(--ju-text-strong);box-shadow:0 1px 2px var(--ju-border)}.jvEditorSeat--single{width:100%;height:100%;border-radius:6px;background:var(--ju-gold)}.jvRowBlockTitle{height:26px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:var(--ju-text-muted);background:var(--ju-border);border:1px solid var(--ju-border);border-radius:6px;margin-bottom:8px}.jvRowBlockGrid{display:grid;grid-template-columns:repeat(var(--cols), minmax(14px,1fr));gap:6px;align-content:start;justify-items:center;padding:8px}.jvResizeHandle{position:absolute;width:11px;height:11px;border-radius:3px;background:var(--ju-gold);border:1px solid var(--ju-warning);z-index:40}.jvResizeHandle--nw{left:-7px;top:-7px;cursor:nwse-resize}.jvResizeHandle--n{left:50%;top:-7px;transform:translateX(-50%);cursor:ns-resize}.jvResizeHandle--ne{right:-7px;top:-7px;cursor:nesw-resize}.jvResizeHandle--e{right:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}.jvResizeHandle--se{right:-7px;bottom:-7px;cursor:nwse-resize}.jvResizeHandle--s{left:50%;bottom:-7px;transform:translateX(-50%);cursor:ns-resize}.jvResizeHandle--sw{left:-7px;bottom:-7px;cursor:nesw-resize}.jvResizeHandle--w{left:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}.jvRotateHandle{position:absolute;left:50%;top:-36px;transform:translateX(-50%);width:18px;height:18px;border-radius:999px;background:var(--ju-card);border:2px solid var(--ju-gold);box-shadow:0 2px 8px var(--ju-border);cursor:grab}.jvRotateHandle::after{content:"";position:absolute;left:50%;top:16px;width:1px;height:18px;background:var(--ju-gold)}.jvEditorWorkspaceFooter{display:flex;gap:8px;flex-wrap:wrap}.jvInspectorTitle{display:grid;gap:2px;border-bottom:1px solid var(--ju-border);padding-bottom:8px}.jvInspectorTitle span{font-size:11px;color:var(--ju-text-muted);font-weight:700}.jvInspectorGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jvInspectorGrid label,.jvEditorPanel label{display:grid;gap:5px;font-size:11px;font-weight:900;color:var(--ju-text-muted)}.jvCheck{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}.jvEmptyInspector{border:1px dashed var(--ju-border);border-radius:var(--ju-radius);padding:14px;color:var(--ju-text-muted);font-weight:800}.jvLayerList{display:grid;gap:6px;max-height:230px;overflow:auto}.jvLayerRow{border:1px solid var(--ju-border);background:var(--ju-card);border-radius:var(--ju-radius);padding:8px;text-align:left;display:grid;gap:2px;cursor:pointer}.jvLayerRow.is-active{border-color:var(--ju-gold);box-shadow:0 0 0 3px var(--ju-accent-focus)}.jvLayerRow strong{font-size:12px}.jvLayerRow small,.jvLayerType{font-size:10px;color:var(--ju-text-muted);font-weight:800}.jvJsonDetails{background:var(--ju-card);border:1px solid var(--ju-border);border-radius:var(--ju-radius);box-shadow:var(--ju-shadow);padding:12px}.jvJsonDetails summary{cursor:pointer;font-weight:900}.jvJsonBox{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:320px;margin-top:10px}.jvTechList{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.jvTechList>div{border:1px solid var(--ju-border);background:var(--ju-card);border-radius:var(--ju-radius);padding:12px;display:grid;gap:3px}.jvTechList strong{font-weight:1000}.jvTechList span{font-size:12px;color:var(--ju-text-muted);font-weight:700}

/* Public seatmap renderer v2 */
.jvSeatmap--publicDesigner{min-height:620px}.jvPublicCanvasScroll{overflow:auto;max-height:72vh;background:var(--ju-soft);border:1px solid var(--ju-border);border-radius:var(--ju-radius);padding:22px}.jvPublicCanvas{position:relative;background:var(--ju-card);background-image:linear-gradient(to right,var(--ju-border) 1px,transparent 1px),linear-gradient(to bottom,var(--ju-border) 1px,transparent 1px);background-size:20px 20px;box-shadow:0 18px 45px var(--ju-border);transform-origin:0 0;min-width:1000px}.jvPublicObject{position:absolute;box-sizing:border-box;pointer-events:none;transform-origin:center center}.jvPubFill{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--ju-border);border-radius:var(--ju-radius);font-weight:900;color:var(--ju-text-strong);box-sizing:border-box}.jvPubFill--stage{background:linear-gradient(180deg,var(--tenant-accent,var(--ju-gold)),var(--ju-gold));text-transform:uppercase;letter-spacing:.08em}.jvPubFill--door{background:var(--ju-soft);border-style:dashed}.jvPubFill--exit{background:var(--ju-success-bg);color:var(--ju-success)}.jvPubFill--area{background:var(--ju-border);opacity:.7;border-style:dashed}.jvPubFill--aisle{background:repeating-linear-gradient(45deg,var(--ju-soft),var(--ju-soft) 10px,var(--ju-soft) 10px,var(--ju-soft) 20px);color:var(--ju-text-muted);border-style:dashed}.jvPubFill--bench{background:var(--ju-warning);color:var(--ju-card);border-radius:var(--ju-radius)}.jvPubFill--round{border-radius:999px;background:var(--ju-soft);border:2px solid var(--ju-border)}.jvPubFill--rect{background:var(--ju-soft);border:2px solid var(--ju-border)}.jvPubFill--text{border:0;background:transparent;justify-content:flex-start;color:var(--ju-text)}.jvPubFill--bar{background:var(--ju-text);color:var(--ju-card)}.jvPubFill--wc{background:var(--ju-soft);color:var(--ju-text-muted)}.jvPublicSeat{position:absolute;z-index:80;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;border:1px solid var(--ju-border);background:var(--jv-seat-free);font-size:10px;font-weight:900;color:var(--ju-text-strong);cursor:pointer;box-shadow:0 1px 2px var(--ju-border)}.jvPublicSeat:hover{transform:translateY(-1px) scale(1.05)!important;box-shadow:0 6px 14px var(--ju-border)}.jvPublicSeat.is-selected{background:var(--jv-seat-selected);border-color:var(--ju-warning)}.jvPublicSeat[data-status="held"],.jvPublicSeat[data-status="reserved"]{background:var(--jv-seat-held);cursor:not-allowed}.jvPublicSeat[data-status="sold"]{background:var(--jv-seat-sold);color:var(--ju-card);cursor:not-allowed}.jvPublicSeat[data-status="blocked"]{background:var(--jv-seat-blocked);cursor:not-allowed}.jvCartLine small{display:block;font-size:10px;color:var(--ju-text-muted);font-weight:700;margin-top:2px}.btn-danger{background:var(--ju-danger)!important;border-color:var(--ju-danger)!important;color:var(--ju-card)!important}
@media(max-width:1180px){.jvEditorGrid{grid-template-columns:1fr}.jvEditorPanel{max-height:none}.jvEditorCanvasScroll{height:70vh}.jvEditorPanel--tools{order:1}.jvEditorWorkspace{order:2}.jvEditorPanel--right{order:3}}@media(max-width:680px){.jvToolGrid{grid-template-columns:1fr}.jvEditorTopbar{align-items:flex-start;flex-direction:column}.jvInspectorGrid{grid-template-columns:1fr}.jvPublicCanvas{transform:scale(.72);transform-origin:0 0}.jvPublicCanvasScroll{min-height:520px}}
.jvCheckinResult{margin-top:14px;border:1px solid var(--ju-border);background:var(--ju-card);border-radius:var(--ju-radius);padding:18px;font-weight:1000;font-size:18px}.jvCheckinResult[data-result="accepted"]{background:var(--ju-success-bg);border-color:var(--ju-success-bg);color:var(--ju-success)}.jvCheckinResult[data-result="duplicate"],.jvCheckinResult[data-result="cancelled"]{background:var(--ju-warning-bg);border-color:var(--ju-gold);color:var(--ju-warning)}.jvCheckinResult[data-result="invalid"],.jvCheckinResult[data-result="error"]{background:var(--ju-danger-bg);border-color:var(--ju-danger-bg);color:var(--ju-danger)}.jvCheckinResult[data-result="pending"]{background:var(--ju-soft);border-color:var(--ju-border);color:var(--ju-text-muted)}
.jvPubFill--rowBlock{background:var(--ju-border);border:1px dashed var(--ju-border);align-items:flex-start;justify-content:center;padding-top:6px;color:var(--ju-text-muted);font-size:12px}

/* v3 additions */
.jvToolGrid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jvValidationPanel { border: 1px solid var(--border-color, var(--ju-soft)); border-radius:var(--ju-radius); padding: 10px; background: var(--ju-card); max-height: 260px; overflow: auto; }
.jvValidationSummary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:var(--ju-radius); background:var(--ju-soft); margin-bottom:8px; font-size:13px; }
.jvValidationSummary.is-ok { background:var(--ju-success-bg); color:var(--ju-success); }
.jvValidationSummary.is-error { background:var(--ju-danger-bg); color:var(--ju-danger); }
.jvValidationPanel h5 { margin:10px 0 6px; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ju-text-muted); }
.jvValidationPanel ul { margin:0 0 8px 18px; padding:0; font-size:12px; line-height:1.45; }
.jvChecklist { margin:0; padding-left:18px; font-size:12px; line-height:1.65; color:var(--ju-text-muted); }
.jvStatusGrid { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:14px; }
.jvStatusCard { border:1px solid var(--ju-soft); border-radius:var(--ju-radius); padding:16px; background:var(--ju-card); box-shadow:0 10px 24px var(--ju-border); }
.jvStatusCard strong { display:block; font-size:22px; margin-top:6px; color:var(--ju-text-strong); }
.jvStatusCard span { color:var(--ju-text-muted); font-size:13px; }
.jvTechTable td:first-child { font-weight:600; width:260px; color:var(--ju-text); }
.jvPaymentBox { border:1px solid var(--ju-soft); border-radius:var(--ju-radius); padding:16px; background:var(--ju-card); }
.jvTicketBody { background:var(--ju-soft); padding:32px; }
.jvTicketSheet { max-width:880px; margin:0 auto; }
.jvTicketCard { background:var(--ju-card); border-radius:var(--ju-radius); border:1px solid var(--ju-soft); box-shadow:0 24px 70px var(--ju-border); overflow:hidden; }
.jvTicketCard header { display:flex; gap:22px; align-items:center; padding:26px; background:linear-gradient(135deg, var(--tenant-primary), var(--ju-text-strong)); color:var(--ju-card); }
.jvTicketCard header img { width:190px; max-height:70px; object-fit:contain; background:var(--ju-card); border-radius:var(--ju-radius); padding:8px; }
.jvTicketCard h1 { margin:0; font-size:28px; }
.jvTicketCard p { margin:5px 0 0; }
.jvTicketGrid { display:grid; grid-template-columns:1fr 210px; gap:24px; padding:26px; }
.jvTicketGrid dl { display:grid; grid-template-columns:130px 1fr; gap:10px 18px; margin:0; }
.jvTicketGrid dt { color:var(--ju-text-muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.jvTicketGrid dd { margin:0; font-weight:700; color:var(--ju-text-strong); }
.jvTicketCode { width:160px; height:160px; border:1px solid var(--ju-soft); padding:8px; border-radius:var(--ju-radius); background:var(--ju-card); }
.jvTicketCard footer { padding:14px 26px; background:var(--ju-soft); color:var(--ju-text-muted); font-size:12px; }
@media print { .jvTicketBody{background:var(--ju-card);padding:0}.jvTicketCard{box-shadow:none}.btn,.jvPublicHeader{display:none!important} }
@media (max-width:720px){ .jvTicketGrid{grid-template-columns:1fr}.jvTicketCard header{display:block}.jvTicketCard header img{margin-bottom:16px}.jvTicketGrid dl{grid-template-columns:1fr}.jvTicketBody{padding:12px} }

/* v4: Single-Domain-Routing und Nutzerhilfe fuer eigene Domains */
.jvPublicFooter{margin-top:36px;padding:18px 0;border-top:1px solid var(--ju-border);background:var(--ju-border)}
.jvPublicFooter .container{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;color:var(--muted,var(--ju-text-muted));font-size:.92rem}
.jvDomainGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0 18px}
.jvDomainCard{border:1px solid var(--border,var(--ju-soft));border-radius:var(--ju-radius);background:var(--card,var(--ju-card));padding:16px;box-shadow:0 10px 28px var(--ju-border);display:flex;flex-direction:column;gap:8px;min-height:132px}
.jvDomainCard strong{font-size:.98rem;color:var(--text,var(--ju-text-strong))}
.jvDomainCard span{font-size:.9rem;line-height:1.45;color:var(--muted,var(--ju-text-muted))}
.jvDomainCard code,.jvPublicFooter code{border:1px solid var(--ju-border);background:var(--ju-border);border-radius:var(--ju-radius);padding:1px 6px}
.form-field--actions{justify-content:flex-end}
@media (max-width:1100px){.jvDomainGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.jvDomainGrid{grid-template-columns:1fr}.jvPublicFooter .container{display:block}.jvPublicFooter span{display:block;margin:6px 0}}

/* v15 Plattform-Admin / Zahlungsanbieter */
.navIcon--text{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;letter-spacing:.02em;border-radius:var(--ju-radius);background:var(--ju-border);min-width:22px;height:22px;padding:0 4px;}
.juv-platform .appSidebarFooter .appPlan{font-weight:800;}
.jvSetupList{margin:0;padding-left:1.3rem;display:grid;gap:.7rem;}
.jvSetupList li{line-height:1.45;}
.jvSetupList strong{color:var(--ju-anth,var(--ju-anth));}


/* v16-v20 Produktivhärtung */
.jvProgress{height:12px;border-radius:999px;background:var(--ju-soft);overflow:hidden;border:1px solid var(--ju-border)}.jvProgress span{display:block;height:100%;background:linear-gradient(90deg,var(--ju-gold,var(--ju-gold)),var(--ju-gold));border-radius:999px}.jvChecklist{display:grid;gap:12px}.jvChecklistItem{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--ju-border);border-radius:var(--ju-radius);background:var(--ju-card);text-decoration:none;color:inherit;transition:.15s}.jvChecklistItem:hover{box-shadow:0 10px 30px var(--ju-border);transform:translateY(-1px)}.jvCheck{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--ju-warning-bg);color:var(--ju-warning);font-weight:800}.jvCheck.is-ok{background:var(--ju-success-bg);color:var(--ju-success)}.jvTicketPreview{display:flex;gap:24px;align-items:center;padding:22px;border:1px solid var(--ju-soft);border-radius:var(--ju-radius);background:var(--ju-card)}.jvTicketPreview svg{max-width:180px;height:auto}.jvSetupList li{margin:.45rem 0}.badge-danger{background:var(--ju-danger-bg);color:var(--ju-danger)}.badge-success{background:var(--ju-success-bg);color:var(--ju-success)}.badge-warning{background:var(--ju-warning-bg);color:var(--ju-warning)}

/* v21 Ticket-/Mail-Erweiterungen */
.jvFeatureGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.jvFeatureCard{border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);background:var(--ju-card);padding:16px;box-shadow:0 10px 24px var(--ju-border)}.jvFeatureCard h3{margin:0 0 6px;font-size:1rem}.jvFeatureCard p{margin:0;color:var(--ju-muted,var(--ju-text-muted));line-height:1.45}.jvActionList{display:grid;gap:10px}.jvAction{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);background:var(--ju-card);color:inherit;text-decoration:none}.jvAction:hover{box-shadow:0 10px 28px var(--ju-border);transform:translateY(-1px)}.jvAction span{color:var(--ju-muted,var(--ju-text-muted))}.jvTicketPreviewFrame{overflow:auto;min-height:88mm;border:1px dashed var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);background:var(--ju-soft);padding:18px}.jvTicketPreviewFrame .ticket-dl{box-shadow:0 12px 30px var(--ju-border)}

/* v22-v30 Editor-, Druck-, Plakat- und Wow-Erweiterungen */
.jvEditorHubGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.jvEditorHubCard{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;text-decoration:none;color:inherit;background:var(--ju-card);border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);padding:16px;box-shadow:0 10px 24px var(--ju-border);transition:.16s}.jvEditorHubCard:hover{transform:translateY(-2px);box-shadow:0 16px 34px var(--ju-border)}.jvEditorHubCard strong{display:block;margin-bottom:5px;color:var(--ju-anth,var(--ju-anth))}.jvEditorHubCard span{display:block;color:var(--ju-muted,var(--ju-text-muted));line-height:1.42}.jvPreviewGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.jvRuleBuilder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.jvPosterPreview{max-width:520px;min-height:735px;margin:0 auto;padding:34px;border-radius:var(--ju-radius);background:linear-gradient(145deg,var(--poster-primary,var(--ju-anth)),var(--ju-text-strong));color:var(--ju-card);box-shadow:0 24px 70px var(--ju-border);position:relative;overflow:hidden}.jvPosterPreview:before{content:"";position:absolute;inset:auto -80px -110px auto;width:290px;height:290px;border-radius:999px;background:var(--poster-accent,var(--ju-gold));opacity:.88}.jvPosterTop{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;z-index:1}.jvPosterTop img{width:132px;max-height:52px;object-fit:contain;background:var(--ju-card);border-radius:var(--ju-radius);padding:8px}.jvPosterTop span{font-weight:900;color:var(--poster-accent,var(--ju-gold));text-transform:uppercase;letter-spacing:.08em}.jvPosterPreview h1{font-size:54px;line-height:.96;margin:86px 0 18px;position:relative;z-index:1}.jvPosterSub{font-size:20px;line-height:1.35;max-width:360px;position:relative;z-index:1}.jvPosterFacts{display:grid;gap:10px;margin-top:38px;font-size:18px;position:relative;z-index:1}.jvPosterFacts strong{font-size:24px;color:var(--poster-accent,var(--ju-gold))}.jvPosterBottom{display:flex;align-items:center;gap:18px;position:absolute;left:34px;right:34px;bottom:34px;z-index:1}.jvPosterBottom img{width:96px;height:96px;border-radius:var(--ju-radius);background:var(--ju-card);padding:7px}.jvPosterBottom strong{font-size:22px}.jvPosterBottom span{font-size:12px;word-break:break-all}.jvTicketA4Preview{min-height:420px}.jvTicketA4Preview .ticket-a4{box-shadow:0 22px 65px var(--ju-border)}
@media(max-width:980px){.jvPreviewGrid,.jvRuleBuilder{grid-template-columns:1fr}.jvPosterPreview h1{font-size:40px}.jvPosterPreview{min-height:650px}}


/* v41-v50 Professional Product Polish */
.jvHero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:stretch;margin-bottom:18px}.jvHero>div:first-child,.jvHeroCard{border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);background:var(--ju-card);box-shadow:0 18px 42px var(--ju-border);padding:24px}.jvHero h1{margin:.15rem 0 .4rem;font-size:clamp(30px,4vw,52px);letter-spacing:-.035em;line-height:.95}.jvHero p{max-width:720px;color:var(--ju-muted,var(--ju-text-muted));line-height:1.55}.jvHeroCard{display:flex;flex-direction:column;justify-content:center;gap:8px;background:linear-gradient(145deg,var(--ju-card),var(--ju-soft))}.jvHeroCard strong{font-size:46px;letter-spacing:-.04em}.jvHeroCard span{color:var(--ju-muted,var(--ju-text-muted));font-weight:800}.jvTimeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.jvTimeline>div{position:relative;background:var(--ju-card);border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);padding:16px;box-shadow:0 10px 24px var(--ju-border)}.jvTimeline strong{display:block;margin-bottom:6px}.jvTimeline span{display:block;color:var(--ju-muted,var(--ju-text-muted));line-height:1.45}.jvTokenCloud{display:flex;flex-wrap:wrap;gap:10px}.jvTokenCloud code{border:1px solid var(--ju-border,var(--ju-border));border-radius:999px;background:var(--ju-card);padding:8px 11px;font-weight:800}.jvLaunchSeal{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--ju-success-bg);color:var(--ju-success);border:1px solid var(--ju-success-bg);padding:8px 12px;font-weight:900}.jvMaturityGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.jvMaturityCard{border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);background:var(--ju-card);padding:18px;box-shadow:0 10px 26px var(--ju-border)}.jvMaturityCard strong{display:block;font-size:1.05rem;margin-bottom:6px}.jvMaturityCard p{margin:0;color:var(--ju-muted,var(--ju-text-muted));line-height:1.45}@media(max-width:980px){.jvHero,.jvTimeline{grid-template-columns:1fr}.jvHero h1{font-size:34px}}

/* v51-v60: Schnellstart, Profi-Modus, Live-Härtung */
.jvModeSwitch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.jvModeCard{border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);background:var(--ju-card);padding:22px;box-shadow:0 18px 42px var(--ju-border);text-decoration:none;color:inherit}.jvModeCard:hover{transform:translateY(-2px);box-shadow:0 24px 54px var(--ju-border)}.jvModeCard h3{margin:0 0 8px;font-size:1.35rem}.jvModeCard p{margin:.2rem 0;color:var(--ju-muted,var(--ju-text-muted));line-height:1.5}.jvGate{display:flex;align-items:flex-start;gap:13px;padding:14px 16px;border:1px solid var(--ju-border,var(--ju-border));border-radius:var(--ju-radius);background:var(--ju-card)}.jvGateCode{width:38px;height:38px;border-radius:var(--ju-radius);background:var(--ju-text-strong);color:var(--ju-card);font-weight:900;display:flex;align-items:center;justify-content:center}.jvStatusPill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;border:1px solid var(--ju-border);background:var(--ju-card);padding:6px 10px;font-weight:900;font-size:.82rem}.jvStatusPill:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--ju-gold)}.jvStatusPill.is-ok:before{background:var(--ju-success)}.jvStatusPill.is-warn:before{background:var(--ju-gold)}.jvStatusPill.is-block:before{background:var(--ju-danger)}.jvProofGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.jvProofCard{border:1px solid var(--ju-border,var(--ju-border));background:var(--ju-card);border-radius:var(--ju-radius);padding:18px;box-shadow:0 10px 24px var(--ju-border)}.jvProofCard strong{display:block;margin-bottom:6px}.jvProofCard code{background:var(--ju-soft);border:1px solid var(--ju-soft);border-radius:var(--ju-radius);padding:2px 6px}@media(max-width:860px){.jvModeSwitch{grid-template-columns:1fr}.jvTimeline{grid-template-columns:1fr!important}}

/* v61-v70 Layout-Parity und getrennte Public Experience */


/* v73 public live search and event discovery */
.check-panel{border:1px solid var(--ju-border,var(--ju-soft));border-radius:var(--ju-radius);padding:14px;background:var(--ju-card,var(--ju-card));display:grid;gap:8px}

.jvPrintNotice{position:fixed;right:16px;bottom:16px;background:var(--ju-text-strong);color:var(--ju-card);padding:10px 14px;border-radius:var(--ju-radius);font-family:var(--ju-font);font-size:13px;box-shadow:var(--ju-shadow)}
.jvErrorBody{font-family:var(--ju-font);background:var(--ju-bg);color:var(--ju-text);margin:0;padding:40px}.jvErrorCard{max-width:720px;background:var(--ju-card);border:1px solid var(--ju-border);border-radius:var(--ju-radius);box-shadow:var(--ju-shadow);padding:24px}.jvErrorCard h1{margin-top:0;color:var(--ju-text-strong)}



/* v75.4 Public-Korrektur: style.css/navigation.css bleiben Grundlage; hier nur JUEvent-spezifische Layout- und Zustandsregeln. */
:root{
  --jv-seat-free:var(--ju-soft);
  --jv-seat-held:var(--ju-warning-bg);
  --jv-seat-reserved:var(--ju-soft);
  --jv-seat-sold:var(--ju-text-subtle);
  --jv-seat-blocked:var(--ju-danger-bg);
  --jv-seat-selected:var(--ju-gold);
  --jv-seat-border:var(--ju-border-strong);
}

.jvMarketingBody,
.jvPublicBody,
.jvTenantPublicBody{
  background:var(--ju-bg);
  color:var(--ju-text-strong);
}

.jvMarketingContent{
  width:100%;
  max-width:1180px;
  padding:0;
}

.juv-sidebar-shell .appSidebar--marketing .appSidebarPanel{
  background:var(--ju-shell-bg);
}
.juv-sidebar-shell .appSidebar--marketing .appNavLink.active,
.juv-sidebar-shell .appSidebar--marketing .appNavLink:hover{
  background:var(--ju-shell-fill);
  color:var(--ju-card);
}
.juv-sidebar-shell .appSidebar--marketing .appNavLink.active .navIcon{
  color:var(--ju-gold);
}

@media (min-width:981px){
  .juv-sidebar-shell .jvMarketingPage,
  .juv-sidebar-shell .jvLoginPage{
    width:auto;
    min-height:100vh;
    margin-left:calc(var(--sidebar-expanded) + var(--sidebar-content-offset));
    margin-right:0;
    padding:0 24px 24px;
    overflow-x:hidden;
    transition:margin-left var(--ju-motion-fast) var(--ju-ease-standard);
  }
  .juv-sidebar-shell.sidebar-collapsed .jvMarketingPage,
  .juv-sidebar-shell.sidebar-collapsed .jvLoginPage{
    margin-left:calc(var(--sidebar-collapsed) + var(--sidebar-content-offset));
  }
  .juv-sidebar-shell.sidebar-collapsed .appSidebar{width:var(--sidebar-collapsed);}
  .juv-sidebar-shell.sidebar-collapsed .appBrandExpanded{display:none;visibility:hidden;opacity:0;}
  .juv-sidebar-shell.sidebar-collapsed .appBrandCollapsed{display:block;visibility:visible;opacity:1;}
  .juv-sidebar-shell.sidebar-collapsed .appSidebarDesktopToggle{left:50%;right:auto;transform:translateX(-50%);}
  .juv-sidebar-shell.sidebar-collapsed .appSidebarDesktopToggle .chevron-left{display:none;}
  .juv-sidebar-shell.sidebar-collapsed .appSidebarDesktopToggle .chevron-right{display:block;}
  .juv-sidebar-shell.sidebar-collapsed .appSidebarPanel{padding-inline:8px;}
  .juv-sidebar-shell.sidebar-collapsed .appSidebarBrand{padding-right:8px;padding-left:8px;}
  .juv-sidebar-shell.sidebar-collapsed .appSidebarBrandBox{padding-inline:8px;}
  .juv-sidebar-shell.sidebar-collapsed .appNavGroupLabel,
  .juv-sidebar-shell.sidebar-collapsed .appNavLink > span:last-child,
  .juv-sidebar-shell.sidebar-collapsed .appUtilityLink > span:last-child,
  .juv-sidebar-shell.sidebar-collapsed .appPlan,
  .juv-sidebar-shell.sidebar-collapsed .appSoftwareByWrap{display:none;}
  .juv-sidebar-shell.sidebar-collapsed .appNavLink{justify-content:center;gap:0;padding-inline:0;}
  .juv-sidebar-shell.sidebar-collapsed .appNavLinkAccent{left:2px;}
  .juv-sidebar-shell.sidebar-collapsed .appUtilityLink{justify-content:center;padding-inline:0;}

  body.admin-app.juv-admin .appWorkbar{
    position:fixed;
    top:0;
    left:var(--sidebar-expanded);
    right:0;
    width:auto;
    z-index:79;
    margin:0;
  }
  body.admin-app.juv-admin.sidebar-collapsed .appWorkbar{
    left:var(--sidebar-collapsed);
  }
  .juv-public-platform:not(.juv-public-impressum):not(.juv-public-datenschutz):not(.juv-public-agb) .appShellWrap,
  .juv-public-login .appShellWrap{
    padding-top:calc(var(--app-workbar-offset, var(--app-workbar-height)) + 14px);
  }
}

@media (max-width:1023px){
  .juv-sidebar-shell .jvMarketingPage,
  .juv-sidebar-shell .jvLoginPage{
    min-height:100vh;
    margin-left:0;
    padding:var(--app-mobile-header-height) 16px 18px;
  }
  body.admin-app.juv-admin .appWorkbar{
    position:fixed;
    top:var(--app-mobile-header-height);
    left:0;
    right:0;
    width:auto;
    margin:0;
    z-index:79;
  }
  .juv-public-platform:not(.juv-public-impressum):not(.juv-public-datenschutz):not(.juv-public-agb) .appShellWrap,
  .juv-public-login .appShellWrap{
    padding-top:calc(var(--app-workbar-offset, var(--app-workbar-height)) + 12px);
  }
}

.jvPublicWorkbar{
  margin:0;
}
.jvPublicWorkbar .appWorkbarRow{
  min-height:72px;
}
.jvPublicSearchSlot{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  padding:12px 20px;
  align-items:center;
}
.jvPublicSearchForm{
  width:100%;
}
.jvPublicSearchInput{
  width:100%;
  min-height:44px;
}
.jvPublicWorkbar .appWorkbarSearchInput{
  background:var(--ju-shell-fill);
  border-color:var(--ju-shell-fill-strong);
  color:var(--ju-card);
}
.jvPublicWorkbar .appWorkbarSearchInput::placeholder{
  color:var(--ju-shell-text-soft);
}
.jvPublicWorkbar .appWorkbarSearchInput:focus{
  border-color:var(--ju-gold);
  box-shadow:0 0 0 3px var(--ju-accent-focus);
}

.jvPublicIntro{
  margin-bottom:2px;
}
.jvPublicIntro .page-title{
  max-width:980px;
  font-size:clamp(34px,3.4vw,48px);
  line-height:1;
}
.jvPublicIntro .page-subtitle{
  max-width:72ch;
}
.jvPlainStack{
  display:grid;
  gap:10px;
}
.jvPlainItem{
  display:grid;
  gap:4px;
  padding:0 0 10px;
  border-bottom:1px solid var(--ju-border);
}
.jvPlainItem:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.jvSearchHost.is-hidden{
  display:none;
}
.jvListSection{
  gap:10px;
}
.jvListSection + .jvListSection{
  margin-top:4px;
}
.jvListSectionHeader,
.jvSearchGroupHeader{
  gap:4px;
  padding:0 0 8px;
  border-bottom:1px solid var(--ju-border);
}
.jvListSectionHeader .section-title,
.jvSearchGroupHeader .section-title{
  font-size:18px;
  line-height:1.2;
  font-weight:900;
}
.jvSearchGroup{
  display:grid;
  gap:10px;
}
.jvSearchGroup + .jvSearchGroup{
  margin-top:14px;
}
.jvResultList{
  display:grid;
  gap:8px;
}
.jvResultItem{
  display:grid;
  grid-template-columns:126px minmax(0,1fr);
  align-items:stretch;
  min-height:126px;
  overflow:hidden;
  color:inherit;
  box-shadow:none;
}
.jvResultThumb{
  width:100%;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:0;
  border-right:1px solid var(--ju-border);
  border-radius:0;
  background:var(--ju-soft);
}
.jvResultThumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.jvResultThumb--logo img,
.jvResultItem--tenant .jvResultThumb img{
  object-fit:contain;
  padding:14px;
  background:var(--ju-card);
}
.jvResultBody{
  display:grid;
  align-content:center;
  gap:5px;
  min-width:0;
  padding:12px 14px;
}
.jvResultTopline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:var(--ju-text-muted);
  font-size:12px;
  font-weight:700;
}
.jvResultTitle{
  margin:0;
  color:var(--ju-text-strong);
  font-size:17px;
  line-height:1.25;
}
.jvResultTitle a{
  color:inherit;
  text-decoration:none;
}
.jvResultTitle a:hover{
  text-decoration:underline;
}
.jvResultMeta,
.jvResultText{
  margin:0;
  color:var(--ju-text-muted);
  font-size:13px;
  line-height:1.45;
}
.jvResultText{
  max-width:78ch;
}
.jvResultFooter{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.jvResultSide{
  display:none;
}
.jvResultActions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}
mark{
  background:var(--ju-gold);
  color:var(--ju-anth);
  border-radius:3px;
  padding:0 .12em;
}
.searchEmpty{
  padding:14px 0;
  color:var(--ju-text-muted);
  font-size:13px;
}

.jvTenantHeader{
  position:sticky;
  top:0;
  z-index:20;
  background:var(--ju-card);
  border-bottom:1px solid var(--ju-border);
}
.jvTenantHeader .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  max-width:none;
}
.jvTenantBrand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:inherit;
  font-weight:800;
  text-decoration:none;
}
.jvTenantBrand img,
.jvPublicLogo{
  width:auto;
  max-width:220px;
  max-height:42px;
  object-fit:contain;
  background:var(--ju-card);
  border-radius:var(--ju-radius);
}
.jvTenantHeader nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.jvTenantMain .container{
  max-width:1180px;
  margin-left:0;
}
.jvTenantHero{
  padding:18px 0 4px;
}
.jvTenantHero .page-title{
  font-size:clamp(34px,3.4vw,48px);
  line-height:1;
}
.jvTenantSearchForm{
  max-width:720px;
  margin-top:12px;
}
.jvTenantFooter{
  border-top:1px solid var(--ju-border);
  background:var(--ju-card);
}
.jvTenantFooter .container{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  color:var(--ju-text-muted);
  max-width:none;
}
.jvFormNarrow{
  max-width:520px;
}

.jvSeat{border-color:var(--jv-seat-border);color:var(--ju-text-strong)}
.jvSeat.is-selected{border-color:var(--ju-warning)}
.jvSwatch--free{background:var(--jv-seat-free)}
.jvSwatch--held{background:var(--jv-seat-held)}
.jvSwatch--reserved{background:var(--jv-seat-reserved)}
.jvSwatch--sold{background:var(--jv-seat-sold)}
.jvSwatch--blocked{background:var(--jv-seat-blocked)}
.jvSwatch--selected{background:var(--jv-seat-selected)}

@media (max-width:1023px){
  .jvPublicSearchSlot{
    display:flex;
    min-width:0;
    padding:12px 16px;
    background:var(--ju-shell-bg);
  }
  .jvMarketingContent,
  .jvTenantMain .container{
    max-width:none;
  }
}
@media (max-width:760px){
  .jvResultItem{
    grid-template-columns:92px minmax(0,1fr);
    min-height:112px;
  }
  .jvResultBody{
    padding:10px 12px;
  }
  .page-title{
    font-size:36px;
  }
}
