:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#15243a;background:#f3f6fa;font-synthesis:none;font-size:16px;line-height:1.55;--navy:#101e32;--yellow:#ffcf54;--muted:#53647a;--line:#dce3ec;--blue:#174fb5}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:4px}button,input,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 21px;border:1px solid transparent;border-radius:12px;background:var(--yellow);color:var(--navy);font-weight:750;text-decoration:none;cursor:pointer;text-align:center;line-height:1.4}button:hover,.button:hover{filter:brightness(.96)}:focus-visible{outline:3px solid #2879dc;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.35rem);letter-spacing:-.045em;line-height:1.13;margin-bottom:20px}h2{font-size:1.4rem;letter-spacing:-.025em;line-height:1.3;margin-bottom:14px}h3{font-size:1rem;margin-bottom:8px}p{margin-bottom:18px}small,.hint,.muted{color:var(--muted);font-size:.9rem}.topbar{min-height:102px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:22px max(24px,calc((100vw - 1120px)/2));gap:20px}.brand{display:flex;gap:14px;align-items:center;color:white;font-size:1.55rem;font-weight:850;letter-spacing:.03em;text-decoration:none}.brandmark{width:50px;height:50px;border-radius:14px;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-weight:950;font-size:2rem;transform:rotate(-5deg)}.brand small{display:block;font-size:.65rem;letter-spacing:.13em;font-weight:550;color:#c3cfdf}.avatar{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border:1px solid #607088;border-radius:50%;text-decoration:none;color:#fff}.nav{display:flex;gap:30px;max-width:1120px;margin:auto;border-bottom:1px solid var(--line);padding:0 0}.nav a{font-size:.95rem;text-decoration:none;color:var(--muted);padding:20px 0 16px;border-bottom:3px solid transparent;font-weight:650}.nav a[aria-current]{color:var(--navy);border-color:var(--navy)}main{max-width:1120px;margin:48px auto 80px;min-height:55vh}.eyebrow{display:block;font-size:.78rem;font-weight:800;letter-spacing:.13em;color:var(--muted);margin-bottom:14px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.pagehead h1{margin-bottom:10px}.pagehead>.button{flex-shrink:0}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;margin-bottom:22px;box-shadow:0 5px 16px #162a4603}.tabs{display:flex;gap:12px;margin-bottom:25px;flex-wrap:wrap}.tabs a{font-size:.9rem;text-decoration:none;font-weight:650;padding:10px 18px;border-radius:30px;color:var(--muted)}.tabs a[aria-current]{background:var(--navy);color:white}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.event-card{display:block;color:var(--navy);background:white;border:1px solid var(--line);border-radius:20px;padding:25px;text-decoration:none;transition:transform .15s,border-color .15s}.event-card:hover{transform:translateY(-3px);border-color:#8394ad}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:30px}.date-box{background:#e8f0ff;border-radius:12px;min-width:64px;text-align:center;padding:7px 10px}.date-box strong{display:block;font-size:1.8rem;line-height:1.1}.date-box span{font-size:.75rem;font-weight:800;letter-spacing:.05em}.pill{display:inline-block;font-size:.78rem;font-weight:650;border-radius:30px;padding:6px 10px;background:#edf1f6;line-height:1.4}.event-card p{font-size:.92rem;color:var(--muted);margin-bottom:6px}.card-bottom{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;display:flex;justify-content:space-between;font-size:.9rem}.card-bottom>span:last-child{font-size:1.3rem}.cancelled .pill{color:#9e263a;background:#fff0f1}.empty{text-align:center;padding:62px 25px}.empty-symbol{font-size:3.5rem;color:#a66f00;display:block;margin-bottom:14px}.empty p{max-width:440px;margin:0 auto 25px}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:30px 0}.welcome h1{font-size:clamp(2.5rem,5.5vw,4.3rem);line-height:1.07;margin-bottom:28px}.welcome p{font-size:1.15rem;color:var(--muted)}.season{display:flex;gap:12px;margin-top:40px}.season span{font-size:.8rem;font-weight:800;padding:10px 16px;border:1px solid #b2c2d8;border-radius:50px}.season span+span{background:var(--yellow);border-color:var(--yellow)}.auth{padding:36px}.auth h2{font-size:1.8rem}.auth p{color:var(--muted)}.auth form{margin:24px 0}.auth button{width:100%}form label{display:block;font-size:.9rem;font-weight:650;margin-bottom:19px}input,textarea{display:block;width:100%;border:1px solid #bfcbd9;border-radius:10px;padding:12px 13px;background:#fff;color:var(--navy);margin-top:7px;min-width:0}textarea{resize:vertical}input:focus,textarea:focus{border-color:#2879dc}input[readonly]{background:#f5f7fa;font-size:.9rem}details summary{cursor:pointer;font-weight:650;padding:4px 0;min-height:35px}details[open] summary{margin-bottom:15px}.auth details{font-size:.9rem}.notice{background:#e7f4ef;border:1px solid #9fcebc;border-radius:14px;padding:18px 22px;margin-bottom:25px;overflow-wrap:anywhere}.notice.error{background:#fff0f1;border-color:#eab0ba;color:#8d2435}.back{display:inline-block;text-decoration:none;font-size:.9rem;font-weight:650;margin-bottom:24px}.location{color:var(--muted);font-size:1.1rem;margin-bottom:0}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:25px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.response-form{display:grid;gap:10px}.answer{justify-content:flex-start;background:white;border:1px solid #b8c6d6}.answer.selected{background:var(--navy);color:white;border-color:var(--navy)}.participation{border-top:5px solid var(--yellow)}.count{display:inline-grid;place-items:center;min-width:25px;border-radius:20px;background:#edf1f6;font-size:.8rem;margin-left:6px}.attendees+ .attendees{border-top:1px solid var(--line);padding-top:16px}.attendees p{font-size:.92rem;color:var(--muted)}.comment-form{margin:24px 0}.comment{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.comment-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.comment-head small{font-size:.8rem}.comment p{margin-bottom:5px}.text-button{background:none;border:none;min-height:44px;padding:8px 0;color:var(--muted);font-size:.9rem}.secondary{background:white;border:1px solid #b8c6d6}.danger{color:#9e263a}.form-panel{max-width:800px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cancel-form{margin-top:28px}.member{display:flex;align-items:center;justify-content:space-between;gap:22px}.member h2{font-size:1.15rem;margin-bottom:5px}.member p{font-size:.9rem;color:var(--muted);margin-bottom:12px;overflow-wrap:anywhere}.member-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.member-actions button{font-size:.85rem}footer{max-width:1120px;margin:0 auto;padding:25px 0 35px;border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;font-size:.85rem;font-weight:800;color:var(--muted)}footer>span{font-weight:400}.secret{margin-left:auto;position:relative}.secret summary{list-style:none}.secret p{position:absolute;right:0;bottom:40px;background:var(--navy);color:white;border-radius:12px;padding:15px;width:250px;font-weight:400}.skip{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}@media(max-width:1190px){main,.nav,footer{margin-left:24px;margin-right:24px}}@media(max-width:850px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{gap:28px}.detail-grid{grid-template-columns:1fr}.detail-grid aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.member{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.topbar{min-height:86px;padding:18px 20px}.brand{font-size:1.35rem}.brand small{font-size:.55rem;letter-spacing:.08em}.brandmark{width:43px;height:43px;font-size:1.7rem}main{margin:30px 18px 50px}.nav{margin:0 18px;gap:20px}.nav a{font-size:.84rem;padding:18px 0 13px}.pagehead{align-items:flex-start;flex-direction:column}.pagehead>.button{width:100%}.event-grid{grid-template-columns:1fr}.event-card{padding:22px}.auth-layout{grid-template-columns:1fr;padding-top:0;gap:24px}.welcome h1{font-size:2.65rem}.welcome p,.season{display:none}.welcome h1{margin:0}.welcome .eyebrow{font-size:.7rem}.panel,.auth{padding:23px;border-radius:16px}.detail-grid aside{display:block}.form-grid{grid-template-columns:1fr;gap:0}.member-actions{gap:10px}.member-actions button{padding:10px 14px}footer{margin:0 18px;font-size:.8rem;gap:10px}.comment-head{display:block}.comment-head small{display:block;margin-top:4px}.tabs{gap:2px}.tabs a{padding:9px 13px}.notice{padding:16px}.empty{padding:40px 20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* WSSV 2 · Alpine blue, beach turquoise and Aperol orange. */
:root{--navy:#09233b;--yellow:#ff853b;--blue:#086a8e;--muted:#496377;--line:#d2e1e9;background:#edf5f8;color:var(--navy)}
body{background:linear-gradient(180deg,#09233b 0,#09233b 182px,#edf5f8 182px,#edf5f8 100%)}
.topbar{background:#09233b;min-height:118px;padding-top:16px;padding-bottom:16px;border-top:5px solid #ff853b}.brand-logo{display:block;object-fit:contain;border-radius:50%;background:#fff;flex-shrink:0;width:76px;height:76px;box-shadow:0 0 0 3px #fff,0 0 0 5px #1c6d96}.brand{font-size:2rem;gap:20px}.brand small{color:#91dcec;letter-spacing:.16em;font-size:.7rem;margin-top:1px}.nav{border-color:#345069;min-height:64px}.nav a{color:#c5dbe9}.nav a[aria-current]{color:#fff;border-color:#ff853b}.avatar{background:#153950;border-color:#5f8b9d}
h1 em{font-style:normal;color:#cb4b10}.pagehead .intro{color:var(--muted);font-size:1rem;margin:4px 0 0}.eyebrow{color:#26718a;font-weight:850}.panel{box-shadow:0 8px 25px #09233b05}.button,button{border-radius:10px;background:#ff853b;color:#122335}.button:hover,button:hover{background:#ff9a5c;filter:none}.secondary{background:#fff}.text-button{background:transparent}.tabs a[aria-current]{background:#0a5671}.event-card{position:relative;overflow:hidden;border:0;box-shadow:0 7px 28px #1238500a;padding-top:30px}.event-card:before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:#1b88b1}.event-card:nth-child(3n+2):before{background:#eb7832}.event-card:nth-child(3n+3):before{background:#20a1a3}.date-box{background:#e2f3fc;color:#07597c}.event-card:nth-child(3n+2) .date-box{background:#fff0df;color:#a53b08}.event-card:nth-child(3n+3) .date-box{background:#dff6f2;color:#146b69}.pill{background:#e8f2f6;color:#2b596b}.card-top{margin-bottom:24px}.event-card h2{font-size:1.5rem}.card-bottom{border-color:#e2edf2}.card-bottom>span:last-child{display:grid;place-items:center;width:32px;height:32px;background:#fff0df;border-radius:50%;color:#af4e13}.participation{border-top-color:#ff853b}.answer{background:#f7fafc;color:#14374d}.answer.selected{background:#075e75;color:white;border-color:#075e75}.answer:hover{background:#dfedf1}.answer.selected:hover{background:#075e75}.welcome-logo{border-radius:50%;display:block;width:240px;height:240px;object-fit:contain;margin:0 0 25px;box-shadow:0 10px 35px #08253c20}.welcome h1{font-size:3.65rem}.welcome .eyebrow{color:#2b6b85}.auth-layout{padding-top:0;gap:65px;align-items:center}.auth-layout .auth{border-top:5px solid #ff853b}.season{flex-wrap:wrap;gap:8px;margin-top:25px}.season span{font-size:.7rem;padding:8px 11px;background:#e2f1f8;border-color:#b7d8e7}.season span+span{background:#dff5ee;border-color:#a7d8cd}.season span:last-child{background:#ffe9da;border-color:#f5bb91}.member{flex-wrap:wrap;align-items:flex-start}.member>div:first-child{flex:1;min-width:220px}.member-edit{flex:1;min-width:210px;background:#f1f7fa;border-radius:12px;padding:12px 16px}.member-actions{flex-basis:100%}.member-meta{font-size:.85rem!important}.member-edit input{background:#fff}.member-edit summary{color:#08657f}.secret summary{font-size:1.3rem}footer{border-color:#bed4df}body:has(.auth-layout) main{margin-top:55px}body:has(.auth-layout){background:#edf5f8}#push-panel{border-left:5px solid #168f99}
@media(max-width:600px){body{background:linear-gradient(180deg,#09233b 0,#09233b 159px,#edf5f8 159px,#edf5f8 100%)}.topbar{min-height:99px;padding:14px 20px}.brand-logo{width:59px;height:59px}.brand{gap:14px;font-size:1.65rem}.brand small{font-size:.56rem}.nav{min-height:60px;gap:21px}.nav a{padding-top:16px;padding-bottom:14px}.welcome-logo{width:152px;height:152px;margin:0 auto 22px}.welcome{text-align:center}.welcome h1{font-size:2.7rem}.welcome .eyebrow{margin-bottom:10px}.welcome p{display:block;font-size:.95rem;margin:17px 0 0}.auth-layout{gap:26px}.auth-layout .season{display:none}body:has(.auth-layout) main{margin-top:28px}.pagehead h1{font-size:2.35rem}.member-edit{width:100%;min-width:0;flex:auto}.member>div:first-child{min-width:0}.event-card h2{font-size:1.4rem}}
.remember{display:flex;align-items:center;gap:10px;font-weight:600}.remember input{width:20px;height:20px;margin:0;accent-color:#086a8e;flex-shrink:0}button:disabled{opacity:.55;cursor:default}

/* Admin & Benutzerverwaltung V2: only new controls; existing theme unchanged. */
.request-badge{display:inline-flex;align-items:center;justify-content:center;min-width:23px;min-height:23px;padding:2px 7px;margin-left:4px;background:var(--yellow);color:var(--navy);border-radius:20px;font-size:.8rem;font-weight:800;line-height:1.2}.request-badge[hidden]{display:none}.last-active{margin-top:14px!important;margin-bottom:0!important;font-size:.85rem!important}.rights-editor select{display:block;width:100%;margin-top:7px;padding:10px 12px;border:1px solid #bfcbd9;border-radius:10px;background:#fff;color:var(--navy);font:inherit}.delete-member{flex-basis:100%;max-width:600px;border-top:1px solid var(--line);padding-top:12px}.delete-member summary{font-size:.9rem}.delete-member[open]{padding:18px;border:1px solid #eab0ba;border-radius:12px;background:#fff8f8}.delete-member p{font-size:.9rem}:is(#request-dialog,#member-notice-dialog){width:min(480px,calc(100vw - 36px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-top:5px solid var(--yellow);border-radius:18px;padding:28px;color:var(--navy);background:#fff;box-shadow:0 20px 70px #09233b40}:is(#request-dialog,#member-notice-dialog)::backdrop{background:#09233b88}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}#request-names{padding-left:22px;overflow-wrap:anywhere}

/* Profil-Auswahl passend zu den bestehenden Formularfeldern. */
#push-panel select{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #bfcbd9;border-radius:10px;background:#fff;color:var(--navy);font:inherit;min-width:0}

/* Spontantreffen: bestehende Farben, Karten und Formulare weiterverwenden. */
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.aperol-start,.aperol-count{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:48px;min-height:44px;padding:6px 10px;border:1px solid #5f8b9d;border-radius:12px;text-decoration:none;color:#fff;background:#153950;font-weight:800}.aperol-start{background:#ff853b;color:#09233b;border-color:#ff853b}.aperol-start span{display:inline-block;transition:transform .25s ease}.aperol-start:hover span{transform:rotate(-12deg)}.aperol-count [data-sp-count]{font-size:.85rem}.sp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.sp-grid{margin-top:24px}.sp-card{margin:0;overflow-wrap:anywhere}.sp-names{font-weight:750}.sp-person{padding:18px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.sp-person .hint{margin-bottom:8px}.sp-person .button{font-size:.85rem}.sp-participants{margin-top:24px}.sp-card p{margin-bottom:12px}#sp-messages{max-height:420px;overflow:auto;margin-bottom:18px}#sp-app [hidden]{display:none!important}.topbar{flex-wrap:wrap}.topbar+.nav{max-width:none;background:var(--navy);padding-inline:max(18px,calc((100vw - 1120px)/2))}#sp-status{overflow-wrap:anywhere}
@media(max-width:600px){.topbar{gap:10px;padding-inline:16px}.topbar .brand{font-size:1.3rem;gap:10px}.topbar .brand-logo{width:48px;height:48px}.topbar .brand small{font-size:.48rem}.header-actions{gap:5px}.aperol-start,.aperol-count{min-width:42px;padding:5px 7px}.header-actions .avatar{width:36px;height:36px}.sp-grid{grid-template-columns:1fr}.sp-actions button,.sp-actions .button{flex:1;min-width:130px}}
@media(prefers-reduced-motion:reduce){.aperol-start span{transition:none}.aperol-start:hover span{transform:none}}

/* Getränke-Strichlisten: vier senkrechte Striche, fünfter von links unten nach rechts oben. */
.sp-drink-picker{margin:1rem 0;padding:1rem;border:1px solid var(--line,#dedbd6);border-radius:16px}
.sp-drink-picker[hidden]{display:none}
.sp-drink-tallies{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:.6rem 0}
.sp-drink-tally{display:flex;align-items:center;flex-wrap:wrap;gap:7px;max-width:100%}
.sp-tally-group{position:relative;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 3px;flex-shrink:0}
.sp-tally-stroke{display:block;width:2px;height:21px;background:currentColor;border-radius:2px}
.sp-tally-cross{position:absolute;left:0;top:50%;width:31px;height:2px;background:currentColor;transform:rotate(-36deg);transform-origin:center;border-radius:2px}

.sp-home[hidden]{display:none}.sp-home{border-left:4px solid var(--orange,#ef8945)}.sp-home h2{font-size:1.3rem}.sp-home .sp-drink-picker{margin-bottom:0}.sp-chat-photo{display:block;max-width:480px;margin:.7rem 0}.sp-chat-photo img{display:block;width:auto;max-width:100%;max-height:340px;border-radius:12px;object-fit:contain}.sp-photo-select{margin-top:1rem}.sp-photo-select input{max-width:100%}
