#planung-start-date::-webkit-calendar-picker-indicator,#planung-end-date::-webkit-calendar-picker-indicator,#modal-new-date::-webkit-calendar-picker-indicator {  filter: invert(1);  cursor: pointer;}
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0a0f1e;--bg2:#0d1629;--bg3:#111c35;--bg4:#1c2a40;
  --border:#1c2a40;--border2:rgba(34,211,238,0.2);
  --accent:#22d3ee;--accent2:#17a8bf;
  --text:hsl(222,10%,88%);--text2:#888;--text3:#555;
  --green:#2ecc71;--red:#e74c3c;--yellow:#f1c40f;--blue:#3498db;--purple:#9b59b6;--orange:#e67e22;
  --green-bg:#0d2e1e;--red-bg:#2e0d0d;--yellow-bg:#2e2a0d;--blue-bg:#0d1e35;--purple-bg:#1e0d35;
  --radius:12px;--radius-sm:8px;--radius-xs:6px;
  --shadow:0 4px 24px rgba(0,0,0,.35);
}
html{scroll-behavior:smooth}
body{font-family:'Inter','Segoe UI',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-size:14px;line-height:1.5}
.section-title,.card-title,.stat-label+.stat-value,.app-header h1{font-family:'Rajdhani',sans-serif}
.section-title{font-family:'Rajdhani',sans-serif;font-size:20px;font-weight:700;letter-spacing:0.03em}
a{color:inherit;text-decoration:none}
input,select,button,textarea{font-family:inherit;font-size:inherit}
.hidden{display:none!important}

/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:hsl(222,30%,28%)}

/* Toast */
#toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(340px,calc(100vw - 40px))}
.toast{padding:11px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;opacity:0;transform:translateX(60px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow);display:flex;align-items:center;gap:8px}
.toast.show{opacity:1;transform:translateX(0)}
.toast.success{background:#0d2e1e;border-left:3px solid var(--green);color:#a3e4bc}
.toast.error{background:#2e0d0d;border-left:3px solid var(--red);color:#f5a5a5}
.toast.info{background:#0d1e35;border-left:3px solid var(--blue);color:#a5c8f5}

/* ZockerHafen Confirm-Dialog */
.zhc-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(5,8,16,0.72);backdrop-filter:blur(6px);opacity:0;transition:opacity .2s ease}
.zhc-overlay.show{opacity:1}
.zhc-card{background:linear-gradient(145deg,var(--bg3) 0%,var(--bg2) 100%);border:1px solid var(--border);border-radius:14px;padding:0;width:min(420px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(34,211,238,.15);transform:translateY(12px) scale(.97);transition:transform .2s cubic-bezier(.4,0,.2,1);overflow:hidden}
.zhc-overlay.show .zhc-card{transform:translateY(0) scale(1)}
.zhc-head{display:flex;align-items:center;gap:10px;padding:18px 22px 0}
.zhc-icon{font-size:22px}
.zhc-title{font-family:"Rajdhani",sans-serif;font-size:1.4rem;font-weight:700;color:#fff;letter-spacing:.02em}
.zhc-body{padding:12px 22px 6px;color:var(--text2);font-size:14px;line-height:1.55;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.zhc-badge{display:inline-flex;align-items:center;padding:3px 11px;border-radius:6px;background:rgba(34,211,238,.15);border:1px solid rgba(34,211,238,.35);color:var(--accent);font-family:"Rajdhani",sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}
.zhc-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px 20px;margin-top:6px}
.zhc-btn{padding:9px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;border:1px solid var(--border);letter-spacing:.2px}
.zhc-cancel{background:transparent;color:var(--text2)}
.zhc-cancel:hover{background:var(--bg4);color:#fff;border-color:var(--border2)}
.zhc-ok{background:var(--accent);color:#000;border-color:transparent}
.zhc-ok:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 4px 14px rgba(34,211,238,.4)}
.zhc-ok.zhc-danger{background:var(--red);color:#fff}
.zhc-ok.zhc-danger:hover{background:#d33;box-shadow:0 4px 14px rgba(229,62,62,.45)}

/* Login */
#login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}
.login-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:40px;width:360px;text-align:center;box-shadow:var(--shadow)}
.login-card-wide{width:min(760px,92vw);text-align:left}
.login-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.login-card-head img{max-width:100%;height:auto}
.login-card h1{font-size:22px;color:#fff;margin-bottom:6px}
.login-card p{font-size:13px;color:var(--text2);margin-bottom:28px}
.login-card input{width:100%;padding:11px 14px;background:hsl(222,47%,5%);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;outline:none;margin-bottom:12px;transition:border-color .2s}
.login-card input:focus{border-color:var(--accent)}
.btn-primary{padding:9px 18px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.2px}
.btn-primary:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,210,220,.3)}
.btn-primary:active{transform:translateY(0)}
.btn-primary:disabled{background:var(--border);color:var(--text3);cursor:not-allowed;transform:none;box-shadow:none}
.login-card .btn-primary{width:100%;font-size:15px;padding:12px}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.login-pane{background:hsl(222,47%,5%);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px}
.login-pane h2{font-size:15px;color:#fff;margin-bottom:8px}
.login-pane p{margin-bottom:14px}
@media(max-width:780px){.login-grid{grid-template-columns:1fr}}

/* Main layout */
#main-screen{display:none;flex:1;flex-direction:column}
.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--bg2);border-bottom:1px solid var(--border2);position:sticky;top:0;z-index:100;backdrop-filter:blur(8px)}
.app-header h1{font-size:18px;font-weight:700;color:#fff}
.header-right{display:flex;align-items:center;gap:12px}
.viewer-chip{font-size:12px;color:#a5c8f5;background:#1a2d3d;border:1px solid #254764;padding:5px 10px;border-radius:999px;white-space:nowrap}
.dot-live{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;display:inline-block;margin-right:5px;vertical-align:middle}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(46,204,113,.4)}50%{opacity:.7;box-shadow:0 0 0 4px rgba(46,204,113,0)}}
.last-sync{font-size:11px;color:var(--text3);vertical-align:middle}
.logout-btn{background:none;border:1px solid var(--border);color:var(--text2);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:all .2s}
.logout-btn:hover{border-color:var(--red);color:var(--red)}
.panel-status-btn{display:none;align-items:center;gap:6px;background:rgba(34,197,94,.08);border:1px solid #22c55e;color:#22c55e;padding:5px 11px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:500;transition:all .25s;white-space:nowrap;box-shadow:0 0 8px rgba(34,197,94,.25)}
.panel-status-btn.active{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.08);box-shadow:0 0 8px rgba(239,68,68,.25)}
.panel-status-btn .ps-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e;transition:background .25s,box-shadow .25s;flex-shrink:0}
.panel-status-btn.active .ps-dot{background:#ef4444;box-shadow:0 0 6px #ef4444}
.lang-select{background:var(--bg3);border:1px solid var(--border);color:#aaa;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;transition:border-color .2s,color .2s;outline:none;-webkit-appearance:none;appearance:none;padding-right:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}
.lang-select:hover,.lang-select:focus{border-color:var(--accent);color:var(--accent)}
.app-body{display:flex;flex:1;overflow:hidden}

/* Sidebar */
.sidebar{width:210px;background:var(--bg2);border-right:1px solid var(--border2);padding:12px 0;display:flex;flex-direction:column;gap:2px;flex-shrink:0;overflow-y:auto}
.sidebar-logo{padding:10px 18px 12px;border-bottom:1px solid rgba(0,210,220,.12);margin-bottom:6px}
.nav-group{padding:4px 18px 2px;font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-top:6px}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 18px;cursor:pointer;font-size:13px;color:var(--text2);transition:all .15s;border-left:3px solid transparent;position:relative}
.nav-item:hover{background:var(--bg4);color:var(--text)}
.nav-item.active{background:hsl(222,47%,13%);color:#fff;border-left-color:var(--accent)}
.nav-item.active .nav-icon{filter:drop-shadow(0 0 6px var(--accent))}
.nav-sub-item{display:flex;align-items:center;gap:10px;padding:7px 18px 7px 38px;cursor:pointer;font-size:12px;color:var(--text2);transition:all .15s;border-left:3px solid transparent}
.nav-sub-item:hover{background:var(--bg4);color:var(--text)}
.nav-sub-item.active{background:hsl(222,47%,13%);color:#fff;border-left-color:var(--accent)}
.nav-icon{font-size:15px;width:18px;text-align:center;flex-shrink:0}

/* Content */
.content{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden}
.section{display:none}
.section.active{display:block}
.section-title{font-size:17px;font-weight:700;color:#fff;margin-bottom:18px;display:flex;align-items:center;gap:8px}
.section-help{color:var(--text2);font-size:13px;line-height:1.55;margin:-8px 0 18px;max-width:820px}
.section-bar + .section-help{margin-top:-6px}
.bracket{display:flex;gap:80px;overflow-x:auto;padding:20px 10px 40px;position:relative}
.bracket::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(34,211,238,0.03) 1px, transparent 1px),linear-gradient(90deg, rgba(34,211,238,0.03) 1px, transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}
.bracket-round{display:flex;flex-direction:column;justify-content:space-around;gap:40px;min-width:280px;position:relative;z-index:1}
.bracket-round-title{font-family:"Rajdhani",sans-serif;font-size:1.1rem;font-weight:700;color:#22d3ee;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(90deg, transparent, rgba(34,211,238,0.1), transparent);padding:8px 0;border-radius:4px;text-align:center;margin-bottom:10px}
.bracket-match{background:linear-gradient(145deg, #111c35 0%, #0d1629 100%);border:1px solid #1c2a40;border-left:3px solid #22d3ee;border-radius:12px;overflow:hidden;transition:all 0.3s ease}
.bracket-match:hover{border-color:#22d3ee;box-shadow:0 8px 24px rgba(34,211,238,0.15);transform:translateY(-2px)}
.bracket-match.loser{border-left-color:#f59e0b}
.bracket-match.mine{border:2px solid #22d3ee;box-shadow:0 0 30px rgba(34,211,238,0.2)}
.bracket-team{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1c2a40;position:relative;transition:background 0.2s ease}
.bracket-match .bracket-team:last-child{border-bottom:none}
.bracket-team:hover{background:rgba(34,211,238,0.05)}
.bracket-team.win{background:linear-gradient(90deg, rgba(34,211,238,0.15) 0%, transparent 100%);font-weight:600}
.bracket-team.win::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg, #22d3ee, #06b6d4)}
.bracket-team-name{color:#e2e8f0;font-size:0.95rem;font-weight:500;display:flex;align-items:center;gap:10px}
.bracket-team-letter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(34,211,238,0.15);border:1px solid rgba(34,211,238,0.3);border-radius:6px;font-family:"Rajdhani",sans-serif;font-weight:700;font-size:0.9rem;color:#22d3ee}
.bracket-team.win .bracket-team-letter{background:#22d3ee;color:#0a0f1e;box-shadow:0 0 12px rgba(34,211,238,0.4);border:none}
.bracket-team-score{font-family:"Rajdhani",sans-serif;font-size:1.3rem;font-weight:700;color:#94a3b8}
.bracket-team.win .bracket-team-score{color:#22d3ee}
.bracket-meta{padding:10px 18px;background:rgba(0,0,0,0.3);display:flex;justify-content:space-between;align-items:center;font-size:0.8rem;color:#64748b}
.bracket-map{display:flex;align-items:center;gap:6px}
.bracket-status{display:flex;align-items:center;gap:6px;font-weight:500}
.bracket-status.live{color:#22d3ee}
.bracket-status.finished{color:#4ade80}
.bracket-status.pending{color:#94a3b8}
.bracket-connect{text-decoration:none;color:var(--accent)}

/* Cards */
.card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:14px;transition:border-color .2s}
.card:hover{border-color:var(--border2)}
.card-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:8px}

/* Grid */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* Stats */
.stat-row{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.stat-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;flex:1;min-width:110px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s}
.stat-card:hover{border-color:var(--border2);transform:translateY(-2px)}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}
.stat-value{font-size:28px;font-weight:800;color:#fff;line-height:1.2}
.stat-label{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.6px;margin-top:3px}

/* Progress bar */
.progress-wrap{background:hsl(222,30%,14%);border-radius:999px;overflow:hidden;height:6px;margin:6px 0}
.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),hsl(200,100%,50%));transition:width .6s ease}

/* Badge */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}
.badge-green{background:var(--green-bg);color:var(--green);border:1px solid rgba(46,204,113,.2)}
.badge-red{background:var(--red-bg);color:var(--red);border:1px solid rgba(231,76,60,.2)}
.badge-yellow{background:var(--yellow-bg);color:var(--yellow);border:1px solid rgba(241,196,15,.2)}
.badge-blue{background:var(--blue-bg);color:var(--blue);border:1px solid rgba(52,152,219,.2)}
.badge-purple{background:var(--purple-bg);color:var(--purple);border:1px solid rgba(155,89,182,.2)}
.badge-orange{background:#2e1a0d;color:var(--orange);border:1px solid rgba(230,126,34,.2)}
.dot-sm{width:5px;height:5px;border-radius:50%;flex-shrink:0}

/* Table */
.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;padding:9px 12px;color:var(--text3);font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:hsl(222,47%,7%);border-bottom:1px solid var(--border)}
td{padding:9px 12px;border-bottom:1px solid hsl(222,47%,8%);color:#bbb;vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:hsl(222,47%,8%);color:var(--text)}
.table-wrap table{border-radius:0;border:none}

/* Form controls */
.form-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-label{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.inp{padding:8px 12px;background:hsl(222,47%,5%);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}
.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,210,220,.1)}
.inp::placeholder{color:var(--text3)}
.sel{padding:8px 12px;background:hsl(222,47%,5%);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;outline:none;cursor:pointer;transition:border-color .2s}
.sel:focus{border-color:var(--accent)}
.search-inp{width:100%;padding:9px 12px 9px 36px;background:hsl(222,47%,6%);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;outline:none;transition:border-color .2s}
.search-inp:focus{border-color:var(--accent)}
.search-wrap{position:relative;margin-bottom:14px}
.search-wrap::before{content:'🔍';position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;pointer-events:none}

/* Buttons */
.btn{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.2px}
.btn:hover:not(:disabled){border-color:var(--text2);color:#fff;background:rgba(255,255,255,.05);transform:translateY(-1px)}
.btn:active:not(:disabled){transform:translateY(0)}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn-sm{padding:6px 13px;border:none;border-radius:var(--radius-xs);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.2px}
.btn-sm:disabled{opacity:.4;cursor:not-allowed!important;transform:none!important}
.btn-game-pill{padding:5px 16px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.btn-game-pill.active{background:var(--accent);color:#000;border-color:var(--accent)}
.btn-game-pill:hover:not(.active){background:rgba(255,255,255,.06);color:var(--text1)}
.btn-danger{background:transparent;border:1px solid var(--red);color:var(--red)}
.btn-danger:hover:not(:disabled){background:var(--red);color:#fff;transform:translateY(-1px)}
.btn-success{background:var(--green);color:#000;border:1px solid var(--green)}
.btn-success:hover:not(:disabled){background:#27ae60;transform:translateY(-1px)}
.btn-warn{background:transparent;border:1px solid var(--yellow);color:var(--yellow)}
.btn-warn:hover:not(:disabled){background:var(--yellow);color:#000;transform:translateY(-1px)}
.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text2)}
.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:#fff;transform:translateY(-1px)}

/* Filter pills */
.filter-pills{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.pill{padding:5px 14px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);color:var(--text2);background:transparent;transition:all .15s}
.pill.active{background:var(--accent);color:#000;border-color:var(--accent)}
.pill:hover:not(.active){border-color:var(--accent);color:var(--text)}

/* Match card */
.match-card{background:hsl(222,47%,5%);border:1px solid hsl(222,30%,14%);border-radius:var(--radius-sm);padding:14px;margin-bottom:8px;transition:border-color .2s}
.match-card:hover{border-color:var(--border2)}
.match-card.done{opacity:.7}
.match-card.done:hover{opacity:1}
.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.match-teams{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700}
.match-vs{color:var(--text3);font-size:11px;background:hsl(222,30%,14%);padding:2px 6px;border-radius:4px}
.match-winner-badge{color:var(--green);font-size:11px;font-weight:600}
.match-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}

/* Server card */
.server-card{background:hsl(222,47%,5%);border:1px solid hsl(222,30%,14%);border-radius:var(--radius);padding:16px;transition:border-color .2s}
.server-card:hover{border-color:var(--border2)}
.server-name{font-size:15px;font-weight:700;color:#fff}

/* Team card */
.team-card{background:hsl(222,47%,5%);border:1px solid hsl(222,30%,14%);border-radius:var(--radius-sm);padding:14px;transition:border-color .2s}
.team-card:hover{border-color:var(--border2)}
.team-name{font-size:14px;font-weight:700;color:var(--accent)}
.team-players{margin-top:8px;display:flex;flex-direction:column;gap:3px}
.team-player{font-size:12px;color:#999;display:flex;align-items:center;gap:6px}
.team-player::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0}
.muted{color:var(--text2)}

/* User card */
.user-card{background:hsl(222,47%,5%);border:1px solid hsl(222,30%,14%);border-radius:var(--radius-sm);padding:14px;transition:border-color .2s}
.user-card:hover{border-color:var(--border2)}

/* Benutzer-Accordion: klappbare Owner-Karten + verschachtelte Helfer (vceee 2026-06-30) */
.user-acc-wrap{display:flex;flex-direction:column;gap:8px}
.user-acc{background:hsl(222,47%,5%);border:1px solid hsl(222,30%,14%);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .2s}
.user-acc[open]{border-color:var(--border2)}
.user-acc-sum{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none;-webkit-appearance:none;user-select:none}
.user-acc-sum::-webkit-details-marker{display:none}
.user-acc-sum::marker{content:""}
.user-acc-sum:hover{background:rgba(255,255,255,.03)}
.user-acc-chev{color:var(--text3);font-size:11px;transition:transform .2s;flex-shrink:0;display:inline-block}
.user-acc[open]>.user-acc-sum .user-acc-chev{transform:rotate(90deg)}
.user-acc-ic{font-size:15px;flex-shrink:0}
.user-acc-name{font-size:15px;font-weight:700;color:#fff;margin-right:auto;word-break:break-word}
.user-acc-role{font-size:11px;font-weight:600;color:var(--purple);background:var(--purple-bg);border:1px solid rgba(155,89,182,.25);padding:2px 9px;border-radius:20px;white-space:nowrap}
.user-acc-helpers{font-size:11px;font-weight:600;color:var(--accent);background:rgba(34,211,238,.1);border:1px solid var(--border2);padding:2px 9px;border-radius:20px;white-space:nowrap}
.user-acc-body{padding:14px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:#bbb;border-top:1px solid hsl(222,30%,14%)}

/* Helfer-Untergruppe unter einem Owner */
.helfer-group{margin-top:4px;background:var(--bg2);border:1px solid hsl(222,30%,14%);border-radius:var(--radius-sm);overflow:hidden}
.helfer-group-sum{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;list-style:none;-webkit-appearance:none;font-size:12px;font-weight:700;color:var(--accent)}
.helfer-group-sum::-webkit-details-marker{display:none}
.helfer-group-sum::marker{content:""}
.helfer-group-sum:hover{background:rgba(255,255,255,.03)}
.helfer-group-chev{color:var(--accent);font-size:10px;transition:transform .2s;display:inline-block}
.helfer-group[open]>.helfer-group-sum .helfer-group-chev{transform:rotate(90deg)}
.helfer-list{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px}
.helper-acc{background:hsl(222,47%,5%);border:1px solid hsl(222,30%,14%);border-radius:var(--radius-xs);overflow:hidden}
.helper-acc[open]{border-color:var(--border2)}
.helper-acc-sum{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;list-style:none;-webkit-appearance:none}
.helper-acc-sum::-webkit-details-marker{display:none}
.helper-acc-sum::marker{content:""}
.helper-acc-sum:hover{background:rgba(255,255,255,.03)}
.helper-acc-chev{color:var(--text3);font-size:10px;transition:transform .2s;flex-shrink:0;display:inline-block}
.helper-acc[open]>.helper-acc-sum .helper-acc-chev{transform:rotate(90deg)}
.helper-acc-ic{font-size:13px;flex-shrink:0}
.helper-acc-name{font-size:13px;font-weight:700;color:#fff;margin-right:auto;word-break:break-word}
.helper-acc-tag{font-size:10px;font-weight:600;color:var(--orange);background:#2e1a0d;border:1px solid rgba(230,126,34,.25);padding:1px 8px;border-radius:20px;white-space:nowrap}
.helper-acc-body{padding:10px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#aaa;border-top:1px solid hsl(222,30%,14%)}
/* Firefox: Marker auch bei display:flex-Summary hart entfernen */
.user-acc-sum::marker,.helfer-group-sum::marker,.helper-acc-sum::marker{display:none}
/* Sichtbarer Tastatur-Fokus auf den klappbaren Summaries */
.user-acc-sum:focus-visible,.helfer-group-sum:focus-visible,.helper-acc-sum:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:768px){
  .user-acc-body{padding:12px}
  .helfer-list{padding:6px 6px 8px}
  .helper-acc-body{padding:8px}
}

/* History */
.history-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid hsl(222,30%,14%)}
.history-item:last-child{border-bottom:none}

/* Map select */
.map-action{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-overlay{text-align:center;padding:40px;color:var(--text2)}

/* Section header bar */
.section-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.section-bar .section-title{margin-bottom:0}

/* Empty state */
.empty-state{text-align:center;padding:48px 20px;color:var(--text2)}
.empty-state-icon{font-size:36px;margin-bottom:12px;opacity:.4}
.empty-state-text{font-size:14px}

/* Info box */
.info-box{background:hsl(210,30%,8%);border:1px solid hsl(210,30%,18%);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:#a5c8f5;display:flex;gap:8px;align-items:flex-start;margin-bottom:14px}

/* Stat box (small) */
.stat-box{background:hsl(222,47%,5%);border:1px solid hsl(222,30%,14%);border-radius:8px;padding:10px 14px}
.stat-box .stat-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
.stat-box .stat-value{font-size:18px;font-weight:700;color:#fff}

/* Divider */
.divider{border:none;border-top:1px solid var(--border);margin:14px 0}

/* ── Mobile drawer overlay ───────────────────────────────────────────────── */
#mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:199;backdrop-filter:blur(2px);cursor:pointer}
#btn-menu-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text2);font-size:18px;flex-shrink:0;transition:all .2s}
#btn-menu-toggle:hover{border-color:var(--accent);color:var(--accent)}

@media(max-width:768px){
  /* Hamburger visible */
  #btn-menu-toggle{display:flex}

  /* Header simplified */
  .app-header{padding:0 12px;height:52px;gap:8px}
  .header-right{gap:6px}
  #viewer-chip{display:none}
  .last-sync{display:none}
  .dot-live{display:none}
  .lang-select{display:none}
  .logout-btn{padding:5px 10px;font-size:11px}
  .panel-status-btn{padding:4px 8px;font-size:11px}

  /* Sidebar → slide-in drawer */
  .sidebar{
    position:fixed;left:-230px;top:0;height:100dvh;width:220px!important;
    z-index:200;transition:left .28s cubic-bezier(.4,0,.2,1);
    overflow-y:auto;padding-top:0;box-shadow:none
  }
  .sidebar.mob-open{left:0;box-shadow:4px 0 32px rgba(0,0,0,.6)}
  .sidebar-logo{display:flex!important;padding:14px 16px 12px}
  .nav-group{display:block!important;padding:6px 16px 2px;margin-top:6px}
  .nav-item span:not(.nav-icon){display:inline!important}
  .nav-item{padding:10px 16px!important;justify-content:flex-start!important}

  /* App body — no sidebar space */
  .app-body{overflow:visible}
  .content{
    padding:12px;
    overflow-y:auto;
    /* extra bottom padding so content isn't cut off behind bottom space */
    padding-bottom:20px;
  }

  /* Stats */
  .stat-row{gap:6px;flex-wrap:wrap}
  .stat-card{min-width:calc(50% - 4px);flex:1 1 calc(50% - 4px)}
  .stat-value{font-size:20px}

  /* Progress card */
  #dash-progress-card{margin-bottom:10px}

  /* Game toggle bar — wrap on small screens */
  #game-bar{flex-wrap:wrap!important;gap:7px!important;padding:10px 12px!important}

  /* Section title / bar */
  .section-title{font-size:15px}
  .section-bar{flex-wrap:wrap;gap:8px}

  /* Grids already 1-col at 900px, keep */

  /* Cards */
  .card{padding:14px;margin-bottom:10px}
  .card-title{font-size:12px}

  /* Form rows — full-width inputs */
  .form-row{flex-direction:column!important;align-items:stretch!important}
  .form-row .inp,.form-row .sel{width:100%}
  .form-row .btn-primary{width:100%;margin-top:4px}
  .form-group{width:100%}

  /* Config card form groups inside card — keep flex-wrap but wider basis */
  .card .form-row[style*="flex-wrap"]{flex-wrap:wrap!important}

  /* Buttons */
  .btn-sm{font-size:12px;padding:6px 10px}

  /* Match cards — wrap action buttons */
  .match-actions{flex-wrap:wrap!important;gap:5px!important}
  .match-header{flex-wrap:wrap;gap:6px}
  .match-teams{font-size:13px}

  /* Table horizontal scroll */
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100vw}
  table{min-width:480px}

  /* Map action */
  .map-action{flex-wrap:wrap!important}

  /* Filter pills — horizontal scroll */
  .filter-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;gap:6px;scrollbar-width:none}
  .filter-pills::-webkit-scrollbar{display:none}

  /* Toast — bottom of screen on mobile */
  #toast-container{top:auto;bottom:16px;right:12px;left:12px;max-width:none}

  /* Impersonation banner */
  #impersonation-banner{padding:6px 12px;font-size:12px;flex-wrap:wrap;gap:6px}

  /* Server cards */
  .server-card{padding:12px}
  .server-name{font-size:14px}

  /* Team cards */
  .team-card{padding:12px}

  /* User card */
  .user-card{padding:12px}

  /* Section-specific inline overrides */
  /* Player table action buttons */
  td .btn-sm{margin:2px 0}

  /* Config card form groups (have inline flex:1 1 140px) */
  /* They still wrap at 140px, fine for mobile */

  /* Registration link input */
  #reg-link-input{font-size:11px}

  /* Stat box inside tournament detail */
  .stat-box{padding:8px 10px}
  .stat-box .stat-value{font-size:15px}

  /* Dashboard server section */
  #dash-cs16-servers .card{margin-top:8px}

  /* Ticket chat */
  .ticket-bubble{max-width:92%}
  .ticket-message-row{gap:6px}
}

@media(max-width:400px){
  .stat-card{min-width:calc(50% - 4px)}
  .stat-value{font-size:18px}
  .btn-game-pill{font-size:11px;padding:5px 10px}
  #game-bar{gap:5px!important}
}
  /* ── Support Tickets ─────────────────────────────────────────────────────── */
  .ticket-item{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:8px}
  .ticket-item:hover{border-color:var(--accent);background:var(--bg3)}
  .ticket-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}
  .ticket-badge.open{background:hsl(142,60%,15%);color:#4ade80;border:1px solid hsl(142,60%,30%)}
  .ticket-badge.closed{background:var(--bg3);color:var(--text2);border:1px solid var(--border)}
  .ticket-message-row{display:flex;gap:10px;margin-bottom:12px}
  .ticket-message-row.from-admin{flex-direction:row-reverse}
  .ticket-bubble{background:var(--bg3);border:1px solid var(--border);border-radius:10px;border-bottom-left-radius:3px;padding:10px 14px;max-width:82%;font-size:13px;line-height:1.6;word-break:break-word}
  .ticket-bubble.from-admin{background:hsl(222,47%,15%);border-color:var(--accent);border-bottom-left-radius:10px;border-bottom-right-radius:3px}
  .ticket-meta{font-size:11px;color:var(--text2);margin-top:4px;text-align:right}
  .ticket-message-row:not(.from-admin) .ticket-meta{text-align:left}


@media(max-width:768px){
  #btn-menu-close{display:block!important}
}

/* ── Statistiken ── */
.stats-type-active { background: rgba(34,211,238,.15) !important; color: var(--accent) !important; font-weight: 600; }
.stats-period-active { background: var(--accent) !important; color: #0a0f1e !important; font-weight: 600; }
.stat-card { background:var(--bg3); border:1px solid var(--border); border-radius:12px; padding:18px; }
.stat-metric-bar { height:8px; border-radius:4px; background:var(--bg2); overflow:hidden; margin-top:4px; }
.stat-metric-bar-fill { height:100%; border-radius:4px; transition:width .6s ease; }

/* V1-Basis: blendet V2-only-Elemente aus, solange das Redesign-Layer (zh-redesign) deaktiviert ist (Header-Schalter V1/V2) */
#stars-canvas{display:none}
#btn-sidebar-collapse{display:none}

/* V1/V2 Design-Schalter (immer aktiv, in beiden Modi sichtbar) */
.design-switch{position:relative;display:inline-flex;align-items:center;width:74px;height:24px;margin-left:4px;background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.35);border-radius:999px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;font-family:'Rajdhani',sans-serif}
.design-switch .ds-v1,.design-switch .ds-v2{flex:1;text-align:center;font-size:11px;font-weight:700;letter-spacing:.5px;position:relative;z-index:1;transition:color .25s}
.design-switch .ds-v1{color:#031018}
.design-switch .ds-v2{color:var(--text2)}
.design-switch .ds-knob{position:absolute;top:2px;left:2px;width:34px;height:18px;border-radius:999px;background:var(--accent);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 6px rgba(34,211,238,.5)}
body.zh-v2 .design-switch .ds-knob{transform:translateX(34px)}
body.zh-v2 .design-switch .ds-v1{color:var(--text2)}
body.zh-v2 .design-switch .ds-v2{color:#031018}

/* Logo (ZOCKERHAFEN) auch in V1 ausblenden (Desktop); Mobile = Drawer-Kopf bleibt */
.sidebar-logo{display:none!important}
@media(max-width:768px){.sidebar-logo{display:flex!important}}

/* Hintergrund-Menu "Background" (nur V2 sichtbar) */
.bg-menu{display:none;position:relative;margin-left:8px}
body.zh-v2 .bg-menu{display:inline-flex}
.bg-menu-btn{display:inline-flex;align-items:center;gap:5px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.35);color:var(--accent);padding:5px 11px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap;transition:all .2s;font-family:'Rajdhani',sans-serif}
.bg-menu-btn:hover{background:rgba(34,211,238,.2);border-color:rgba(34,211,238,.6)}
.bg-menu-list{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:170px;background:rgba(13,22,41,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(34,211,238,.3);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.55);padding:5px;z-index:300}
.bg-menu-list.open{display:block}
.bg-opt{padding:8px 12px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--text);transition:background .15s,color .15s;white-space:nowrap}
.bg-opt:hover{background:rgba(34,211,238,.15);color:#fff}
.bg-opt.active{background:rgba(34,211,238,.22);color:#fff;font-weight:700}
.bg-opt.active::after{content:'\2713';float:right;color:var(--accent);margin-left:12px}

/* Spieler-Sidebar (#player-screen) — Layout; sichtbar nur in V2 (Glas-Optik via .sidebar/.nav-item) */
.pv-sidebar{display:none}
body.zh-v2 .pv-sidebar{display:flex}
body.zh-v2 .pv-body{display:flex}
.pv-main{flex:1;min-width:0}

/* V2: Discord/TeamSpeak im Player-Header ausblenden (jetzt in der Sidebar) */
body.zh-v2 #pv-discord-link,body.zh-v2 #player-screen a[href^="ts3server:"]{display:none!important}

/* Player-Sidebar-Toggle (☰) — Glas wie Panel-☰, nur V2 */
.pv-sb-toggle{display:none}
body.zh-v2 .pv-sb-toggle{display:flex;align-items:center;justify-content:center;background:rgba(34,211,238,.15);border:1px solid rgba(34,211,238,.3);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer;color:var(--accent);font-size:18px;line-height:1;flex-shrink:0;transition:all .2s}
body.zh-v2 .pv-sb-toggle:hover{background:rgba(34,211,238,.25);border-color:rgba(34,211,238,.5);transform:scale(1.05)}

/* Discord-ID-Spalte in der Spielerliste — nur V2 */
.col-dcid{display:none}
body.zh-v2 .col-dcid{display:table-cell}

/* Laufende-Nummer-Spalte (#) in der Spielerliste — nur V2 */
.col-num{display:none}
body.zh-v2 .col-num{display:table-cell}

/* Player-Sidebar auf Mobile = ☰-Burger-Drawer (gleitet UEBER den Inhalt), wie das Panel.
   Die .sidebar-Drawer-Regel (Z.299: position:fixed;left:-230px / .mob-open{left:0}) greift
   bereits, da .pv-sidebar auch .sidebar ist. Das ☰ (pv-sb-toggle) bleibt auf Mobile sichtbar
   und oeffnet via JS (toggleSidebarCollapse -> mob-open) den Drawer. Kein Override noetig. */

/* Header mobil kompakt: die (Redesign-)Items passen sonst nicht in EINE Zeile → horizontaler
   Page-Overflow (~750px) → Layout zerschossen. Funktionales bleibt (☰, Logo-Icon, V1/V2-Switch,
   Status-Dot, Abmelden); breite Deko raus: Wortmarke, Background-Menü, Status-Label. */
@media(max-width:768px){
  /* Panel .app-header UND Spieler #player-screen header: Wortmarke + BG-Menü raus (Logo-IMG bleibt) */
  .app-header h1,#player-screen header h1{display:none!important}
  .bg-menu{display:none!important}                    /* Background-Menü (Deko) — Desktop-only, beide Header */
  #panel-status-label{display:none!important}         /* "Frei für Bearbeitung" — farbiger ps-dot bleibt */
  #pv-sync{display:none!important}                    /* "Stand: HH:MM" Zeitstempel im Player-Header — mobil weg */
  .app-header,#player-screen header{overflow-x:clip}  /* harte Bremse gegen Rest-Overflow */
}

/* ===== flatpickr v4.6.13 (self-hosted 2026-06-27, ninja-A: kein Dritt-CDN) ===== */
.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{/*
      /*rtl:begin:ignore*/left:0/*
      /*rtl:end:ignore*/}/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{/*
      /*rtl:begin:ignore*/right:0/*
      /*rtl:end:ignore*/}/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}

/* ninja-B (2026-06-27): Discord-Button-Hover als CSS statt inline-onmouseover (eval-frei) */
.btn-discord:hover { background: hsl(184,100%,38%) !important; }

/* ninja-B (2026-06-27): Buchungs-Zeilen-Hover als CSS statt inline-onmouseenter */
.bk-row-hover:hover { background: var(--bg4); }
