:root{--ink:#0a0f1f;--ink2:#111a2e;--paper:#f5f6f8;--card:#fff;--muted:#6f7b8e;--line:#e1e5ea;--accent:#ff5a36;--accent2:#ff7454;--lime:#d9ff52;--green:#238a4b;--greenSoft:#eff9f2;--red:#c9152d;--redSoft:#fff0f2;--blue:#4263eb;--shadow:0 18px 55px rgba(10,15,31,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.brandMark{width:44px;height:44px;border-radius:14px;background:var(--lime);display:grid;grid-template-columns:repeat(3,5px);gap:3px;place-content:center;transform:skew(-8deg);box-shadow:0 10px 30px rgba(217,255,82,.12)}.brandMark i{display:block;width:5px;height:20px;background:var(--ink);border-radius:2px}.brandMark i:nth-child(2){height:28px}.brandMark i:nth-child(3){height:15px}.brandMark.small{width:32px;height:32px;border-radius:10px;grid-template-columns:repeat(3,4px);gap:2px}.brandMark.small i{width:4px;height:14px}.brandMark.small i:nth-child(2){height:20px}.brandMark.small i:nth-child(3){height:10px}
.primaryButton,.secondaryButton,.headerButton,.iconButton{border:0;border-radius:11px;font-weight:800;transition:.18s}.primaryButton{background:var(--accent);color:#fff;padding:12px 16px;box-shadow:0 10px 25px rgba(255,90,54,.18)}.primaryButton:hover{background:var(--accent2);transform:translateY(-1px)}.primaryButton.compact{padding:10px 12px;font-size:12px}.secondaryButton,.headerButton{background:#fff;border:1px solid var(--line);color:#354157;padding:10px 13px}.secondaryButton:hover,.headerButton:hover{border-color:#c7ced7;background:#fafbfc}.iconButton{width:34px;height:34px;background:#fff;border:1px solid var(--line);color:#667286}
.authScreen{position:fixed;inset:0;z-index:500;background:radial-gradient(circle at 75% 20%,#2634a1 0,transparent 28%),radial-gradient(circle at 15% 80%,#71291e 0,transparent 28%),var(--ink);display:grid;place-items:center;padding:24px}.authShell{width:min(450px,100%);background:#fff;border-radius:25px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.38)}.authBrand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.authBrand>div{display:grid;line-height:1}.authBrand strong{font:700 21px Space Grotesk}.authBrand small{font-size:9px;color:#8792a3;letter-spacing:.12em;text-transform:uppercase;margin-top:5px}.authTabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f3f5;border-radius:11px;padding:4px;margin-bottom:24px}.authTabs button{border:0;background:transparent;padding:9px;border-radius:8px;font-size:12px;font-weight:800;color:#7c8798}.authTabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(10,15,31,.07)}.authForm h1{font:700 30px Space Grotesk;letter-spacing:-.04em;margin:0 0 6px}.authForm>p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.6}.authForm label,.dialogCard label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#667286;text-transform:uppercase;letter-spacing:.05em;margin:11px 0}.authForm input,.dialogCard input,.dialogCard select{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 12px;outline:0;color:var(--ink);text-transform:none;letter-spacing:0}.authForm input:focus,.dialogCard input:focus,.dialogCard select:focus{border-color:#9ea8b5;box-shadow:0 0 0 3px rgba(66,99,235,.07)}.authForm .primaryButton{width:100%;margin-top:8px}.authTextButton{display:block;width:100%;border:0;background:transparent;color:#667286;padding:10px 6px 2px;font-size:11px;font-weight:800;text-align:center}.authTextButton:hover{color:var(--ink);text-decoration:underline}.authTabs.hidden{display:none!important}.authStatus,.dialogStatus{min-height:22px;margin-top:10px;font-size:11px;font-weight:700;color:var(--red)}.authStatus.ok,.dialogStatus.ok{color:var(--green)}.authFoot{display:block;text-align:center;color:#9aa4b1;font-size:9px;margin-top:16px}.auth-locked .topbar,.auth-locked #mainApp{display:none}
.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.topbarInner{max-width:1220px;min-height:58px;margin:auto;padding:8px 18px;display:flex;align-items:center;gap:18px}.appBrand{display:flex;align-items:center;gap:9px}.appBrand strong{font:700 16px Space Grotesk}.groupSwitch{display:flex;align-items:center;gap:7px}.groupSwitch label{font-size:9px;font-weight:800;color:#8b95a3;text-transform:uppercase;letter-spacing:.08em}.groupSwitch select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 30px 7px 9px;font-size:11px;font-weight:800;color:#2b3950;max-width:220px}.topActions{margin-left:auto;display:flex;align-items:center;gap:6px}.headerButton{padding:7px 9px;font-size:10px}.onlineBadge{display:flex;align-items:center;gap:6px;color:#637084;font-size:9px;font-weight:800;background:#f7f9f8;border:1px solid var(--line);border-radius:999px;padding:7px 9px}.onlineBadge i{width:7px;height:7px;background:#2fb469;border-radius:50%;box-shadow:0 0 0 4px rgba(47,180,105,.08)}
main{max-width:1220px;margin:auto;padding:24px 18px 60px}.groupHero{position:relative;background:var(--ink);color:#fff;border-radius:24px;padding:28px 30px;overflow:hidden;display:flex;justify-content:space-between;gap:24px;align-items:flex-end;box-shadow:0 24px 70px rgba(10,15,31,.16)}.groupHero:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-150px;top:-190px;background:radial-gradient(circle,#526aff 0,transparent 70%);opacity:.55}.groupHero:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;left:35%;bottom:-210px;background:radial-gradient(circle,#ff5a36 0,transparent 68%);opacity:.55}.heroCopy,.heroActions{position:relative;z-index:2}.hello{font-size:12px;color:#aeb9c9;font-weight:700;margin-bottom:10px}.seasonPill{display:inline-block;background:rgba(217,255,82,.12);border:1px solid rgba(217,255,82,.24);color:var(--lime);padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.groupHero h1{font:700 clamp(35px,5vw,55px)/1 Space Grotesk;letter-spacing:-.055em;margin:12px 0 8px}.groupHero p{margin:0;color:#9eaabd;font-size:12px}.heroActions{display:flex;gap:8px;flex-wrap:wrap}.groupHero .secondaryButton{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}.joinLine{display:flex;align-items:center;gap:8px;margin-top:18px;color:#8390a4;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.codeButton{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;border-radius:8px;padding:6px 8px;font:700 10px Space Grotesk;letter-spacing:.09em}
.statsGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0 22px}.statCard{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 16px;box-shadow:0 5px 20px rgba(10,15,31,.035)}.statCard small{display:block;color:#8d97a5;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.statCard strong{display:inline-block;font:700 27px Space Grotesk;letter-spacing:-.045em;margin-top:8px}.statCard span{color:#9ba4b0;font-size:9px;font-weight:700;margin-left:4px}.statCard.primary{border-top:3px solid var(--ink)}.statCard.warn{border-top:3px solid var(--accent)}.statCard.warn strong{color:var(--accent)}.statCard.money{border-top:3px solid var(--green)}.statCard.money strong{color:var(--green)}
.scheduleShell{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.scheduleHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.sectionLabel{display:block;color:#8d97a5;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.scheduleHead h2,.historyHero h1{font:700 27px Space Grotesk;letter-spacing:-.04em;margin:4px 0 0}.tools{display:flex;gap:10px;align-items:center;margin:18px 0 7px;padding:10px 0;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}.filterGroup{display:flex;gap:5px;flex-wrap:wrap}.filterGroup button{border:1px solid var(--line);background:#fff;color:#617084;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800}.filterGroup button.active{background:var(--ink);border-color:var(--ink);color:#fff}.searchBox{margin-left:auto;display:flex;align-items:center;gap:6px;min-width:230px;border:1px solid var(--line);border-radius:9px;padding:0 9px;color:#9aa4b2}.searchBox input{border:0;outline:0;padding:8px 0;width:100%;font-size:10.5px;background:transparent}.syncInfo{font-size:9px;color:#929dab;text-align:right;margin-bottom:4px}.monthTitle{display:flex;align-items:center;gap:10px;font:700 15px Space Grotesk;color:#2f3d52;margin:24px 0 8px}.monthTitle:after{content:"";height:1px;background:#e4e8ec;flex:1}
.gameCard{position:relative;border:1px solid var(--line);border-radius:15px;padding:14px;margin:8px 0;background:#fff;transition:.18s}.gameCard:hover{border-color:#cbd2db;box-shadow:0 8px 24px rgba(10,15,31,.05)}.gameCard.nextGame{border-color:#9db1c8;box-shadow:0 0 0 2px rgba(43,76,112,.06)}.gameCard.nextGame:before{content:"Nächstes Spiel";position:absolute;right:11px;top:10px;background:var(--ink);color:#fff;padding:4px 7px;border-radius:999px;font-size:7px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.gameCard.allPaid{background:var(--greenSoft);border-color:#b9ddc4}.gameTop{display:grid;grid-template-columns:105px 1fr auto;gap:14px;align-items:center}.gameDate strong{display:block;font:700 15px Space Grotesk}.gameDate span{font-size:9px;color:#8792a1}.fixtureMeta{min-width:0}.fixtureMeta .competition{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#7b8797}.fixtureMeta h3{display:flex;align-items:center;gap:7px;font-size:14px;margin:4px 0;color:#172033}.clubLogo{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;padding:3px;background:#fff}.fixtureMeta p{margin:0;font-size:9px;color:#8a94a2}.fixtureCount{font:700 12px Space Grotesk;color:#677386}.ticketGrid{display:grid;gap:7px;margin-top:13px}.ticketCard{border:1px solid var(--line);border-radius:11px;background:#fafbfc;min-height:94px;overflow:hidden;display:flex;flex-direction:column}.ticketCard.unassigned{cursor:pointer}.ticketCard.unassigned:hover{border-color:#aab5c1;background:#f5f7f9}.ticketHead{display:flex;align-items:center;justify-content:space-between;padding:9px 10px}.ticketHead b{font:700 11px Space Grotesk}.ticketHead small{color:#99a3af;font-size:8px}.ticketCard.assigned{background:var(--ink);border-color:var(--ink);color:#fff}.ticketCard.paid{background:var(--green);border-color:var(--green)}.ticketCard.unpaid{background:#8b1022;border-color:#8b1022}.attendeeInput{margin:0 8px 7px;border:0;border-radius:7px;padding:7px 8px;font-size:10px;font-weight:800;outline:0;color:var(--ink);background:#fff}.ticketActions{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.28)}.ticketActions button,.paidToggle{border:0;background:transparent;color:inherit;padding:7px;font-size:8.5px;font-weight:850}.ticketActions button{border-right:1px solid rgba(255,255,255,.24)}.paidToggle{display:flex;justify-content:center;align-items:center;gap:4px}.paidToggle input{width:13px;height:13px;margin:0;accent-color:#fff}.gameNote{width:100%;border:1px solid var(--line);border-radius:9px;margin-top:8px;padding:8px 9px;min-height:38px;resize:vertical;outline:0;background:#fff;color:#445167;font-size:10px}.gameNote:focus{border-color:#aab5c1}.noGames{padding:35px;text-align:center;color:#8b96a5;font-size:12px}.releaseBtn{width:23px;height:23px;border:1px solid rgba(255,255,255,.28);border-radius:7px;background:rgba(255,255,255,.08);color:inherit;font-weight:900;line-height:1}.releaseBtn:hover{background:rgba(255,255,255,.16)}
.noGroups{max-width:650px;margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:44px;text-align:center;box-shadow:var(--shadow)}.emptyIcon{width:58px;height:58px;border-radius:18px;background:var(--lime);display:grid;place-items:center;margin:auto;font:700 16px Space Grotesk;transform:skew(-7deg)}.noGroups h1{font:700 35px Space Grotesk;letter-spacing:-.04em;margin:18px 0 8px}.noGroups p{color:var(--muted);font-size:13px}.emptyActions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:22px}
.dialog{border:0;padding:0;background:transparent;max-width:none}.dialog::backdrop{background:rgba(4,10,20,.62);backdrop-filter:blur(4px)}.dialogCard{width:min(510px,calc(100vw - 28px));max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:23px;box-shadow:0 35px 100px rgba(0,0,0,.3)}.dialogCard.small{width:min(430px,calc(100vw - 28px))}.dialog.wide .dialogCard{width:min(820px,calc(100vw - 28px))}.dialogHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:17px}.dialogHead small{font-size:9px;color:#8a95a5;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.dialogHead h3{font:700 25px Space Grotesk;letter-spacing:-.04em;margin:3px 0}.closeButton{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#758095;font-size:20px}.dialogCard label span{font-weight:500;text-transform:none;letter-spacing:0}.prefixInput,.suffixInput{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.prefixInput span,.suffixInput span{padding:0 10px;color:#8994a3;font-size:10px;font-weight:800}.prefixInput input,.suffixInput input{border:0!important;border-radius:0!important;box-shadow:none!important}.suffixInput span{margin-left:auto}.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settingsGrid section,.ticketSettings,.membersSettings{border:1px solid var(--line);border-radius:14px;padding:15px}.settingsGrid h4,.ticketSettings h4,.membersSettings h4{font:700 15px Space Grotesk;margin:0 0 10px}.ticketSettings,.membersSettings{margin-top:12px}.settingsSectionHead p{margin:3px 0 12px;color:#8792a1;font-size:9px}.ticketList{display:grid;gap:6px}.ticketSettingRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#f6f8fa;border:1px solid var(--line);border-radius:9px;padding:9px}.ticketSettingRow b{font-size:11px}.ticketSettingRow small{display:block;color:#8d97a5;font-size:8px;margin-top:2px}.dangerButton{border:0;background:#fff0f2;color:#ae1830;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:900}.newTicketRow{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;margin-top:9px}.newTicketRow input{margin:0!important;padding:9px!important}.memberRow{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid #edf0f2}.memberRow:first-child{border-top:0}.memberRow b{font-size:10px}.memberRow span{font-size:8px;text-transform:uppercase;color:#8b96a5;font-weight:850}.paymentContext{background:#f5f7f9;border:1px solid var(--line);border-radius:10px;padding:11px 12px}.paymentContext b{display:block;font-size:12px}.paymentContext span{display:block;color:#7c8797;font-size:9px;margin-top:4px}.paymentPreview{background:#eef7ff;border:1px solid #cfe3f2;color:#284b65;border-radius:10px;padding:12px;font-size:10px;white-space:pre-line;line-height:1.55}.dialogActions{display:flex;gap:7px;margin-top:12px}.dialogActions>*{flex:1}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800;z-index:1000;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.historyPage{max-width:1050px}.historyHero{background:var(--ink);color:#fff;border-radius:22px;padding:28px;margin-bottom:13px}.historyHero p{color:#9faabd;font-size:12px;max-width:700px}.historyTools{display:flex;gap:8px;margin:12px 0}.historyTools select,.historyTools input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 10px;font-size:10px}.historyTools input{flex:1}.historyList{display:grid;gap:8px}.historyEntry,.loadingCard{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.historyEntryHead{display:flex;justify-content:space-between;gap:12px}.historyEntryHead b{font-size:11px}.historyEntryHead span{font-size:9px;color:#8b96a5}.historyBadge{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:999px;background:#f0f3f6;color:#687487;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.historyText{margin-top:9px;color:#425065;font-size:10px;line-height:1.55}.historyDiff{margin-top:7px;background:#f7f9fa;border-radius:8px;padding:8px;color:#687487;font-size:9px;white-space:pre-wrap}.loadingCard{text-align:center;color:#8b96a5}
@media(max-width:950px){.statsGrid{grid-template-columns:repeat(3,1fr)}.topbarInner{flex-wrap:wrap}.topActions{margin-left:0}.onlineBadge{display:none}.ticketGrid{grid-template-columns:repeat(2,1fr)!important}.settingsGrid{grid-template-columns:1fr}}
@media(max-width:650px){.topbarInner{padding:7px 10px;gap:8px}.appBrand strong{display:none}.groupSwitch{flex:1}.groupSwitch label{display:none}.groupSwitch select{max-width:none;width:100%}.headerButton{padding:6px 7px;font-size:8px}.topActions #settingsBtn{display:none}main{padding:13px 9px 45px}.groupHero{padding:22px;display:block}.heroActions{margin-top:18px}.groupHero h1{font-size:38px}.statsGrid{grid-template-columns:1fr 1fr;gap:7px}.statCard.money{grid-column:1/-1}.scheduleShell{padding:13px;border-radius:16px}.scheduleHead{align-items:flex-start}.scheduleHead h2{font-size:20px}.scheduleHead .secondaryButton{padding:8px;font-size:9px}.tools{display:block}.filterGroup{margin-bottom:8px}.filterGroup button{padding:7px 8px;font-size:9px}.searchBox{min-width:0;margin-left:0}.gameTop{grid-template-columns:78px 1fr;gap:8px}.fixtureCount{display:none}.gameCard.nextGame:before{display:none}.ticketGrid{grid-template-columns:1fr 1fr!important}.ticketHead{padding:8px}.attendeeInput{font-size:9px}.newTicketRow{grid-template-columns:1fr 1fr 1fr}.newTicketRow .primaryButton{grid-column:1/-1}.historyTools{display:grid;grid-template-columns:1fr}.authShell{padding:22px}.dialogCard{padding:18px}}

/* SeasonCrew mobile auth scroll fix */
.authScreen{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
@media(max-width:700px){
  .authScreen{display:block;overflow-y:auto;overflow-x:hidden;padding:max(16px,env(safe-area-inset-top)) 14px max(32px,env(safe-area-inset-bottom));}
  .authShell{width:100%;max-width:450px;max-height:none;margin:0 auto;padding:20px;border-radius:20px;}
  .authBrand{margin-bottom:16px}.authTabs{margin-bottom:18px}.authForm h1{font-size:26px}.authForm>p{margin-bottom:15px}
  .authFoot{padding-bottom:4px}
}
@media(max-height:700px){
  .authScreen{align-items:start;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));}
  .authShell{margin:0 auto}
}
