:root{--navy:#101d2d;--blue:#0866f5;--blue2:#0052d6;--text:#142033;--muted:#667085;--line:#e1e6ee;--bg:#f7f8fa;--card:#fff;--gold:#f6b900;--silver:#aeb5c1;--bronze:#d98532;--danger:#c62828;--radius:18px;--shadow:0 8px 26px rgba(15,29,45,.07)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;padding-bottom:78px;background:linear-gradient(#fff,#f8f9fb 40%)}button,input{font:inherit}.topbar{height:76px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,34px);position:sticky;top:0;z-index:20;box-shadow:0 3px 12px rgba(0,0,0,.16)}.brand{color:#fff;text-decoration:none;font-size:2rem;font-weight:900;letter-spacing:-.05em;display:flex;align-items:center}.brand sup{color:var(--gold);font-size:.55em;top:-.55em;position:relative}.brand .basket{color:var(--gold);font-size:.78em;margin-left:8px;transform:rotate(180deg)}.top-actions{display:flex;gap:8px}.page-shell{width:min(720px,100%);margin:0 auto;padding:17px 14px 28px}.admin-shell{width:min(980px,100%)}.event-strip{display:flex;gap:10px;justify-content:center;align-items:center;white-space:nowrap;overflow:hidden;font-size:.92rem;margin:0 0 14px;color:#354052;min-height:32px}.event-strip .divider{color:#adb4bf}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}.compact-card{box-shadow:none}.form-card{padding:19px 20px}.form-card h2{font-size:1.2rem;margin:0 0 18px}.person-icon{display:inline-block;color:var(--blue);font-size:.9em;margin-right:8px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:16px 18px 11px}.section-head h1,.section-head h2{font-size:1.2rem;margin:0}.section-head span{font-size:.78rem;color:var(--text);text-align:right;white-space:nowrap}.section-head span b{margin-left:12px}.ranking-list{padding:0 8px 8px}.rank-row{min-height:57px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;border-top:1px solid var(--line);padding:0 14px 0 0;gap:10px}.rank-number{font-size:1.5rem;height:100%;display:grid;place-items:center}.rank-name{font-weight:750}.trophy{font-size:.85em;margin-right:8px}.rank-1{background:linear-gradient(90deg,#fff3b7,#fffaf0)}.rank-2{background:linear-gradient(90deg,#edf0f4,#fff)}.rank-3{background:linear-gradient(90deg,#fde1c7,#fff)}.rank-1 .rank-number{background:#f7b800;color:#fff}.rank-2 .rank-number{background:#b6bcc6;color:#fff}.rank-3 .rank-number{background:#e18b37;color:#fff}.rank-1 .trophy{color:#d99d00}.rank-2 .trophy{color:#969eaa}.rank-3 .trophy{color:#cc7528}.stack{display:grid;gap:16px}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px}.grid-form .btn{align-self:end}.stack label,.grid-form label{font-weight:750;display:grid;gap:7px}.check-label{display:flex!important;align-items:center;gap:8px!important}.check-label input{width:auto}input{width:100%;border:1px solid #ccd3de;border-radius:10px;padding:13px 14px;background:#fff;color:var(--text);outline:none;min-height:49px}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,102,245,.13)}.input-unit{position:relative}.input-unit input{padding-right:52px}.input-unit span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:800}.btn{border:0;border-radius:10px;padding:12px 17px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btn-secondary{background:#edf1f6;color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:rgba(255,255,255,.1);color:#fff}.btn-small{font-size:.9rem;padding:10px 14px}.btn-wide{width:100%;min-height:52px}.button-row{display:flex;gap:10px;justify-content:flex-end}.button-row.compact{align-items:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-top:1px solid var(--line);white-space:nowrap}th{font-size:.8rem;background:#fafbfc}.podium-1{background:#fff8d8}.podium-2{background:#f3f4f6}.podium-3{background:#fff0e3}.podium-1 .place-number,.podium-1 .trophy{color:#d39a00}.podium-2 .place-number,.podium-2 .trophy{color:#969eaa}.podium-3 .place-number,.podium-3 .trophy{color:#cc7528}.row-actions{display:flex;gap:5px}.icon-btn{border:0;border-radius:8px;background:#edf1f6;padding:7px 10px;cursor:pointer;font-weight:900}.icon-btn.danger{color:var(--danger)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:72px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;z-index:15}.bottom-nav a{width:min(220px,50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#667085;font-size:1.35rem;font-weight:800}.bottom-nav span{font-size:.76rem;margin-top:2px}.bottom-nav .active{color:var(--blue)}.modal{position:fixed;inset:0;background:rgba(10,18,29,.55);z-index:50;display:grid;place-items:center;padding:18px}.modal[hidden]{display:none}.modal-card{background:#fff;border-radius:18px;padding:22px;width:min(430px,100%);box-shadow:0 24px 70px rgba(0,0,0,.25)}.modal-card h2{margin:0 0 10px}.modal-card p{line-height:1.5}.modal-open{overflow:hidden}.muted{color:var(--muted)}.pad{padding:14px}.empty-state{text-align:center;background:#fff;border-radius:18px;padding:36px 20px}.event-list{padding:0 12px 12px}.event-admin-row{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--line);padding:14px 8px}.event-admin-row small{display:block;color:var(--muted);margin-top:4px}.event-admin-row.is-active{border-left:4px solid var(--blue);padding-left:12px}.event-url{display:inline-block;margin-top:7px;font-size:.82rem;color:var(--blue);text-decoration:none}.login-page{padding:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#213a5a,var(--navy) 55%)}.login-shell{width:min(430px,100%);padding:20px}.login-card{background:#fff;border-radius:22px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.brand-dark{color:var(--navy);margin-bottom:22px}.login-card h1{margin-bottom:6px}.alert{padding:12px 14px;border-radius:10px;margin:16px 0}.alert-error{background:#ffeded;color:#9c1c1c}@media(max-width:600px){.topbar{height:68px;padding-left:12px;padding-right:12px}.brand{font-size:1.58rem;flex:0 0 auto}.brand .icon-basket{margin-left:6px}.top-actions{gap:5px;min-width:0}.admin-link{display:inline-flex;padding:9px 10px;font-size:.78rem;white-space:nowrap}.top-actions .btn-small{padding:9px 10px;font-size:.78rem;white-space:nowrap}.page-shell{padding:11px 12px 24px}.event-strip{justify-content:flex-start;font-size:.82rem;gap:7px;margin-bottom:10px}.section-head{padding:13px 12px 9px}.section-head h1{font-size:1.12rem}.section-head span{font-size:.7rem}.ranking-list{padding:0 7px 7px}.rank-row{min-height:51px;grid-template-columns:48px 1fr auto;padding-right:11px;font-size:.92rem}.rank-number{font-size:1.35rem}.form-card{padding:16px}.form-card h2{font-size:1.08rem}.grid-form{grid-template-columns:1fr;padding:0 16px 16px}.event-admin-row{align-items:flex-start;flex-direction:column}.table-wrap table{font-size:.82rem}th,td{padding:12px 8px}.row-actions{padding-left:3px;padding-right:3px}.leaderboard-card{margin-bottom:13px}}

/* Eigene SVG-Icons */
.icon{display:inline-block;width:1.1em;height:1.1em;flex:0 0 auto;background-color:currentColor;vertical-align:-.18em;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.icon-basket{-webkit-mask-image:url('/assets/icons/disc-golf-basket.svg');mask-image:url('/assets/icons/disc-golf-basket.svg')}
.icon-calendar{-webkit-mask-image:url('/assets/icons/calendar.svg');mask-image:url('/assets/icons/calendar.svg')}
.icon-location{-webkit-mask-image:url('/assets/icons/location.svg');mask-image:url('/assets/icons/location.svg')}
.icon-trophy{-webkit-mask-image:url('/assets/icons/trophy.svg');mask-image:url('/assets/icons/trophy.svg')}
.icon-user{-webkit-mask-image:url('/assets/icons/user.svg');mask-image:url('/assets/icons/user.svg')}
.icon-table{-webkit-mask-image:url('/assets/icons/table.svg');mask-image:url('/assets/icons/table.svg')}
.icon-edit{-webkit-mask-image:url('/assets/icons/edit.svg');mask-image:url('/assets/icons/edit.svg')}
.icon-close{-webkit-mask-image:url('/assets/icons/close.svg');mask-image:url('/assets/icons/close.svg')}
.brand .icon-basket{width:1.15em;height:1.15em;margin-left:9px;color:var(--gold);vertical-align:middle}
.event-strip>span{display:inline-flex;align-items:center;gap:6px}
.event-strip .icon{color:var(--blue);font-size:1.05rem}
.trophy{width:1.15em;height:1.15em;margin-right:7px;vertical-align:-.22em}
.person-icon{color:var(--blue);margin-right:8px;font-size:1.05em}
.btn .icon{font-size:1.05em}
.bottom-nav a>.icon{width:1.35em;height:1.35em;margin-bottom:2px}
.icon-btn{display:inline-grid;place-items:center;min-width:36px;min-height:34px}
.icon-btn .icon{width:1.05em;height:1.05em}
