:root{
  --night: #12213A; --night-2: #1B3054;
  --sand: #F2E4C9; --coral: #FF6B4A; --coral-2: #E85A3A;
  --sea: #2BA89D; --ink: #16202E; --paper: #FDF8EE;
  --line: rgba(253,248,238,0.14);
}
*{box-sizing:border-box;}
body{margin:0;background:radial-gradient(1200px 600px at 15% -10%, var(--night-2), transparent 60%),var(--night);
  color:var(--paper);font-family:'Space Grotesk', sans-serif;min-height:100vh;padding-bottom:60px;}
.wrap{max-width:840px;margin:0 auto;padding:20px 20px 0;}

/* Nav */
.topnav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:10px;}
.topnav .brand{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.03em;color:var(--paper);text-decoration:none;}
.topnav .brand span{color:var(--coral);}
.topnav .links{display:flex;gap:18px;}
.topnav .links a{color:rgba(253,248,238,0.65);text-decoration:none;font-size:13px;font-weight:600;}
.topnav .links a:hover{color:var(--paper);}

.header{position:relative;padding:12px 0 28px;border-bottom:1px solid var(--line);}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sea);font-weight:600;}
h1{font-family:'Bebas Neue', sans-serif;font-size:52px;letter-spacing:.02em;margin:4px 0 6px;line-height:.95;color:var(--paper);}
h1 span{color:var(--coral);}
.sub{color:rgba(253,248,238,0.65);font-size:14px;max-width:560px;}

.tabs{display:flex;gap:6px;margin:26px 0 24px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.tab{background:none;border:none;color:rgba(253,248,238,0.55);font-family:inherit;font-weight:600;font-size:14px;
  padding:10px 4px;margin-right:22px;cursor:pointer;border-bottom:2px solid transparent;transition:.15s;}
.tab.active{color:var(--paper);border-bottom-color:var(--coral);}
.tab:hover{color:var(--paper);}
.panel{display:none;} .panel.active{display:block;animation:fade .25s ease;}
@keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

.card{background:var(--sand);color:var(--ink);border-radius:14px;padding:22px;margin-bottom:16px;box-shadow:0 10px 30px rgba(0,0,0,0.25);}
.card h2{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.02em;margin:0 0 4px;}
.card .hint{font-size:13px;color:rgba(22,32,46,0.6);margin:0 0 16px;}

label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:rgba(22,32,46,0.55);margin-bottom:5px;margin-top:12px;}
input[type=text],input[type=password],input[type=email],input[type=tel],textarea{
  width:100%;padding:10px 12px;border-radius:8px;border:1.5px solid rgba(22,32,46,0.15);
  background:var(--paper);font-family:inherit;font-size:14px;color:var(--ink);}
textarea{resize:vertical;min-height:60px;}
input:focus,textarea:focus{outline:none;border-color:var(--coral);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

button.primary{margin-top:18px;background:var(--coral);color:var(--paper);border:none;padding:11px 20px;border-radius:8px;
  font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:.15s;}
button.primary:hover{background:var(--coral-2);}
button.primary:disabled{background:rgba(22,32,46,0.2);cursor:not-allowed;}
button.secondary{margin-top:10px;background:none;border:1.5px solid rgba(22,32,46,0.25);color:var(--ink);
  padding:8px 14px;border-radius:8px;font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;}
button.secondary:hover{border-color:var(--ink);}

.team-list{list-style:none;padding:0;margin:14px 0 0;}
.team-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(22,32,46,0.1);font-size:14px;}
.team-list li:last-child{border-bottom:none;}
.team-list .players{color:rgba(22,32,46,0.55);font-size:12px;}
.team-list a{color:var(--ink);text-decoration:none;font-weight:600;}
.team-list a:hover{color:var(--coral-2);}
.remove-btn{background:none;border:none;color:var(--coral-2);cursor:pointer;font-size:13px;font-weight:600;}

table{width:100%;border-collapse:collapse;margin-top:10px;}
th,td{text-align:left;padding:9px 8px;font-size:13px;}
th{text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:rgba(22,32,46,0.5);border-bottom:1.5px solid rgba(22,32,46,0.2);}
td{border-bottom:1px solid rgba(22,32,46,0.08);}
.num{text-align:center;font-family:'Bebas Neue',sans-serif;font-size:17px;}

.match{padding:14px 0;border-bottom:1px solid rgba(22,32,46,0.1);}
.match:last-child{border-bottom:none;}
.match-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.match .teams{font-weight:600;font-size:14px;}
.status{font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:20px;white-space:nowrap;}
.status.open{background:rgba(255,107,74,0.15);color:var(--coral-2);}
.status.partial{background:rgba(43,168,157,0.12);color:#1c7167;}
.status.done{background:rgba(43,168,157,0.22);color:#155852;}

select{padding:8px 10px;border-radius:8px;border:1.5px solid rgba(22,32,46,0.15);background:var(--paper);font-family:inherit;font-size:13px;color:var(--ink);}
.sets-row{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap;}
.sets-row input{width:56px;text-align:center;padding:8px 6px;}
.vs{font-family:'Bebas Neue',sans-serif;font-size:15px;color:rgba(22,32,46,0.4);padding:0 2px;}
.sign-row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;align-items:center;}
.sign-row input{width:120px;}

.league-card{background:var(--sand);color:var(--ink);border-radius:14px;padding:18px 20px;margin-bottom:12px;
  display:flex;justify-content:space-between;align-items:center;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,0.2);}
.league-card:hover{outline:2px solid var(--coral);}
.league-card .name{font-family:'Bebas Neue',sans-serif;font-size:24px;}
.league-card .meta{font-size:12px;color:rgba(22,32,46,0.55);margin-top:2px;}
.pill{background:rgba(43,168,157,0.18);color:#1c7167;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;}
.pill.notstarted{background:rgba(255,107,74,0.15);color:var(--coral-2);}
.pill.private{background:rgba(179,38,30,0.14);color:#B3261E;}
.pill.pinjoin{background:rgba(43,168,157,0.12);color:#1c7167;}
.pill.size{background:rgba(22,32,46,0.08);color:rgba(22,32,46,0.6);}

.field-item{padding:12px 0;border-bottom:1px solid rgba(22,32,46,0.1);}
.field-item:last-child{border-bottom:none;}
.field-item .fname{font-weight:700;font-size:14px;}
.field-item .faddr{font-size:13px;color:rgba(22,32,46,0.65);}
.field-item .fmeta{font-size:11px;color:rgba(22,32,46,0.45);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;}

#authNav a{color:rgba(253,248,238,0.75);text-decoration:none;font-size:13px;font-weight:600;margin-left:16px;}
#authNav a:hover{color:var(--paper);}

.notice{background:rgba(22,32,46,0.06);border:1px dashed rgba(22,32,46,0.25);border-radius:10px;
  padding:12px 14px;font-size:13px;color:rgba(22,32,46,0.7);margin:10px 0;}
.notice a{color:var(--coral-2);font-weight:600;text-decoration:none;}

.role-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:3px 9px;border-radius:20px;background:rgba(43,168,157,0.18);color:#1c7167;margin-left:8px;}
.role-badge.admin{background:rgba(255,107,74,0.16);color:var(--coral-2);}

/* Größere, deutlichere Feld-Karten */
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px;}
@media (max-width:640px){.field-grid{grid-template-columns:1fr;}}
.field-card{background:var(--paper);border-radius:12px;padding:18px 20px;border:1.5px solid rgba(22,32,46,0.08);}
.field-card .fname{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.02em;margin-bottom:4px;}
.field-card .faddr{font-size:14px;color:rgba(22,32,46,0.7);margin-bottom:10px;}
.field-card .ftime{display:inline-block;background:rgba(255,107,74,0.14);color:var(--coral-2);
  font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;margin-bottom:8px;}
.field-card .fnotes{font-size:13px;color:rgba(22,32,46,0.6);margin-top:6px;}
.field-card .fsource{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:rgba(22,32,46,0.4);margin-top:12px;}

.status.disputed{background:rgba(179,38,30,0.14);color:#B3261E;}

.footer{border-top:1px solid var(--line);margin-top:40px;padding:24px 20px 40px;text-align:center;font-size:12px;color:rgba(253,248,238,0.45);}
.footer a{color:rgba(253,248,238,0.7);text-decoration:none;font-weight:600;}
.footer a:hover{color:var(--paper);}
.footer p{margin:4px 0;}

.msg-item{background:var(--paper);border-radius:12px;padding:16px 18px;margin-bottom:12px;border:1.5px solid rgba(22,32,46,0.08);}
.msg-item.unread{border-color:var(--coral);}
.msg-from{font-weight:700;font-size:13px;margin-bottom:4px;}
.msg-body{font-size:14px;white-space:pre-wrap;}
.msg-time{font-size:11px;color:rgba(22,32,46,0.4);margin-top:8px;text-transform:uppercase;letter-spacing:.03em;}

.req-card{background:var(--paper);border-radius:12px;padding:18px 20px;margin-bottom:12px;border:1.5px solid rgba(22,32,46,0.08);}
.req-card.filled{opacity:.55;}
.req-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;}
.req-loc{font-family:'Bebas Neue',sans-serif;font-size:20px;}
.req-time{font-size:13px;color:rgba(22,32,46,0.65);margin-top:2px;}
.req-note{font-size:13px;color:rgba(22,32,46,0.6);margin-top:8px;}
.req-team{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:rgba(22,32,46,0.45);margin-top:10px;}

.status-line{font-size:12px;color:rgba(253,248,238,0.4);margin-top:18px;text-align:center;}

/* Toast */
.toast-popup{position:fixed;bottom:22px;right:22px;background:var(--night-2);border:1px solid var(--line);
  padding:12px 18px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,0.35);z-index:9999;
  opacity:0;transform:translateY(8px);pointer-events:none;transition:.25s;}
.toast-popup.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.toast-popup a{color:var(--paper);text-decoration:none;font-weight:600;font-size:13px;}

/* Inbox icon */
.inbox-link{position:relative;text-decoration:none;font-size:15px;}
.badge-dot{position:absolute;top:-6px;right:-10px;background:var(--coral);color:#fff;border-radius:50%;
  font-size:10px;font-weight:700;padding:1px 5px;line-height:1.3;}

/* Forum */
.thread-item{background:var(--paper);border-radius:12px;padding:16px 18px;margin-bottom:10px;border:1.5px solid rgba(22,32,46,0.08);
  display:block;text-decoration:none;color:var(--ink);}
.thread-item:hover{border-color:var(--coral);}
.thread-title{font-weight:700;font-size:15px;}
.thread-meta{font-size:12px;color:rgba(22,32,46,0.5);margin-top:4px;}
.reply-item{background:var(--paper);border-radius:10px;padding:14px 16px;margin-bottom:10px;border:1.5px solid rgba(22,32,46,0.08);}
.reply-author{font-weight:700;font-size:13px;margin-bottom:4px;}
.reply-body{font-size:14px;white-space:pre-wrap;}
.reply-time{font-size:11px;color:rgba(22,32,46,0.4);margin-top:6px;text-transform:uppercase;}

/* Turniere / Ausschreibungen */
.tourn-card{background:var(--paper);border-radius:12px;padding:16px 18px;margin-bottom:10px;border:1.5px solid rgba(22,32,46,0.08);
  display:block;text-decoration:none;color:var(--ink);}
.tourn-card:hover{border-color:var(--coral);}
.tourn-title{font-family:'Bebas Neue',sans-serif;font-size:20px;}
.tourn-meta{font-size:12px;color:rgba(22,32,46,0.55);margin-top:4px;}
.listing-card{background:var(--paper);border-radius:12px;padding:16px 18px;margin-bottom:10px;border:1.5px solid rgba(22,32,46,0.08);}
.listing-title{font-family:'Bebas Neue',sans-serif;font-size:20px;}
.listing-meta{font-size:12px;color:rgba(22,32,46,0.55);margin:4px 0;}
.listing-desc{font-size:13px;color:rgba(22,32,46,0.65);margin-top:6px;}
.errormsg{color:#B3261E;font-size:13px;margin-top:8px;}
.okmsg{color:#1c7167;font-size:13px;margin-top:8px;}
.empty{color:rgba(253,248,238,0.5);font-size:14px;padding:20px 0;text-align:center;}
