:root{--b:#153f7a;--navy:#101d3d;--red:#d62f35;--gold:#f0c845;--bg:#f4f6fa;--card:#fff;--text:#17243a;--muted:#6b7587;--ok:#16874c;--warn:#b56d00;--bad:#c93434;--line:#d9dfeb}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}header{min-height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px max(16px,calc((100vw - 1180px)/2));gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{display:block;font-size:22px}.brand small{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{font-size:13px;color:var(--muted)}nav{background:var(--b);padding:0 max(12px,calc((100vw - 1180px)/2));display:flex;gap:4px;overflow:auto}nav a{color:white;text-decoration:none;padding:12px 14px;white-space:nowrap}nav a:hover{background:#29417f}main{max-width:1180px;margin:0 auto;padding:18px}.eventbar{background:#eaf0ff;border:1px solid #cbd8ff;padding:10px 14px;border-radius:12px;display:flex;gap:10px;align-items:center;margin-bottom:16px}.eventbar a{margin-left:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi,.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 2px 8px #24334d0a}.kpi b{font-size:30px;display:block}.kpi span{color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.toolbar input,.toolbar select,input,select,textarea{padding:11px 12px;border:1px solid #bfc8d6;border-radius:10px;background:#fff;font:inherit}.toolbar input{min-width:260px;flex:1}.btn,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 14px;background:var(--b);color:#fff;text-decoration:none;font-weight:650;cursor:pointer}.btn.ghost{background:#eef1f6;color:#27354b}.btn.bad{background:var(--bad)}.btn.ok{background:var(--ok)}.stands{display:grid;gap:10px}.stand{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center}.standno{font-weight:800;font-size:20px}.meta{color:var(--muted);font-size:13px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chip{font-size:12px;border-radius:999px;padding:5px 8px;background:#eef1f6}.chip.ok{background:#dff4e8;color:#0b6737}.chip.bad{background:#ffe4e4;color:#9c2222}.chip.warn{background:#fff0d3;color:#855000}.actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.toggle{min-width:92px;background:#edf0f5;color:#364154}.toggle.on{background:#dff4e8;color:#0b6737}.toggle.problem{background:#ffe4e4;color:#9c2222}.flash{padding:12px 14px;background:#e2f4e8;border:1px solid #acd7ba;border-radius:12px;margin:12px 0}.form{display:grid;gap:12px;max-width:800px}.form label{display:grid;gap:5px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef2f8}.problem-card{border-left:6px solid var(--bad)}.sev-info{border-left-color:#5d79b9}.sev-normal{border-left-color:#e59b22}.sev-urgent{border-left-color:var(--bad)}.login{max-width:420px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.login-logo{width:150px;display:block;margin:0 auto 16px}.small{font-size:13px;color:var(--muted)}@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.stand{grid-template-columns:70px 1fr}.actions{grid-column:1/-1;justify-content:flex-start}.row{grid-template-columns:1fr}.user-chip{display:none}}@media(max-width:480px){main{padding:10px}.grid{grid-template-columns:1fr 1fr}.kpi{padding:12px}.kpi b{font-size:24px}.brand strong{font-size:18px}.brand img{width:48px;height:48px}}
.cancelled{opacity:.72}.cancelled .stand-main{text-decoration:line-through;text-decoration-thickness:2px}.hidden-row{opacity:.6}.danger-zone{margin-top:14px;border-color:#efc1c1}.choice{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.choice input{width:auto}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-form{max-width:820px;margin:22px auto}.public-head{display:flex;align-items:center;gap:20px;margin-bottom:16px}.public-head img{width:110px;height:110px;object-fit:contain}.public-head h1{margin-bottom:4px}.public-head p{margin:0;color:var(--muted)}.public-card{max-width:none}.success-box{background:#e2f4e8;border:1px solid #acd7ba;border-radius:16px;padding:22px}.copy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.copy-row input{flex:1;min-width:280px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.danger-zone .btn.bad{background:var(--bad)}code{background:#eef1f6;padding:2px 5px;border-radius:5px}@media(max-width:600px){.choice-grid{grid-template-columns:1fr}.public-head{align-items:flex-start}.public-head img{width:80px;height:80px}.title-row{align-items:flex-start;flex-direction:column}.copy-row input{min-width:100%}}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.grid-5{grid-template-columns:repeat(5,1fr)}.toggle.donation.on{background:#e5f6df;color:#356d22}.table-wrap{overflow-x:auto}.bulk-stands .standno-input{width:100px;min-width:90px;font-weight:700}.bulk-save{position:sticky;bottom:10px;display:flex;justify-content:flex-end;padding-top:14px}.bulk-save button{box-shadow:0 5px 18px #24334d33}@media(max-width:1000px){.grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.grid-5{grid-template-columns:1fr 1fr}.bulk-stands{min-width:720px}}
.address-table{min-width:1080px}.candidate-list{display:grid;gap:8px}.candidate{display:block;border:1px solid var(--line);border-radius:10px;padding:10px;text-decoration:none;color:var(--text);background:#fff}.candidate:hover,.candidate.selected{border-color:var(--b);background:#eef3ff}.candidate span{font-size:13px;color:var(--muted)}.candidate small{display:block;margin-top:3px;color:var(--muted)}.diff-table{min-width:720px}.diff-table tr.changed td{background:#fff7df}.diff-table tr.changed td:first-child{border-left:4px solid var(--warn)}.registration-review{align-items:start}
.dashboard-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-top:12px}.dashboard-filters label{display:grid;gap:5px;font-size:13px;color:var(--muted)}.dashboard-filters label.wide{grid-column:span 2}.dashboard-filters input,.dashboard-filters select{width:100%;min-width:0;color:var(--text)}.filter-actions{display:flex;align-items:end;gap:8px;grid-column:span 2}.duplicate-score{font-weight:800}.duplicate-reasons{display:flex;gap:5px;flex-wrap:wrap}.merge-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.merge-choice{display:grid;grid-template-columns:180px 1fr 1fr;gap:8px;align-items:center}.merge-choice>div{padding:8px;border:1px solid var(--line);border-radius:9px}.match-strong{background:#e3f5e9}.match-medium{background:#fff4d9}@media(max-width:900px){.dashboard-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}.dashboard-filters label.wide,.filter-actions{grid-column:span 2}.merge-grid{grid-template-columns:1fr}.merge-choice{grid-template-columns:1fr}.merge-choice>strong{margin-top:8px}}@media(max-width:520px){.dashboard-filters{grid-template-columns:1fr}.dashboard-filters label.wide,.filter-actions{grid-column:span 1}.filter-actions{align-items:stretch;flex-direction:column}}

/* v2.0 Hilfe */
.help-doc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.help-title{border-bottom:1px solid #dce3f0;padding-bottom:12px;margin-bottom:8px}
.help-title h1{margin:.45rem 0 .2rem}
.help-title p{max-width:980px}
.help-section{padding:13px 0;border-bottom:1px solid #e7ebf3}
.help-section:last-child{border-bottom:0}
.help-section h2{margin:0 0 7px;color:#36519e}
.help-section p{max-width:1000px;line-height:1.55}
.help-section ul{margin:7px 0 0;padding-left:22px;line-height:1.55}
.help-pdf-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px}
.help-pdf-list a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dce3f0;border-radius:10px;text-decoration:none;background:#f8faff}
.help-pdf-list a:hover{background:#eef3ff}
.help-pdf-list span{font-size:.83rem;color:#697386;white-space:nowrap}
@media(max-width:680px){.help-doc-tabs .btn{width:100%;text-align:center}.help-pdf-list{grid-template-columns:1fr}}

/* v2.0.1 kompakte mobile Dashboard-Filter */
.dashboard-filter-mobile{display:none}
@media(max-width:700px){
  .dashboard-filter-desktop{display:none}
  .dashboard-filter-mobile{display:block}
  .mobile-search{display:grid;grid-template-columns:1fr auto;gap:7px}
  .mobile-search input{min-width:0;width:100%;padding:9px 10px;border-radius:10px}
  .mobile-search button{padding:9px 12px}
  .quick-filter-scroll{display:flex;gap:6px;overflow-x:auto;padding:9px 1px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .quick-filter-scroll::-webkit-scrollbar{display:none}
  .quick-filter{flex:0 0 auto;text-decoration:none;color:#364154;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700;white-space:nowrap}
  .quick-filter.active{background:var(--b);border-color:var(--b);color:#fff}
  .active-filter-strip{display:flex;gap:5px;align-items:center;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
  .active-filter-strip::-webkit-scrollbar{display:none}
  .active-filter-strip .chip{flex:0 0 auto;padding:4px 7px}
  .active-filter-strip a{flex:0 0 auto;font-size:12px;color:var(--b);font-weight:700;margin-left:3px}
  .mobile-filter-details{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .mobile-filter-details summary{list-style:none;display:flex;align-items:center;gap:8px;padding:10px 12px;font-weight:800;cursor:pointer;user-select:none}
  .mobile-filter-details summary::-webkit-details-marker{display:none}
  .mobile-filter-details summary b{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--b);color:#fff;font-size:11px;margin-left:auto}
  .mobile-filter-details summary .summary-chevron{margin-left:auto;color:var(--muted);font-size:18px;line-height:1;transition:transform .15s ease}
  .mobile-filter-details summary b + .summary-chevron{margin-left:0}
  .mobile-filter-details[open] .summary-chevron{transform:rotate(180deg)}
  .mobile-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 10px 10px;border-top:1px solid var(--line);padding-top:9px}
  .mobile-filter-grid label{display:grid;gap:3px;font-size:11px;color:var(--muted);font-weight:700}
  .mobile-filter-grid select{width:100%;min-width:0;padding:8px 7px;border-radius:9px;font-size:13px}
  .mobile-filter-grid .mobile-sort{grid-column:span 1}
  .mobile-filter-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:2px}
  .mobile-filter-actions button,.mobile-filter-actions .btn{padding:9px 10px;font-size:13px}
  .grid-5{gap:7px}
  .kpi{padding:10px 9px;border-radius:12px}
  .kpi b{font-size:21px}
  .kpi span{font-size:11px}
  .stand{padding:11px;gap:9px;border-radius:12px;grid-template-columns:58px 1fr}
  .standno{font-size:18px}
  .stand .actions{gap:5px}
  .stand .actions .toggle,.stand .actions .btn{min-width:0;padding:8px 10px;font-size:12px}
}
@media(max-width:380px){
  .mobile-filter-grid{gap:6px;padding-left:8px;padding-right:8px}
  .mobile-filter-grid select{font-size:12px;padding:7px 5px}
}

/* v2.0.2 kompakte Adressbuch-Dubletten-Arbeitsliste */
.dup-kpis{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.dup-kpis span{background:#f3f6fb;border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:12px;color:var(--muted)}.dup-kpis b{font-size:18px;color:var(--text);margin-right:4px}.dup-filter{display:grid;grid-template-columns:minmax(190px,1fr) 110px minmax(170px,230px) auto auto auto;gap:7px;align-items:center;margin:10px 0 12px}.dup-filter input,.dup-filter select{min-width:0;width:100%;padding:8px 9px}.dup-bulk{position:sticky;top:0;z-index:3;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#f7f9fc;border:1px solid var(--line);border-radius:11px;padding:9px;margin-bottom:9px}.dup-bulk select{min-width:260px}.dup-list{display:grid;gap:7px}.dup-row{display:grid;grid-template-columns:34px 78px minmax(190px,1fr) 28px minmax(190px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.dup-row.ignored{opacity:.65;background:#f7f7f7}.dup-check{text-align:center}.dup-score{text-align:center}.dup-score b{display:block;font-size:22px}.dup-score small{display:block;color:var(--muted);font-size:10px}.dup-person{display:grid;gap:2px;min-width:0}.dup-person strong,.dup-person span,.dup-person small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dup-person span{font-size:13px}.dup-person small{font-size:11px;color:var(--muted)}.dup-vs{text-align:center;color:var(--muted);font-weight:800}.dup-reasons{display:flex;gap:4px;flex-wrap:wrap}.dup-actions{text-align:right}.dup-actions .btn{padding:8px 10px;font-size:12px}
@media(max-width:900px){.dup-filter{grid-template-columns:1fr 1fr}.dup-filter .choice{grid-column:1/-1}.dup-row{grid-template-columns:32px 62px 1fr auto}.dup-vs{display:none}.dup-person:nth-of-type(2){grid-column:3}.dup-reasons{grid-column:3}.dup-actions{grid-column:4;grid-row:1/4}.dup-bulk{top:0}.dup-bulk select{min-width:0;flex:1}}
@media(max-width:600px){.dup-filter{grid-template-columns:1fr}.dup-filter .choice{grid-column:auto}.dup-bulk{display:grid;grid-template-columns:1fr}.dup-row{grid-template-columns:28px 52px 1fr;padding:8px}.dup-score b{font-size:18px}.dup-person{grid-column:3}.dup-reasons{grid-column:3}.dup-actions{grid-column:3;grid-row:auto;text-align:left}.dup-actions .btn{width:100%}.dup-vs{display:none}}
.address-filter-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}.event-assignment{min-width:150px}.event-stand-nos{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:5px}.event-stand-nos a{font-size:11px;font-weight:700;text-decoration:none;background:#eef3ff;color:#29417f;padding:2px 6px;border-radius:999px}.mini-status{font-size:10px;color:var(--muted)}.mini-status.cancelled{color:var(--bad)}.mini-status.hidden{color:var(--warn)}
@media(max-width:800px){.address-table{min-width:1180px}.toolbar select[name="scope"]{flex:1 1 100%;width:100%}.address-filter-info{margin-top:0}.event-assignment{min-width:135px}}

/* v2.0.5 Adressbuch-Aktionen und Zuordnungsstatus */
.address-bulkbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f7f9fc;border:1px solid var(--line);border-radius:11px;padding:9px;margin:8px 0 10px}.address-bulkbar select{min-width:260px}.check-col{width:34px;text-align:center}.row-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.row-actions .btn{padding:7px 9px;font-size:12px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.detail-grid>div{border:1px solid var(--line);background:#f9fbff;border-radius:10px;padding:10px;display:grid;gap:3px}.detail-grid span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.detail-grid .detail-wide{grid-column:1/-1}.address-missing{font-weight:800}.address-linked{background:#eef3ff;color:#36519e}
@media(max-width:700px){.address-bulkbar{display:grid;grid-template-columns:1fr}.address-bulkbar select{min-width:0;width:100%}.detail-grid{grid-template-columns:1fr}.detail-grid .detail-wide{grid-column:auto}.row-actions{min-width:240px}}

/* v2.0.6 Dashboard-Statusaktionen */
.stand-actions{justify-content:flex-start;align-items:center}.icon-toggle,.icon-action{width:40px;height:38px;min-width:40px;padding:0;font-size:18px;position:relative}.icon-toggle.on{box-shadow:inset 0 0 0 2px #83c59f}.icon-action{font-size:17px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.mobile-dashboard-reset{margin-top:10px;width:100%}@media(max-width:800px){.stand-actions{grid-column:1/-1;justify-content:flex-start}.icon-toggle,.icon-action{width:38px;height:36px;min-width:38px}}
/* v2.0.6 Installations-Kurzanleitung */
.install-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.install-help-box{background:#f6f8fc;border:1px solid #dce3ef;border-radius:12px;padding:14px}.install-help-box h3{margin:0 0 8px;font-size:1.05rem}.install-help-box ol{margin:0;padding-left:1.25rem}.install-help-box li{margin:.4rem 0;line-height:1.35}@media(max-width:720px){.install-help-grid{grid-template-columns:1fr}.install-help-box{padding:12px}.install-help-box ol{padding-left:1.15rem}}

/* v3.0 Veranstaltungsorganisation / To Do */
.todo-kpis{margin:12px 0}.todo-filter-card{margin:14px 0}.todo-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(130px,.7fr)) auto auto;gap:7px;align-items:center}.todo-filters input,.todo-filters select{width:100%;min-width:0}.todo-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f7f9fc;border:1px solid var(--line);border-radius:11px;padding:9px;margin-bottom:9px}.todo-list{display:grid;gap:8px}.todo-row{display:grid;grid-template-columns:32px 1fr 40px;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-left:5px solid #aeb8c8;border-radius:12px;padding:10px 11px}.todo-row.priority-urgent{border-left-color:#c0392b}.todo-row.priority-high{border-left-color:#e67e22}.todo-row.priority-normal{border-left-color:#36519e}.todo-row.priority-low{border-left-color:#7f8c8d}.todo-row.status-done{opacity:.68}.todo-row.status-done .todo-main strong{text-decoration:line-through}.todo-main{text-decoration:none;color:inherit;min-width:0}.todo-titleline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.todo-titleline strong{font-size:16px}.todo-main p{margin:5px 0;color:var(--muted);font-size:13px}.todo-priority,.todo-status{font-size:10px;border-radius:999px;padding:3px 7px;font-weight:800;background:#eef2f7}.todo-priority.urgent{background:#fde8e6;color:#a52d20}.todo-priority.high{background:#fff0dc;color:#9d5a00}.todo-priority.normal{background:#eef3ff;color:#29417f}.todo-priority.low{background:#edf1f1;color:#55615f}.todo-status{color:#4b5668}.todo-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:6px}.due-overdue{color:#b02a37!important;font-weight:800}.due-today{color:#9d5a00!important;font-weight:800}.todo-open{padding:7px 11px;font-size:20px}.modal{border:0;border-radius:14px;box-shadow:0 20px 60px #0004;width:min(720px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:18px}.modal::backdrop{background:#17203388}.assignee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.todo-detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.subtask-list{display:grid;gap:6px;margin:8px 0 12px}.subtask{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:6px 8px}.subtask.done span{text-decoration:line-through;color:var(--muted)}.subtask-check{width:34px;height:32px;padding:0;background:#f1f4f9;color:#24324a;border:0;border-radius:8px}.todo-detail-meta{display:grid;gap:6px;color:var(--muted);font-size:12px}.comment-list{display:grid;gap:8px;margin-top:12px}.comment{border-left:3px solid #cad5ef;background:#f8faff;border-radius:8px;padding:9px 11px}.comment small{color:var(--muted);margin-left:7px}.comment p{margin:5px 0 0}.danger-zone{border-color:#edc7c7;background:#fffafa}
@media(max-width:1000px){.todo-filters{grid-template-columns:1fr 1fr 1fr}.todo-detail-grid{grid-template-columns:1fr}}
@media(max-width:680px){.todo-filters{grid-template-columns:1fr 1fr}.todo-filters input{grid-column:1/-1}.todo-row{grid-template-columns:28px 1fr 34px;padding:9px}.todo-meta{gap:6px}.assignee-grid{grid-template-columns:1fr}.todo-bulk{display:grid;grid-template-columns:auto 1fr}.todo-bulk button{grid-column:1/-1}.modal{padding:13px}.todo-kpis.grid-4{grid-template-columns:repeat(2,1fr)}}

/* v3.0.1 - kompaktere mobile Standkarten / Statusaktionen */
@media(max-width:800px){
  .stand{padding:8px 9px;gap:6px;grid-template-columns:52px 1fr}
  .standno{font-size:16px;line-height:1.15}
  .stand-main>strong{font-size:14px}
  .stand .meta{font-size:11px;line-height:1.25;margin-top:2px}
  .stand .chips{gap:3px;margin-top:4px}
  .stand .chips .chip{font-size:9px;padding:2px 5px;line-height:1.15;border-radius:999px}
  .stand-actions{gap:3px;margin-top:1px}
  .icon-toggle,.icon-action{width:31px;height:30px;min-width:31px;padding:0;font-size:14px;border-radius:8px}
  .icon-action{font-size:13px}
}
@media(max-width:420px){
  .stand{grid-template-columns:46px 1fr;padding:7px 8px}
  .standno{font-size:15px}
  .stand-actions{gap:2px}
  .icon-toggle,.icon-action{width:29px;height:28px;min-width:29px;font-size:13px}
  .stand .chips .chip{font-size:8.5px;padding:2px 4px}
}

/* v3.0.2 - kompakte mobile Dashboard-Kennzahlen */
.dashboard-kpis .kpi-icon{display:none}.dashboard-kpis .kpi-copy{min-width:0}
@media(max-width:700px){
  .dashboard-kpis.grid-5{display:flex!important;grid-template-columns:none!important;gap:0!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px #24334d0a;padding:0;margin:0;scrollbar-width:thin}
  .dashboard-kpis .kpi{flex:0 0 92px;min-width:92px;display:flex;align-items:center;gap:6px;padding:8px 9px!important;border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;scroll-snap-align:start}
  .dashboard-kpis .kpi:last-child{border-right:0!important}
  .dashboard-kpis .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;min-width:25px;border-radius:7px;background:#f0f4fb;font-size:13px;line-height:1}
  .dashboard-kpis .kpi-copy{display:grid;gap:1px}
  .dashboard-kpis .kpi b{font-size:15px!important;line-height:1.05;white-space:nowrap}
  .dashboard-kpis .kpi span:not(.kpi-icon){font-size:9px!important;line-height:1.1;white-space:nowrap;color:var(--muted)}
}
@media(max-width:380px){.dashboard-kpis .kpi{flex-basis:86px;min-width:86px;padding:7px!important}.dashboard-kpis .kpi-icon{width:22px;height:22px;min-width:22px;font-size:12px}.dashboard-kpis .kpi b{font-size:14px!important}}

/* v4 Helferplanung */
.helper-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.helper-hero h1{margin-bottom:4px}.helper-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin-top:14px}.helper-kpis>div{background:#fff;border:1px solid #dfe5ef;border-radius:16px;padding:14px 16px;box-shadow:0 2px 8px rgba(25,42,75,.04)}.helper-kpis strong{display:block;font-size:1.45rem}.helper-kpis span{display:block;color:#6a778b;font-size:.83rem;margin-top:3px}.helper-shift-head{margin:20px 4px 8px;font-size:1.05rem}.helper-position{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(120px,2fr) auto auto;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px}.helper-meter{height:8px;background:#edf1f7;border-radius:999px;overflow:hidden}.helper-meter span{display:block;height:100%;background:#3c5bb4;border-radius:inherit}.helper-public-slot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0}.helper-signup{margin-top:12px;min-width:min(520px,82vw)}.public-helper{max-width:850px;margin:0 auto;padding-top:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grow{flex:1}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
@media(max-width:900px){.helper-kpis{grid-template-columns:repeat(3,1fr)}.helper-position{grid-template-columns:1fr auto}.helper-position .helper-meter{grid-column:1/-1}.grid2{grid-template-columns:1fr}}
@media(max-width:600px){.helper-kpis{display:flex;overflow-x:auto;gap:6px;margin:10px -6px 0;padding:0 6px 4px}.helper-kpis>div{min-width:112px;padding:9px 10px;border-radius:12px}.helper-kpis strong{font-size:1.05rem}.helper-kpis span{font-size:.72rem}.helper-position{padding:9px 10px;gap:8px}.helper-position .btn{padding:7px 8px;font-size:.78rem}.helper-public-slot{align-items:flex-start}.helper-signup{min-width:0;width:100%}}
.helper-dashboard-summary{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:10px;text-decoration:none;color:inherit;padding:11px 14px}.helper-dashboard-summary span{color:#64748b;font-size:.86rem}@media(max-width:600px){.helper-dashboard-summary{padding:8px 10px;font-size:.88rem}.helper-dashboard-summary span{font-size:.72rem;text-align:right}}

/* v4.1 Helferplanung - aufgeraumte Verwaltung und KPI im KVW Event Manager-Stil */
.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.helper-dashboard-kpis{margin-top:14px}
.helper-dashboard-kpis .kpi{display:flex;align-items:center;gap:10px;min-width:0}
.helper-dashboard-kpis .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:10px;background:#f0f4fb;font-size:18px}
.helper-dashboard-kpis .kpi-copy{min-width:0}.helper-dashboard-kpis .kpi b{font-size:24px;line-height:1.05}.helper-dashboard-kpis .kpi span:not(.kpi-icon){font-size:12px;line-height:1.2}
.helper-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.helper-tabs a{padding:7px 10px;border-radius:9px;background:#eef1f6;text-decoration:none;color:#27354b;font-size:13px;font-weight:650}.helper-tabs a.active{background:var(--b);color:#fff}
.helper-shift-list{display:grid;gap:8px}.helper-shift-edit{display:grid;grid-template-columns:140px 110px 110px 1fr 90px auto auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px}.helper-shift-edit label{display:grid;gap:4px;font-size:12px}.compact-check{display:flex!important;align-items:center;gap:6px;padding-bottom:10px}.club-multiselect{min-height:86px}.club-multiselect option{padding:5px}
@media(max-width:1050px){.grid-6{grid-template-columns:repeat(3,1fr)}.helper-shift-edit{grid-template-columns:1fr 1fr 1fr}.helper-shift-edit .actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:700px){
 .helper-dashboard-kpis.grid-6{display:flex!important;grid-template-columns:none!important;gap:0!important;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px #24334d0a;padding:0;margin-top:10px;scrollbar-width:thin}
 .helper-dashboard-kpis .kpi{flex:0 0 106px;min-width:106px;padding:8px 9px!important;border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;gap:6px}
 .helper-dashboard-kpis .kpi:last-child{border-right:0!important}.helper-dashboard-kpis .kpi-icon{width:24px;height:24px;min-width:24px;border-radius:7px;font-size:13px}.helper-dashboard-kpis .kpi b{font-size:14px!important;white-space:nowrap}.helper-dashboard-kpis .kpi span:not(.kpi-icon){font-size:9px!important;white-space:nowrap}
 .helper-shift-edit{grid-template-columns:1fr 1fr}.helper-shift-edit label:nth-of-type(4){grid-column:1/-1}.helper-tabs{overflow-x:auto;flex-wrap:nowrap}.helper-tabs a{white-space:nowrap}
}

/* v4.1.1 helper grouping / public privacy */
.helper-public-group{margin:12px 0 6px;padding:7px 10px;border-radius:10px;background:#eef3ff;color:#243e83;font-size:1rem}.helper-public-names{margin-top:5px;font-size:.92rem}.helper-area-label{display:inline-block;color:#52627b;font-weight:700}.compact-form{min-width:260px;padding:10px}.cake-extra{padding:10px;border-left:3px solid #e7a21a;background:#fff9ea;border-radius:8px}.helper-cake-only summary{cursor:pointer}
@media(max-width:700px){.helper-public-group{font-size:.92rem;margin-top:9px}.helper-public-names{font-size:.84rem}.compact-form{min-width:220px}.helper-cake-only{padding:10px}}

/* v4.1.2 - Helferplanung: klare Bereichsgruppen und Kuchen-KPI */
.helper-dashboard-kpis-7{grid-template-columns:repeat(7,minmax(0,1fr))}
.kpi-link{text-decoration:none;color:inherit;display:flex}
.helper-public-group{margin:18px 0 8px;padding:10px 12px;border-radius:12px;background:#eaf0ff;border-left:5px solid #36519e;font-size:1.05rem;letter-spacing:.01em}
.helper-public-slot.grouped{margin-left:18px;border-left:3px solid #c9d6f7}
.helper-public-slot.standalone{border-left:3px solid transparent}
.helper-area-label{display:inline-block;padding:2px 7px;border-radius:999px;background:#eaf0ff;color:#274486;font-weight:700}
@media(max-width:900px){.helper-dashboard-kpis-7{display:flex;overflow-x:auto;gap:8px;padding-bottom:3px}.helper-dashboard-kpis-7 .kpi{min-width:128px;padding:9px 10px}.helper-public-slot.grouped{margin-left:8px}.helper-public-group{margin-top:14px}}


/* v4.1.3 - Helferplan: Tag > Stand/Bereich > Schicht > Position */
.helper-day-head,.helper-public-day{margin:24px 0 10px;padding:10px 13px;border-radius:12px;background:#dfe8fb;color:#20396f;font-size:1.12rem}
.helper-area-block,.helper-public-area{margin:12px 0 20px;border:1px solid #ccd7eb;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 2px 8px #24334d0a}
.helper-area-block.helper-area-composite,.helper-public-area.composite{border-left:6px solid #36519e}
.helper-area-block.helper-area-standalone,.helper-public-area.standalone{border-left:6px solid #7b8798}
.helper-area-head,.helper-public-area-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#eef3fd;border-bottom:1px solid #d7e0f0}
.helper-area-head h3,.helper-public-area-head h3{margin:1px 0 0;font-size:1.16rem;color:#1f376d}.helper-area-kicker{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800;color:#71809a}
.helper-area-body,.helper-public-area-body{padding:7px 10px 10px}.helper-area-shift-head,.helper-public-shift{margin:7px 2px 5px;padding:7px 9px;background:#f7f9fd;border-radius:9px;color:#3a4659;font-size:.88rem}.helper-area-shift-head span{margin-left:8px;color:var(--muted);font-weight:400}
.helper-position-in-area{margin:5px 0;border-radius:11px;box-shadow:none}.helper-public-area .helper-public-slot{margin:5px 0 7px}.helper-public-area .helper-public-slot.grouped{margin-left:10px;border-left:3px solid #c9d6f7}.helper-public-area .helper-public-slot.standalone{border-left:3px solid #d6dce6}
@media(max-width:700px){.helper-day-head,.helper-public-day{margin-top:16px;padding:8px 10px;font-size:1rem}.helper-area-block,.helper-public-area{margin:8px 0 14px;border-radius:12px}.helper-area-head,.helper-public-area-head{padding:9px 10px}.helper-area-head h3,.helper-public-area-head h3{font-size:1rem}.helper-area-body,.helper-public-area-body{padding:5px 6px 7px}.helper-area-shift-head,.helper-public-shift{padding:6px 7px;font-size:.8rem}.helper-position-in-area{padding:8px}.helper-public-area .helper-public-slot.grouped{margin-left:4px}}

/* v4.1.4: öffentliche Vereinsauswahl als touchfreundliche Checkbox-Karten */
.club-card-fieldset{border:0;padding:0;margin:10px 0}.club-card-fieldset legend{font-weight:700;margin-bottom:7px}.club-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.club-choice-card{display:flex!important;align-items:center;gap:9px;padding:10px 11px;border:1px solid #cfd8e8;border-radius:11px;background:#fff;cursor:pointer;min-height:44px}.club-choice-card:has(input:checked){border-color:#36519e;background:#eef3ff;box-shadow:0 0 0 1px #36519e inset}.club-choice-card input{width:18px;height:18px;flex:0 0 auto;margin:0}.club-choice-card span{font-weight:600;line-height:1.2}.club-card-grid-single .club-choice-card{min-height:42px}
@media(max-width:600px){.club-card-grid{grid-template-columns:1fr}.club-choice-card{padding:9px 10px;min-height:42px}}

/* v4.2 Benutzer-/Rollenverwaltung */
.password-wrap{display:flex;align-items:center;gap:6px;width:100%}.password-wrap input{flex:1;min-width:0}.password-reveal{flex:0 0 auto;padding:.48rem .62rem;background:#eef2fb;color:#263b72;border:1px solid #cbd6ef;border-radius:9px;cursor:pointer}.password-reveal:hover{background:#e2e9f8}
.roles-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,2.2fr);align-items:start}.role-list{display:flex;flex-direction:column;gap:7px}.role-list-item{display:flex;flex-direction:column;padding:10px 12px;border:1px solid #dbe2ef;border-radius:10px;text-decoration:none;color:inherit}.role-list-item.active{background:#eef3ff;border-color:#8da7e5}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-item{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;background:#f7f9fc;border-radius:9px}.user-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.muted-row{opacity:.58}.user-filters>*{min-width:150px}
@media(max-width:760px){.roles-grid,.user-edit-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}.password-reveal{padding:.42rem .55rem}.user-filters{display:grid;grid-template-columns:1fr 1fr}.user-filters input{grid-column:1/-1}}
/* v4.2.1: Login, Rollen/Rechte und Problemverlauf */
.login-shell{max-width:940px;margin:36px auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.login-shell>.login{margin:0;max-width:none}.public-problem-box{border-color:#efc3c3}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.role-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;text-decoration:none;color:inherit;transition:.15s}.role-card:hover{border-color:#9eb0dc;box-shadow:0 3px 14px #23386312}.role-card.active{border:2px solid var(--b);background:#f1f5ff}.role-card-top,.role-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.role-card-meta{margin-top:10px;font-size:12px;color:var(--muted)}.role-editor{padding:18px}.permission-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.permission-sections{display:grid;gap:10px;margin:12px 0}.permission-section{border:1px solid var(--line);border-radius:12px;background:#fbfcfe;overflow:hidden}.permission-section>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f1f4f9}.permission-section .permission-grid{padding:10px}.permission-item.critical{border:1px solid #edc47a;background:#fff8e9}.permission-item.locked{opacity:.62;background:#f4f4f5}.perm-badge{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#fff0cd;color:#855000;font-size:10px}.perm-badge.lock{background:#eceff4;color:#5e6876}.switchline{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}
.problem-thread{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:8px}.problem-comment{background:#f7f9fc;border-radius:10px;padding:9px 11px}.problem-comment>.small{margin-left:6px}.problem-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.problem-comment-form{display:flex;gap:8px;flex:1;min-width:300px}.problem-comment-form input{flex:1;min-width:180px}.problem-done{opacity:.78;border-left-color:#55a77a}.public-problem-box textarea{resize:vertical}
@media(max-width:860px){.login-shell{grid-template-columns:1fr;max-width:520px;margin:22px auto}.role-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.role-card-grid{grid-template-columns:1fr}.problem-comment-form{min-width:100%;display:grid;grid-template-columns:1fr}.public-problem-box .row{grid-template-columns:1fr}}


/* v4.2.2 - modulare Administration + öffentliche Problem-Landingpage */
.admin-home-head{display:flex;justify-content:space-between;align-items:center}.admin-module-section{margin:20px 0}.admin-module-section>h2{margin:0 0 10px}.admin-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-module-card{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 2px 8px #24334d0a;transition:.15s}.admin-module-card:hover{border-color:#9eb0dc;box-shadow:0 5px 16px #23386314;transform:translateY(-1px)}.admin-module-card.attention{border-color:#e0a15d;background:#fff9ef}.admin-module-card .module-icon{grid-row:1/3;font-size:26px;line-height:1.2}.admin-module-card strong{font-size:1rem}.admin-module-card small{color:var(--muted);line-height:1.35}.public-shortlink-card{display:grid;gap:9px}.shortlink-row{display:flex;gap:8px;align-items:center}.shortlink-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.public-landing-shell{max-width:720px;margin:34px auto}.public-problem-landing{padding:24px}.public-problem-brand{display:flex;align-items:center;gap:14px;margin-bottom:10px}.public-problem-brand img{width:64px;height:64px;object-fit:contain}.public-problem-brand h1{margin:0}
@media(max-width:900px){.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.admin-module-grid{grid-template-columns:1fr}.admin-module-card{padding:12px}.shortlink-row{display:grid;grid-template-columns:1fr auto}.shortlink-row .btn{grid-column:1/-1}.public-landing-shell{margin:16px auto}.public-problem-landing{padding:16px}.public-problem-brand img{width:52px;height:52px}}

/* v4.2.3 - Administration als klare Button-Oberfläche + globale Zuruecknavigation */
.app-backbar{display:flex;justify-content:flex-start;margin:0 0 10px}.app-back-button{min-width:96px}.admin-dashboard-head{padding:18px 20px;margin-bottom:16px}.admin-dashboard-head h1{margin:0 0 4px}.admin-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-action-panel{padding:16px;margin:0}.admin-panel-title{display:flex;align-items:center;gap:10px;margin-bottom:13px}.admin-panel-title>span:first-child{font-size:25px}.admin-panel-title h2{margin:0;font-size:1.22rem}.admin-panel-title p{margin:2px 0 0}.admin-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-action-btn{display:grid!important;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left!important;gap:0 8px;padding:11px 12px!important;min-height:68px;background:#36519e!important;color:#fff!important;border:1px solid #36519e!important;border-radius:11px!important;text-decoration:none!important;box-shadow:none!important}.admin-action-btn:hover{background:#2f478c!important;border-color:#2f478c!important;transform:translateY(-1px)}.admin-action-btn>span{grid-row:1/3;font-size:21px}.admin-action-btn>b{font-size:.96rem;line-height:1.2}.admin-action-btn>small{font-size:.73rem;line-height:1.25;color:#e6ecff!important;font-weight:400}.admin-action-btn.admin-attention{background:#a85b13!important;border-color:#a85b13!important}.admin-shortlink-panel{margin-top:14px;padding:16px}.admin-shortlink-panel .admin-panel-title{margin-bottom:10px}.admin-shortlink-panel .admin-panel-title .chip{margin-left:auto}.shortlink-row .btn{white-space:nowrap}
@media(max-width:850px){.admin-section-grid{grid-template-columns:1fr}}
@media(max-width:560px){.admin-dashboard-head{padding:14px}.admin-action-panel{padding:12px}.admin-button-grid{grid-template-columns:1fr 1fr;gap:7px}.admin-action-btn{padding:9px 10px!important;min-height:60px}.admin-action-btn>b{font-size:.88rem}.admin-action-btn>small{font-size:.68rem}.admin-action-btn>span{font-size:18px}.app-backbar{margin-bottom:7px}}
@media(max-width:390px){.admin-button-grid{grid-template-columns:1fr}}

.helper-context{border-color:#b9d9c7;background:#eef9f2}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.check-card{display:flex!important;gap:8px;align-items:center;padding:10px 12px;border:1px solid #d6deea;border-radius:10px;background:#fff}.check-card .small{margin-left:auto}

/* v4.3.2 Benutzer-Massenzuweisung */
.bulk-user-actions .row{align-items:end}.bulk-user-actions .inset{margin:10px 0;background:#f8faff;border:1px solid #dbe4f4}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:10px 0}.check-card{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d7e0ef;border-radius:10px;background:#fff;cursor:pointer}.check-card input{width:18px;height:18px;flex:0 0 auto}.check-card span{display:flex;flex-direction:column;gap:2px}.check-card small{color:#6b788d}.bulk-user-check,#bulk-check-all{width:18px;height:18px}@media(max-width:760px){.bulk-user-actions .row{display:block}.bulk-user-actions label{display:block;margin-bottom:10px}.check-grid{grid-template-columns:1fr}.bulk-user-actions .toolbar{width:100%}.bulk-user-actions .toolbar .btn{flex:1}}

/* v5.0.0 - Interaktiver Lageplan */
.map-page-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 12px}.map-page-head h1{margin:0}.map-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px}.map-kpis>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 11px;display:flex;gap:7px;align-items:baseline}.map-kpis b{font-size:1.25rem}.map-kpis span{font-size:.78rem;color:var(--muted)}.map-toolbar-card{padding:10px;margin-bottom:10px}.map-filter-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.map-filter-row input{flex:1;min-width:240px}.map-filter-row select{width:auto;min-width:150px}.map-filter{cursor:pointer;border:1px solid #cad4e7;background:#f7f9fd}.map-filter.active{background:#36519e;color:#fff;border-color:#36519e}.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;align-items:start}.map-canvas-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;overflow:auto;position:relative;-webkit-overflow-scrolling:touch}.map-stage{position:relative;width:100%;min-width:0;line-height:0;user-select:none;touch-action:pan-x pan-y}.map-stage>img{display:block;width:100%;height:auto;border-radius:8px}.map-marker{position:absolute;z-index:4;min-width:28px;min-height:28px;border-radius:999px;border:2px solid #fff;box-shadow:0 2px 7px #17233a45;font-weight:800;font-size:12px;line-height:1;color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.map-marker.status-expected{background:#818a98}.map-marker.status-arrived{background:#2f9e57}.map-marker.status-power{background:#e39a18}.map-marker.status-problem{background:#d94343}.map-marker.selected{outline:3px solid #36519e;outline-offset:2px;z-index:7}.map-marker.draggable{cursor:grab}.map-marker.draggable:active{cursor:grabbing;z-index:9}.map-marker[hidden]{display:none!important}.map-zone{position:absolute;z-index:2;border:2px dashed color-mix(in srgb,var(--zone-color) 75%,#0000);background:color-mix(in srgb,var(--zone-color) 15%,transparent);pointer-events:none;line-height:1.2}.map-zone span{position:absolute;left:3px;top:3px;background:#ffffffe6;border-radius:5px;padding:2px 5px;font-size:10px;color:#273348}.map-zone-draft{--zone-color:#36519e;z-index:8}.map-side-panel{position:sticky;top:10px;margin:0;min-height:240px}.map-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.map-detail-head h2{margin:0 0 3px}.map-detail-list{display:grid;grid-template-columns:90px 1fr;gap:5px 8px;margin:12px 0}.map-detail-list dt{color:var(--muted);font-size:.82rem}.map-detail-list dd{margin:0}.map-inline-edit{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.map-inline-edit summary{cursor:pointer;font-weight:700}.map-edit-tools{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.map-edit-mode .map-canvas-wrap{box-shadow:0 0 0 3px #36519e22 inset}.map-admin-preview{display:block;max-height:520px;max-width:100%;margin:10px auto;border:1px solid var(--line);border-radius:9px}.map-source-note{background:#fff8dd;border:1px solid #e9d38a;border-radius:10px;padding:10px}.map-mobile-help{display:none}
@media(max-width:980px){.map-workspace{grid-template-columns:1fr}.map-side-panel{position:static}.map-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.map-stage{min-width:620px}.map-canvas-wrap{overflow:auto}}
@media(max-width:640px){.map-page-head{display:block}.map-page-head .toolbar{margin-top:8px}.map-kpis{display:flex;overflow-x:auto;gap:6px;padding-bottom:2px}.map-kpis>div{min-width:116px;padding:7px 9px}.map-kpis b{font-size:1.05rem}.map-toolbar-card{padding:8px}.map-filter-row{flex-wrap:nowrap;overflow-x:auto}.map-filter-row input{min-width:190px}.map-filter-row .chip{white-space:nowrap}.map-stage{min-width:560px}.map-marker{min-width:25px;min-height:25px;font-size:10px}.map-mobile-help{display:block}}
/* v5.0.1 Lageplan Schnellplatzierung */
.map-auto-next{display:flex!important;align-items:center;gap:.55rem;margin:.65rem 0;font-size:.9rem}.map-auto-next input{width:auto!important;margin:0}.map-focus-pulse{z-index:30!important;animation:mapFocusPulse .65s ease-in-out 4;box-shadow:0 0 0 .35rem rgba(38,93,214,.22)!important}@keyframes mapFocusPulse{50%{transform:translate(-50%,-50%) scale(1.45) rotate(var(--marker-rotation,0deg));filter:brightness(1.2)}}

/* v5.1.0 Lageplan categories, free labels and public map */
.map-marker{background:var(--category-color,#36519e)!important;border-color:#fff!important}
.map-marker.status-expected{box-shadow:0 0 0 3px #818a98,0 2px 7px #17233a45}
.map-marker.status-arrived{box-shadow:0 0 0 3px #2f9e57,0 2px 7px #17233a45}
.map-marker.status-power{box-shadow:0 0 0 3px #e39a18,0 2px 7px #17233a45}
.map-marker.status-problem{box-shadow:0 0 0 3px #d94343,0 2px 7px #17233a45}
.map-text-label{position:absolute;z-index:5;border:0;background:transparent;padding:3px 6px;line-height:1.05;font-weight:800;white-space:nowrap;border-radius:5px;cursor:default;transform-origin:center;box-shadow:none}
.map-edit-mode .map-text-label{cursor:move;outline:1px dashed #36519e66}
.category-swatch{display:inline-block;width:18px;height:18px;border-radius:5px;background:var(--swatch);vertical-align:middle;margin-right:7px;border:1px solid #0002}
.public-link-box{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.public-link-box input{min-width:min(100%,520px);flex:1}
.public-map-page{max-width:1500px;margin:auto}.public-map-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.public-map-legend .legend-item{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 10px}.public-map-legend i{width:14px;height:14px;border-radius:4px;background:var(--legend-color);display:inline-block}.public-map-detail{margin-top:10px}.public-map-detail dl{display:grid;grid-template-columns:110px 1fr;gap:5px 9px}.public-map-detail dt{color:var(--muted)}.public-map-detail dd{margin:0}.public-map-marker{position:absolute;z-index:4;min-width:26px;min-height:26px;border-radius:999px;border:2px solid #fff;background:var(--category-color,#36519e);box-shadow:0 2px 7px #17233a45;color:#fff;font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.public-map-marker.selected{outline:3px solid #17233a;outline-offset:2px;z-index:7}.public-map-marker[hidden]{display:none!important}
.map-reset-note{background:#fff4e4;border:1px solid #e8c690;border-radius:10px;padding:10px}
.category-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.category-inline-form input[name=category_name]{min-width:180px;flex:1}.category-inline-form input[type=number]{width:90px}.inline-delete{display:inline-block;margin-top:6px}

.map-zoom-controls{position:sticky;left:8px;top:8px;z-index:50;display:flex;width:max-content;align-items:center;gap:5px;background:#fffffff0;border:1px solid var(--line);border-radius:10px;padding:5px;margin-bottom:6px;box-shadow:0 2px 8px #17233a20}.map-zoom-controls .btn{padding:5px 9px;min-width:36px}.map-zoom-controls span{font-size:.82rem;min-width:45px;text-align:center;font-weight:700}.map-edit-mode .map-marker{touch-action:none}.map-edit-mode .map-text-label{touch-action:none}
@media(max-width:640px){.map-zoom-controls{position:sticky;top:2px}.map-zoom-controls .btn{padding:6px 8px}.map-stage{min-width:100%!important}.map-side-panel{border-radius:12px}.map-edit-tools .btn{width:100%;margin-top:5px}}

/* v5.1.1 - Standkategorien systemweit */
.category-chip{--category-color:#64748b;border-color:color-mix(in srgb,var(--category-color) 55%,#dbe3ef);background:color-mix(in srgb,var(--category-color) 13%,white);color:#172033}
.category-dot{display:inline-block;width:.72em;height:.72em;border-radius:999px;background:var(--category-color);margin-right:.38em;vertical-align:-.02em;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.stand[style*="--stand-category-color"]{border-left:5px solid var(--stand-category-color)}
@media(max-width:700px){.stand[style*="--stand-category-color"]{border-left-width:4px}.category-chip{font-size:.78rem;padding:.2rem .42rem}}

/* v5.1.2 category color reliability + editor */
.category-chip{border:1px solid var(--category-color,#64748b)!important;background:#fff!important;color:var(--text)!important;box-shadow:inset 4px 0 0 var(--category-color,#64748b)}
.category-dot{background:var(--category-color,#64748b)!important}
.category-color-control{display:flex;align-items:center;gap:8px;min-height:44px}.category-color-control input[type=color]{width:54px;height:42px;padding:3px;min-width:54px;cursor:pointer}.category-color-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;min-width:68px}.category-color-preview{width:26px;height:26px;border-radius:7px;border:1px solid #bfc8d6;display:inline-block}


/* v5.1.3: interner Lageplan - Betriebsstatus und Probleme getrennt sichtbar */
.map-marker.status-expected{box-shadow:0 0 0 3px #818a98,0 2px 7px #17233a45}
.map-marker.status-power{box-shadow:0 0 0 3px #e39a18,0 2px 7px #17233a45}
.map-marker.status-setup{box-shadow:0 0 0 3px #5576c8,0 2px 7px #17233a45}
.map-marker.status-ready{box-shadow:0 0 0 3px #2f9e57,0 2px 7px #17233a45}
.map-marker.status-cancelled{box-shadow:0 0 0 3px #9b5360,0 2px 7px #17233a45;opacity:.72}
.map-marker-no{pointer-events:none}
.map-problem-badge{position:absolute;right:-7px;top:-8px;z-index:5;width:17px;height:17px;border-radius:999px;background:#d94343;color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;line-height:1;box-shadow:0 1px 4px #17233a55;transform:rotate(calc(-1 * var(--marker-rotation,0deg)))}
.map-marker.has-urgent-problem .map-problem-badge{width:19px;height:19px;font-size:12px;box-shadow:0 0 0 2px #ffb3b3,0 2px 6px #17233a55}
.map-status-legend{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:9px;padding-top:8px;font-size:.78rem;color:var(--muted)}
.map-status-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.status-dot,.problem-dot{width:13px;height:13px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.status-dot.status-expected{background:#818a98}.status-dot.status-power{background:#e39a18}.status-dot.status-setup{background:#5576c8}.status-dot.status-ready{background:#2f9e57}.status-dot.status-cancelled{background:#9b5360}.problem-dot{background:#d94343;color:#fff;font-size:9px;font-style:normal;font-weight:900}
.map-status-chip{border:2px solid transparent}.map-status-chip.status-expected{border-color:#818a98}.map-status-chip.status-power{border-color:#e39a18}.map-status-chip.status-setup{border-color:#5576c8}.map-status-chip.status-ready{border-color:#2f9e57}.map-status-chip.status-cancelled{border-color:#9b5360}
.map-problem-alert{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;padding:9px 10px;border:1px solid #efb2b2;background:#fff1f1;border-radius:10px;color:#8f2020}.map-problem-alert>div{display:grid;gap:2px}.map-problem-alert span{font-size:.78rem}.map-problem-alert.urgent{border-width:2px;background:#ffe8e8}.map-problem-alert .btn{padding:6px 9px;white-space:nowrap}
@media(max-width:640px){.map-status-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.map-problem-alert{align-items:flex-start;flex-direction:column}.map-problem-alert .btn{width:100%;text-align:center}}


/* v5.1.4: Standkategorien als Massenaktion */
.stand-bulk-toolbar{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(170px,1fr) minmax(150px,.8fr) auto auto auto;gap:8px;align-items:end;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafe}.stand-bulk-toolbar label,.stand-bulk-action label{display:grid;gap:4px;font-size:.82rem;color:var(--muted)}.stand-bulk-toolbar input,.stand-bulk-toolbar select,.stand-bulk-action select{min-height:40px}.stand-bulk-action{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:10px 0 12px;padding:10px 12px;border-radius:11px;background:#eef3ff;border:1px solid #cdd9f6}.stand-bulk-action label{min-width:250px;flex:1}.stand-select-col{width:36px;text-align:center!important}.stand-select-col input{width:18px;height:18px;margin:0}.stand-bulk-row[hidden]{display:none!important}
@media(max-width:1050px){.stand-bulk-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.stand-bulk-toolbar .btn{width:100%}}
@media(max-width:700px){.stand-bulk-toolbar{grid-template-columns:1fr 1fr}.stand-bulk-toolbar label:first-child{grid-column:1/-1}.stand-bulk-action{display:grid;grid-template-columns:1fr}.stand-bulk-action label{min-width:0}.stand-bulk-action button{width:100%}}


/* v5.1.5: deutliche Status-Badges im internen Lageplan + freie Standplaetze */
.map-marker .map-status-badge{position:absolute;left:50%;bottom:-18px;z-index:4;min-width:max-content;padding:3px 6px;border-radius:999px;color:#fff;border:1.5px solid #fff;font-size:7.5px;font-weight:900;line-height:1;letter-spacing:.035em;white-space:nowrap;box-shadow:0 2px 6px #17233a55;transform:translateX(-50%) rotate(calc(-1 * var(--marker-rotation,0deg)));pointer-events:none}
.map-status-badge.status-expected{background:#667085}.map-status-badge.status-power{background:#d88900}.map-status-badge.status-setup{background:#4267bd}.map-status-badge.status-ready{background:#23884a}
.map-marker-open-place{background:rgba(255,255,255,.30)!important;border:2px dashed rgba(71,85,105,.62)!important;color:rgba(51,65,85,.76)!important;box-shadow:none!important;filter:saturate(.25);backdrop-filter:blur(.2px)}
.map-marker-open-place:hover,.map-marker-open-place.selected{background:rgba(255,255,255,.44)!important;border-color:rgba(71,85,105,.85)!important;box-shadow:0 0 0 2px rgba(148,163,184,.22)!important}
.map-marker-open-place .map-marker-no{opacity:.72}.map-open-place-label{position:absolute;left:50%;bottom:-17px;min-width:max-content;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.76);border:1px dashed rgba(71,85,105,.65);color:#526071;font-size:7.5px;font-weight:900;line-height:1;letter-spacing:.05em;transform:translateX(-50%) rotate(calc(-1 * var(--marker-rotation,0deg)));pointer-events:none;box-shadow:0 1px 4px rgba(15,23,42,.12)}
.open-place-dot{width:14px;height:10px;border:2px dashed #7b8797;border-radius:3px;background:rgba(255,255,255,.4);display:inline-block;flex:0 0 auto}.map-free-chip{border:1px dashed #7b8797;background:#f8fafc;color:#526071}.map-free-place-note{margin:10px 0;padding:10px 12px;border-radius:10px;border:1px dashed #c7d0dc;background:#f8fafc;color:#526071;font-size:.84rem;line-height:1.45}
.map-marker.status-cancelled{box-shadow:none!important;opacity:1!important}
.map-status-legend .status-cancelled{display:none!important}
@media(max-width:640px){.map-marker .map-status-badge,.map-open-place-label{font-size:7px;padding:3px 5px;bottom:-17px}}


/* v5.1.6: kompakte Symbol-Badges + Spendenstatus */
.map-marker.status-donation{box-shadow:0 0 0 3px #8b5bb7,0 2px 7px #17233a45}
.status-dot.status-donation{background:#8b5bb7}
.map-status-chip.status-donation{border-color:#8b5bb7}
.map-status-badge.status-donation{background:#7b4ea3}
.map-marker .map-status-badge{width:21px;height:21px;min-width:21px;max-width:21px;padding:0;border-radius:999px;display:flex;align-items:center;justify-content:center;bottom:-15px;font-size:11px;line-height:1;letter-spacing:0;font-family:system-ui,"Segoe UI Symbol","DejaVu Sans",sans-serif}
@media(max-width:640px){.map-marker .map-status-badge{width:19px;height:19px;min-width:19px;max-width:19px;padding:0;bottom:-14px;font-size:10px}}

/* v5.1.7: iOS-Push-Assistent, Hilfesuche, öffentliche Standübersicht, QA */
.push-device-status{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.ios-push-guide{border-color:#bdd0ff;background:linear-gradient(135deg,#fff,#f1f5ff)}.setup-steps{display:grid;gap:8px;padding-left:24px}.push-ios-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#eef3ff;border:1px solid #d2dcf4}.help-search-box{margin:16px 0 12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8faff}.help-search-input-row{display:flex;gap:8px;margin-top:7px}.help-search-input-row input{flex:1;min-width:0}.help-search-results{display:grid;gap:7px;margin-top:10px;max-height:390px;overflow:auto}.help-search-hit{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-decoration:none}.help-search-hit:hover{border-color:#9eb4ef;background:#f7f9ff}.help-search-hit span,.help-search-hit small{color:var(--muted)}.help-search-empty{padding:12px;color:var(--muted)}.public-map-overview-row{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:12px;margin:12px 0}.public-map-legend-card h2,.public-map-standlist-card h2{margin-top:0}.public-map-standlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:240px;overflow:auto}.public-map-standlist.collapsed{display:none}.public-map-list-item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;text-align:left;padding:8px;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:10px;font-weight:400}.public-map-list-item:hover,.public-map-list-item.selected{border-color:#6d8de0;background:#eef3ff}.public-map-list-no{display:inline-flex;align-items:center;justify-content:center;min-width:45px;border-left:5px solid var(--category-color);font-weight:800}.public-map-list-item span:last-child{display:grid;min-width:0}.public-map-list-item strong,.public-map-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-map-list-item small{color:var(--muted)}.qa-result-grid{display:grid;gap:7px}.qa-result{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:10px}.qa-result.ok{background:#f0fbf5}.qa-result.warn{background:#fff8e9}.qa-result.fail{background:#fff0f0}.qa-browser-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;padding:8px;border-bottom:1px solid var(--line)}@media(max-width:800px){.public-map-overview-row{grid-template-columns:1fr}.public-map-standlist{grid-template-columns:1fr}.help-search-input-row{flex-direction:column}}

/* v5.1.8: editierbare Helferimport-Vorschau und freie Schichtbearbeitung */

/* v5.2.0: Preislisten-Modul */
.price-admin-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:14px;align-items:start}.price-list-sidebar{position:sticky;top:10px}.price-list-choice{display:grid;gap:3px;padding:11px 12px;margin:6px 0;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--text);background:#fff}.price-list-choice span{font-size:.78rem;color:var(--muted)}.price-list-choice.active{border-color:#6e8ee0;background:#eef3ff}.price-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.price-link-grid label{display:grid;gap:4px;font-size:.78rem;color:var(--muted)}.price-link-grid input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem}.price-category-settings{display:grid;grid-template-columns:minmax(140px,1fr) minmax(170px,1.2fr) 90px auto auto auto;gap:7px;align-items:center;margin:8px 0 12px}.price-admin-items{display:grid;gap:6px}.price-admin-item{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.6fr) minmax(140px,1.2fr) 86px 85px 70px 66px 42px 42px;gap:6px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fbfcff}.price-admin-item input,.price-admin-item select{min-width:0}.price-admin-item.readonly{grid-template-columns:1fr 90px 100px}.price-new-item{margin-top:8px}.price-new-item>summary{display:inline-flex}.price-public-body{margin:0;background:#f4f6fb;color:#172033}.price-public{max-width:820px;margin:auto;padding:16px 14px 60px}.price-public-hero{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;padding:18px;background:linear-gradient(135deg,#17254c,#36519e);color:#fff;border-radius:20px;box-shadow:0 12px 35px #14213d2b}.price-public-hero img{max-width:84px;max-height:70px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}.price-public-hero h1{margin:2px 0 4px;font-size:clamp(1.8rem,6vw,3rem)}.price-public-hero p{margin:0;opacity:.88}.price-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;opacity:.78}.price-public-search{position:sticky;top:0;z-index:5;padding:10px 0;background:linear-gradient(#f4f6fb 80%,transparent)}.price-public-search input{width:100%;font-size:1rem;padding:13px 15px;border-radius:14px}.price-public-tabs{display:flex;gap:7px;overflow:auto;padding:4px 0 10px}.price-public-tabs a{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#e8edfa;color:#294381;text-decoration:none;font-weight:700;font-size:.82rem}.price-public-category{margin:12px 0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid #dfe5f0}.price-category-head{padding:14px 16px;background:#eef3ff;border-bottom:1px solid #d9e2f4}.price-category-head h2{margin:0;font-size:1.35rem}.price-category-head p{margin:4px 0 0;color:#68758b}.price-public-items{display:grid}.price-public-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px 16px;border-bottom:1px solid #edf0f5}.price-public-item:last-child{border-bottom:0}.price-public-item>div{display:grid;gap:2px}.price-public-item small{color:#778197}.price-public-item>span{color:#667085;font-size:.9rem}.price-public-item>b{font-size:1.06rem;white-space:nowrap}.price-public-footer{margin-top:14px;padding:14px 16px;text-align:center;font-weight:700;color:#38445c}.price-sign-body{margin:0;background:#f3f5fa;color:#101729;overflow:auto}.price-sign{min-height:100vh;padding:2.2vmin 2.5vmin;box-sizing:border-box;display:flex;flex-direction:column}.price-sign>header{display:grid;grid-template-columns:auto 1fr;gap:1.5vmin;align-items:center;padding-bottom:1.5vmin;border-bottom:.18vmin solid #17254c}.price-sign>header img{height:7vmin;max-width:13vmin;object-fit:contain}.price-sign>header span{font-size:1.5vmin;text-transform:uppercase;letter-spacing:.08em;color:#49619b}.price-sign>header h1{font-size:4.2vmin;line-height:1;margin:0}.price-sign>header p{font-size:1.7vmin;margin:.5vmin 0 0;color:#68758b}.price-sign-grid{display:grid;gap:1.5vmin;flex:1;align-content:start;margin-top:1.6vmin}.orientation-landscape .price-sign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orientation-portrait .price-sign-grid{grid-template-columns:1fr}.price-sign-category{background:#fff;border-radius:1.2vmin;border:.12vmin solid #dce2ee;overflow:hidden}.price-sign-category h2{margin:0;padding:1.2vmin 1.4vmin;background:#eaf0ff;font-size:2.6vmin}.price-sign-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.2vmin;align-items:center;padding:.85vmin 1.4vmin;border-bottom:.1vmin solid #eef1f6}.price-sign-item:last-child{border-bottom:0}.price-sign-item strong{font-size:2.0vmin}.price-sign-item small{display:block;color:#727d91;font-size:1.25vmin}.price-sign-item>span{font-size:1.55vmin;color:#667085}.price-sign-item>b{font-size:2.15vmin;white-space:nowrap}.orientation-portrait .price-sign-item strong{font-size:2.6vmin}.orientation-portrait .price-sign-item>b{font-size:2.8vmin}.orientation-portrait .price-sign-category h2{font-size:3.2vmin}.price-sign>footer{padding-top:1.4vmin;text-align:center;font-size:1.5vmin;font-weight:700}.helper-not-open{max-width:720px;margin:8vh auto;padding:16px}.helper-not-open .countdown{font-size:clamp(1.6rem,6vw,3.2rem);font-weight:900;color:#36519e;margin:14px 0}.helper-not-open-time{font-size:1.1rem;font-weight:800}.helper-not-open-logo{max-width:130px}.helper-not-open .card{text-align:center;padding:clamp(22px,5vw,50px)}
@media(max-width:1050px){.price-admin-layout{grid-template-columns:1fr}.price-list-sidebar{position:static}.price-category-settings{grid-template-columns:1fr 1fr 90px auto}.price-admin-item{grid-template-columns:1fr 1fr 1fr 80px 80px 70px}.price-admin-item select{grid-column:1/2}.price-admin-item button{width:100%}}
@media(max-width:700px){.price-link-grid{grid-template-columns:1fr}.price-category-settings,.price-admin-item{grid-template-columns:1fr 1fr}.price-category-settings input:nth-of-type(2),.price-admin-item input[name=description],.price-admin-item select{grid-column:1/-1}.price-public-hero{grid-template-columns:64px 1fr}.price-public-hero>a{grid-column:1/-1}.price-public-hero img{max-width:62px}.price-public-item{grid-template-columns:minmax(0,1fr) auto}.price-public-item>span{grid-column:1/2}.price-public-item>b{grid-column:2/3;grid-row:1/3}.orientation-landscape .price-sign-grid{grid-template-columns:1fr 1fr}}

/* v5.2.1: freie Drag-&-Drop-Sortierung der Preispositionen */
.price-admin-item.sortable{grid-template-columns:30px minmax(120px,.8fr) minmax(180px,1.6fr) minmax(140px,1.2fr) 86px 85px 70px 66px 42px 42px;transition:opacity .12s,transform .12s,box-shadow .12s,border-color .12s}
.price-drag-handle{display:flex;align-items:center;justify-content:center;width:28px;height:34px;border-radius:8px;border:1px solid #d6ddeb;background:#fff;color:#52627c;font-weight:900;font-size:1rem;cursor:grab;user-select:none;touch-action:none}
.price-drag-handle:active{cursor:grabbing}.price-admin-item.dragging{opacity:.38;transform:scale(.995);box-shadow:none}.price-admin-items{min-height:22px;padding:2px;border-radius:10px;transition:background .12s,outline-color .12s}.price-admin-items.drag-over{background:#eef3ff;outline:2px dashed #6e8ee0;outline-offset:2px}.price-sort-save{position:sticky;bottom:8px;z-index:7;box-shadow:0 10px 28px #17233a24}.price-sort-save button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:1050px){.price-admin-item.sortable{grid-template-columns:30px 1fr 1fr 1fr 80px 80px 70px}.price-admin-item.sortable select{grid-column:2/3}}
@media(max-width:700px){.price-admin-item.sortable{grid-template-columns:30px 1fr 1fr}.price-admin-item.sortable select,.price-admin-item.sortable input[name=description]{grid-column:2/-1}.price-drag-handle{grid-row:1/3;height:100%;min-height:54px}}

/* v5.2.1: QM-Center */
.qm-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.qm-flow>div{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8faff}.qm-flow b{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#36519e;color:#fff;flex:0 0 auto}.qm-flow span{display:grid}.qm-flow small{color:var(--muted)}.qm-gate{border-width:2px}.qm-gate.passed{border-color:#5cb985;background:#f5fcf8}.qm-gate.failed{border-color:#df7777;background:#fff7f7}.qm-gate.running{border-color:#e5b74e;background:#fffaf0}
@media(max-width:850px){.qm-flow{grid-template-columns:1fr 1fr}}@media(max-width:520px){.qm-flow{grid-template-columns:1fr}}
/* v5.3.1: modulübergreifendes QM-Center */
.qm-module{border:1px solid #d8e0ee;border-radius:12px;margin:10px 0;background:#fbfcff;overflow:hidden}.qm-module>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f3f6fb}.qm-module[open]>summary{border-bottom:1px solid #d8e0ee}.qm-module .qa-result-grid{padding:10px}.qm-flow{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}

/* KVW Event Manager v1.2.0 - event- und kartenorientiertes KVW-Design */
body{background:linear-gradient(180deg,#eef2f8 0,#f8f9fc 360px,#f4f6fa 100%)}
.app-header{background:#fff;border-bottom:4px solid var(--red);box-shadow:0 5px 22px #101d3d12;min-height:84px}
.app-header .brand img{width:74px;height:54px}.app-header .brand strong{font-size:1.3rem;color:var(--navy)}.app-header .brand small{font-size:.72rem;letter-spacing:.01em}
.app-nav{background:var(--navy);box-shadow:inset 0 -1px #fff1}.app-nav a{padding:13px 14px;font-weight:700;font-size:.9rem;border-bottom:3px solid transparent}.app-nav a:hover{background:#17315d;border-bottom-color:var(--gold)}
main{max-width:1240px;padding-top:22px}.card,.kpi{border-color:#dbe1eb;box-shadow:0 6px 22px #14264b0b}.btn,button{background:var(--b)}.btn:hover,button:hover{filter:brightness(.96)}.btn.ghost{background:#eef2f8;color:#213653}.eventbar{border-left:4px solid var(--red);background:#f1f5fc}
.kvw-kicker{display:block;color:var(--red);font-size:.72rem;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.11em;margin-bottom:5px}.ticket-page-title h1,.kvw-hero h1,.ticket-public-main h1{color:var(--navy)}
.kvw-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:24px;align-items:center;padding:clamp(22px,4vw,42px);background:linear-gradient(120deg,#fff 0,#f5f8fd 70%,#eef3fb 100%);border-top:5px solid var(--red);margin-bottom:14px}.kvw-hero h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;margin:.2rem 0 .8rem}.kvw-hero p{max-width:760px;font-size:1.05rem;line-height:1.55;color:#566277}.kvw-hero-mark,.ticket-public-seal{width:145px;height:145px;border:13px solid var(--red);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy);background:#fff;box-shadow:inset 0 0 0 5px #fff,0 12px 32px #152a511c;transform:rotate(-4deg)}.kvw-hero-mark span,.ticket-public-seal span{font-weight:950;font-size:2.1rem;line-height:1}.kvw-hero-mark small,.ticket-public-seal small{font-weight:900;color:var(--red);letter-spacing:.12em;margin-top:4px}.ticket-kpi-grid{margin-bottom:14px}.ticket-kpi-alert{border-color:#edbd63;background:#fff8e8}.ticket-kpi-alert b{color:#9a5700}
.ticket-alert-panel{border-left:5px solid #e1a121;margin:14px 0}.ticket-alert-panel h2{margin:.2rem 0}.ticket-reminder-list{display:grid;gap:7px;margin-top:12px}.ticket-reminder-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;text-decoration:none;color:var(--text);padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.ticket-reminder-row:hover{border-color:#d5a13d;background:#fffaf0}.ticket-reminder-row div{display:grid;gap:2px}.ticket-reminder-row small{color:var(--muted)}.ticket-reminder-row span{color:var(--b);font-weight:800}
.ticket-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ticket-event-card{border-top:4px solid var(--navy)}.ticket-event-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ticket-event-card h2{margin:3px 0;color:var(--navy)}.ticket-event-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.ticket-event-stats>div{background:#f5f7fb;border-radius:10px;padding:9px}.ticket-event-stats b{display:block;font-size:1.2rem;color:var(--navy)}.ticket-event-stats span{font-size:.72rem;color:var(--muted)}.ticket-event-stats .attention{background:#fff0d5}.ticket-event-stats .attention b{color:#a65d00}.ticket-money-summary{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.ticket-money-summary b{color:var(--text);margin-left:4px}
.ticket-config-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;align-items:start}.ticket-config-grid h3{margin:22px 0 4px;color:var(--navy);border-top:1px solid var(--line);padding-top:18px}.workflow-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.workflow-preview>div{display:flex;gap:8px;align-items:center;background:#f3f6fb;border-radius:11px;padding:9px}.workflow-preview b{width:27px;height:27px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:50%;flex:0 0 auto}.workflow-preview span{display:grid;font-size:.82rem;font-weight:800}.workflow-preview small{font-size:.67rem;color:var(--muted);font-weight:500}.ticket-type-admin-list{display:grid;gap:12px}.ticket-type-admin{display:grid;gap:9px;padding:12px;background:#f8fafe;border:1px solid var(--line);border-radius:12px}.ticket-type-admin label{display:grid;gap:4px;font-size:.8rem}.ticket-new-type{margin-top:14px}.ticket-new-type>summary{display:inline-flex;margin-bottom:10px}.ticket-event-edit{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.ticket-filterbar{display:grid;grid-template-columns:1fr 1fr 2fr auto auto;gap:9px;align-items:end;margin:12px 0}.ticket-filterbar label{display:grid;gap:4px;font-size:.78rem;color:var(--muted)}.ticket-filterbar input,.ticket-filterbar select{width:100%;min-width:0}.ticket-order-table{min-width:980px}.ticket-order-state{text-align:right;display:grid;gap:8px;justify-items:end}.ticket-order-state strong{font-size:1.5rem;color:var(--navy)}.ticket-order-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;margin-bottom:14px}.ticket-detail-list{display:grid;grid-template-columns:90px 1fr;gap:8px 10px}.ticket-detail-list dt{color:var(--muted);font-size:.8rem}.ticket-detail-list dd{margin:0}.ticket-workflow-status{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ticket-workflow-status>div{display:flex;gap:7px;align-items:center;padding:9px;background:#f2f4f8;border-radius:10px}.ticket-workflow-status b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#c6cedc;color:#fff}.ticket-workflow-status span{display:grid;font-weight:800;font-size:.78rem}.ticket-workflow-status small{font-weight:500;color:var(--muted);font-size:.66rem}.ticket-workflow-status .done{background:#edf9f2}.ticket-workflow-status .done b{background:var(--ok)}.ticket-workflow-status .fail{background:#fff0f0}.ticket-workflow-status .fail b{background:var(--bad)}.ticket-reminder-decision{border:2px solid #e7b550;background:#fffaf0;margin-bottom:14px}.ticket-reminder-decision h2{color:#925500}.ticket-snooze-form{display:flex;gap:7px;align-items:center}.ticket-snooze-form label{display:flex;gap:5px;align-items:center}.ticket-snooze-form input{width:64px}.ticket-timeline{display:grid}.ticket-timeline>div{display:grid;grid-template-columns:135px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid #edf0f4}.ticket-timeline time{color:var(--muted);font-size:.76rem}.ticket-timeline span{display:grid}.ticket-timeline small{color:var(--muted);margin-top:2px}

/* Öffentliche Kartenbestellung */
.ticket-public-body{margin:0;background:#f2f4f8;color:#17243a}.ticket-public-header{min-height:88px;padding:12px max(18px,calc((100vw - 1120px)/2));background:#fff;border-bottom:5px solid var(--red);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 4px 18px #101d3d10}.ticket-public-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}.ticket-public-brand img{width:96px;height:56px;object-fit:contain}.ticket-public-brand span{display:grid}.ticket-public-brand strong{font-size:1.12rem}.ticket-public-brand small{font-size:.72rem;color:var(--muted)}.ticket-public-site{color:var(--b);font-weight:800;text-decoration:none}.ticket-public-main{max-width:1120px;margin:0 auto;padding:clamp(16px,3vw,34px) 16px 60px}.ticket-public-home-hero,.ticket-public-event-hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:22px;align-items:center;padding:clamp(24px,5vw,54px) 0 34px}.ticket-public-home-hero h1,.ticket-public-event-hero h1{font-size:clamp(2.3rem,6vw,4.3rem);line-height:.98;margin:.2rem 0 1rem;max-width:780px}.ticket-public-home-hero p,.ticket-public-event-hero p{max-width:760px;font-size:1.08rem;line-height:1.55;color:#58657a}.ticket-public-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ticket-public-event-card{position:relative;overflow:hidden;display:block;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:16px;padding:22px;box-shadow:0 8px 28px #101d3d0c}.ticket-public-event-card:after{content:"";position:absolute;right:-24px;bottom:-35px;width:100px;height:100px;border:16px solid var(--red);border-radius:50%;opacity:.1}.ticket-public-event-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #101d3d17}.ticket-public-event-card h2{font-size:1.65rem;color:var(--navy);margin:6px 0 24px}.ticket-public-event-card>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.ticket-public-event-card>div span{font-weight:800}.ticket-public-event-card>div strong{color:var(--b)}.ticket-public-back{display:inline-block;margin:6px 0 4px;color:var(--b);font-weight:800;text-decoration:none}.ticket-public-order{display:grid;gap:14px}.ticket-public-order>.card{padding:clamp(18px,3vw,28px)}.ticket-public-types{display:grid;gap:9px;margin-top:12px}.ticket-public-type{display:grid;grid-template-columns:minmax(0,1fr) auto 110px;gap:16px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.ticket-public-type h3{margin:0;color:var(--navy)}.ticket-public-type p{margin:4px 0;color:var(--muted)}.ticket-public-type>strong{font-size:1.15rem;white-space:nowrap;color:var(--navy)}.ticket-public-type label{display:grid;gap:4px;font-size:.7rem;color:var(--muted)}.ticket-public-type select{width:100%}.ticket-public-type.soldout{opacity:.55}.ticket-live-total{padding:10px 13px;background:var(--navy);color:#fff;border-radius:12px;display:grid;text-align:right}.ticket-live-total strong{font-size:1.15rem}.ticket-public-submit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border-bottom:5px solid var(--red)}.ticket-public-submit h2{margin:.2rem 0}.ticket-public-submit p{max-width:720px;color:var(--muted)}.ticket-public-submit button{font-size:1rem;padding:14px 20px;background:var(--red)}.ticket-public-note{padding:14px 16px;border-radius:12px;margin:12px 0;border:1px solid}.ticket-public-note.ok{background:#e9f8ef;border-color:#a9d9ba}.ticket-public-note.warn{background:#fff5df;border-color:#e3c47f}.ticket-public-note.bad{background:#fff0f0;border-color:#e5a3a3}.ticket-public-success{max-width:900px;margin:20px auto;padding:clamp(22px,5vw,46px);border-top:5px solid var(--ok)}.ticket-success-icon{width:58px;height:58px;display:grid;place-items:center;background:var(--ok);color:#fff;border-radius:50%;font-size:2rem;font-weight:900;margin-bottom:16px}.ticket-public-success h1{font-size:clamp(2rem,5vw,3.5rem);margin:.3rem 0}.ticket-success-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.ticket-success-grid>div{background:#f6f8fb;border-radius:13px;padding:16px}.ticket-success-grid p{display:flex;justify-content:space-between;gap:10px}.ticket-success-grid p.total{border-top:1px solid var(--line);padding-top:10px}.ticket-success-grid pre{white-space:pre-wrap;font:inherit;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px}.ticket-public-closed,.ticket-public-empty{text-align:center;padding:30px}.ticket-public-footer{background:var(--navy);color:#fff;padding:18px max(18px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;gap:14px;font-size:.82rem}.ticket-public-footer a{color:#fff}.ticket-public-seal{width:135px;height:135px}.ticket-public-seal span{font-size:2rem}
@media(max-width:980px){.ticket-config-grid,.ticket-order-grid{grid-template-columns:1fr}.ticket-filterbar{grid-template-columns:1fr 1fr}.ticket-filterbar .wide{grid-column:1/-1}.workflow-preview{grid-template-columns:1fr 1fr}.ticket-public-home-hero,.ticket-public-event-hero{grid-template-columns:1fr 120px}.ticket-public-seal{width:110px;height:110px;border-width:10px}.ticket-public-seal span{font-size:1.6rem}}
@media(max-width:760px){.kvw-hero{grid-template-columns:1fr}.kvw-hero-mark{display:none}.ticket-event-grid,.ticket-public-event-grid{grid-template-columns:1fr}.ticket-event-stats{grid-template-columns:repeat(2,1fr)}.ticket-workflow-status{grid-template-columns:1fr 1fr}.ticket-public-header{align-items:flex-start}.ticket-public-site{display:none}.ticket-public-home-hero,.ticket-public-event-hero{grid-template-columns:1fr}.ticket-public-seal{display:none}.ticket-public-type{grid-template-columns:minmax(0,1fr) auto}.ticket-public-type label{grid-column:1/-1}.ticket-public-submit{grid-template-columns:1fr}.ticket-public-submit button{width:100%}.ticket-success-grid{grid-template-columns:1fr}.ticket-reminder-row{grid-template-columns:1fr auto}.ticket-reminder-row span{grid-column:1/-1}.ticket-snooze-form{flex-wrap:wrap}}
@media(max-width:520px){.app-header .brand small{display:none}.app-header .brand img{width:64px}.ticket-public-brand small{display:none}.ticket-public-brand img{width:78px}.ticket-public-main{padding-left:10px;padding-right:10px}.ticket-public-home-hero h1,.ticket-public-event-hero h1{font-size:2.35rem}.workflow-preview{grid-template-columns:1fr}.ticket-filterbar{grid-template-columns:1fr}.ticket-filterbar .wide{grid-column:auto}.ticket-timeline>div{grid-template-columns:1fr;gap:2px}.ticket-page-title{display:block}.ticket-order-state{justify-items:start;text-align:left;margin-top:8px}}

/* KVW Event Manager v1.2.1 - offizielles Vereinsbranding, Vorlagen und Romo */
.kvw-hero-logo,.romo-hero-logo{display:block;width:min(190px,28vw);max-height:190px;object-fit:contain;justify-self:center;filter:drop-shadow(0 12px 22px #101d3d20)}
.app-header .brand img{width:64px;height:64px;border-radius:50%;object-fit:contain}.login-logo{max-width:190px;height:auto}.ticket-public-brand img{width:72px;height:72px;border-radius:50%;object-fit:contain}
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.template-grid .card{margin:0}.role-card{display:block;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);text-decoration:none;margin-bottom:8px}.role-card.active{border-color:var(--b);box-shadow:0 0 0 2px #153f7a18}.card.soft{background:#f8faff;box-shadow:none}.muted-row{opacity:.62}
.romo-context{background:#fff5e8;border-color:#efcf9b}.romo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.romo-stats>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.romo-stats b{font-size:1.7rem;display:block}.romo-stats span{color:var(--muted);font-size:.8rem}.romo-stats .attention{background:#fff4df;border-color:#e3bf74}.romo-dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.romo-arrival-list{display:grid;gap:9px}.romo-arrival-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.romo-arrival-row.arrived{background:#eef9f2;border-color:#b8dcc6}.romo-arrival-row>div{display:grid;gap:3px}.romo-arrival-row small{color:var(--muted)}.romo-problem-list{display:grid;gap:8px}.romo-hero-logo{width:min(210px,32vw)}
@media(max-width:850px){.template-grid{grid-template-columns:1fr}.romo-dashboard-grid{grid-template-columns:1fr}.romo-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.kvw-hero-logo,.romo-hero-logo{width:140px}.ticket-public-home-hero,.ticket-public-event-hero,.kvw-hero{grid-template-columns:1fr}.romo-arrival-row{align-items:flex-start;flex-direction:column}.romo-arrival-row form,.romo-arrival-row button{width:100%}}
