.vtp-public{--vtp-red:#b00020;--vtp-dark:#2b0b12;--vtp-soft:#fff5f6;max-width:1120px;margin:30px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1f2937}.vtp-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--vtp-red),#7f0017);color:#fff;border-radius:24px;padding:30px;margin-bottom:16px;box-shadow:0 16px 40px rgba(176,0,32,.22)}.vtp-hero:after{content:"";position:absolute;right:-40px;bottom:-70px;width:260px;height:260px;background:url('tus-mingolsheim-logo.png') center/contain no-repeat;opacity:.13}.vtp-hero-inner{position:relative;z-index:1;display:flex;gap:22px;align-items:center}.vtp-logo{width:96px;height:96px;object-fit:contain;background:#fff;border-radius:20px;padding:8px}.vtp-kicker{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:13px;opacity:.9}.vtp-hero h1{color:#fff;margin:.15em 0;font-size:clamp(30px,5vw,52px);line-height:1}.vtp-hero p{margin:6px 0;color:#fff}.vtp-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.vtp-tabs a{background:#fff;color:var(--vtp-red);border:1px solid #f0c8cf;border-radius:999px;padding:9px 14px;text-decoration:none;font-weight:700}.vtp-section{background:#fff;border:1px solid #f0e3e5;border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 8px 26px rgba(0,0,0,.06)}.vtp-section h2{margin-top:0;color:var(--vtp-dark)}.vtp-table-wrap{overflow-x:auto}.vtp-public table{width:100%;border-collapse:collapse}.vtp-public th,.vtp-public td{padding:10px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}.vtp-public th{background:var(--vtp-soft);color:var(--vtp-dark)}.vtp-noshow{opacity:.55}.vtp-match{border:1px solid #f0e3e5;border-radius:14px;padding:14px;margin:10px 0;background:#fffafa}.vtp-meta{font-size:13px;color:#6b7280}.vtp-badge{display:inline-block;background:var(--vtp-red);color:#fff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}.vtp-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:8px;font-size:18px}.vtp-teams span:last-child{text-align:right}.vtp-teams strong{font-size:24px;color:var(--vtp-red)}.vtp-sponsors{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.vtp-sponsors a{display:flex;align-items:center;gap:10px;border:1px solid #eee;border-radius:14px;padding:10px;text-decoration:none;color:inherit}.vtp-sponsors img{max-width:120px;max-height:60px;object-fit:contain}@media(max-width:650px){.vtp-hero-inner{align-items:flex-start}.vtp-logo{width:72px;height:72px}.vtp-teams{font-size:15px;gap:8px}.vtp-section{padding:14px}.vtp-public{padding:0 10px}}
.vtp-program{border-left:5px solid var(--vtp-red);background:#fffafa;border-radius:14px;padding:14px 16px;margin:10px 0;border-top:1px solid #f0e3e5;border-right:1px solid #f0e3e5;border-bottom:1px solid #f0e3e5}.vtp-program span{display:inline-block;margin-left:10px;color:var(--vtp-red);font-weight:800}.vtp-program h3{margin:6px 0 0}.vtp-shift{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid #f0e3e5;border-radius:14px;padding:14px;margin:10px 0;background:#fffafa}.vtp-shift.full{opacity:.65}.vtp-shift form{display:flex;gap:8px;flex-wrap:wrap}.vtp-shift input{padding:8px;border:1px solid #ddd;border-radius:8px}.vtp-shift button{background:var(--vtp-red);color:#fff;border:0;border-radius:8px;padding:9px 12px;font-weight:800;cursor:pointer}@media(max-width:700px){.vtp-shift{grid-template-columns:1fr}.vtp-shift form{display:grid}.vtp-shift input,.vtp-shift button{width:100%}}

.vtp-leader-simple{max-width:420px;margin:40px auto;padding:24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.vtp-leader-simple section{background:#fff;border:1px solid #eee;border-radius:16px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.vtp-leader-simple h1{margin:0 0 10px;font-size:28px}.vtp-leader-simple label{display:block;font-weight:700;margin-top:20px}.vtp-leader-simple input{box-sizing:border-box;width:100%;font-size:28px;letter-spacing:.3em;text-align:center;padding:12px;border:1px solid #ccc;border-radius:10px}.vtp-leader-simple button{width:100%;margin-top:18px;padding:14px;border:0;border-radius:10px;background:#b4001c;color:#fff;font-weight:800;font-size:16px;cursor:pointer}

.vtp-final-placements{background:linear-gradient(135deg,#fff,#fff7f7);border-color:#f0d2d7}
.vtp-podium{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:16px}
.vtp-place{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #eee;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.vtp-place-icon{font-size:42px;line-height:1;width:58px;text-align:center}
.vtp-place strong{display:block;color:#b4001c;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.vtp-place span{display:block;font-size:22px;font-weight:800;color:#222;margin-top:3px}
.vtp-place-1{border-color:#f4d06f;background:linear-gradient(135deg,#fff9df,#fff)}
.vtp-place-2{border-color:#d7d7d7;background:linear-gradient(135deg,#f7f7f7,#fff)}
.vtp-place-3{border-color:#d6a66f;background:linear-gradient(135deg,#fff1df,#fff)}
.vtp-final-table{margin-top:18px}
.vtp-helper-summary{margin:0 0 16px;padding:12px;border-radius:10px;background:#f6f7f7}.vtp-shift.full form{display:none}.vtp-shift.full{opacity:.75}

/* v2.41 Turnieranmeldung */
.vtp-registration-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.vtp-registration-form input{min-width:260px;border:1px solid #ddd;border-radius:10px;padding:12px}.vtp-registration-form button{background:#b4001c;color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:800}.vtp-ok{background:#f0fff4;border:1px solid #77c991;color:#075d23;border-radius:12px;padding:10px 12px;margin:0 0 12px;font-weight:800}
