/* 34-0-0 Eredivisie app styles. Extracted from the original prototype. */
:root{--bg:#070812;--panel:#121426;--panel2:#191b31;--line:#2b2e4a;--text:#f6f7ff;--muted:#a9acd1;--pink:#ff2f8f;--purple:#8c45ff;--green:#15b86a;--yellow:#ffe84a;--red:#ff4d64}*{box-sizing:border-box}body{margin:0;background:#070812;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;min-height:100vh}.wrap{max-width:1180px;margin:0 auto;padding:22px}.screen{display:none!important}.screen.active{display:block!important}.hero.screen.active{display:grid!important}.hero{min-height:calc(100vh - 44px);place-items:center}.hero-card{width:min(760px,100%);text-align:center;background:#101224;border:1px solid #2b2e4a;border-radius:28px;padding:42px;box-shadow:0 30px 90px rgba(0,0,0,.45)}h1{font-size:74px;line-height:.9;margin:0;letter-spacing:-4px}.sub{font-size:20px;color:var(--muted);margin:16px auto 30px;max-width:620px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.field{background:#0b0d19;border:1px solid var(--line);border-radius:18px;padding:15px;text-align:left}.field label{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:1000;letter-spacing:1.6px;margin-bottom:8px}select,.search{width:100%;background:#080914;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;font-weight:800}.btn{border:0;border-radius:16px;padding:14px 22px;font-weight:1000;letter-spacing:.6px;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--pink),#a94435);box-shadow:0 16px 44px rgba(255,47,143,.22)}.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.btn.secondary{background:#1b1e34;border:1px solid var(--line);box-shadow:none}.btn.green{background:linear-gradient(135deg,#0aaa60,#18ce79)}.btn.danger{background:linear-gradient(135deg,#ff4d64,#9b2330)}.btn.full{width:100%}.mini,.hint{color:var(--muted);font-size:13px}.brand{font-weight:1000;font-size:26px}.brand span{color:var(--pink)}.game-shell{min-height:calc(100vh - 44px);display:flex;flex-direction:column;gap:16px}.game-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.quiet-actions{display:flex;gap:8px;flex-wrap:wrap}.quiet-actions .btn{padding:10px 12px;border-radius:12px;font-size:12px}.spin-dock{width:min(620px,100%);margin:0 auto;text-align:center;padding:10px 0 2px}.spinRound{font-size:13px;color:var(--muted);font-weight:900;letter-spacing:.8px}.slots{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:14px 0 18px}.slotbox{background:#17192b;border:3px solid var(--pink);border-radius:19px;padding:18px;min-height:116px;display:grid;place-items:center;box-shadow:0 0 28px rgba(255,47,143,.22)}.slotbox:nth-child(2){border-color:var(--purple);box-shadow:0 0 28px rgba(140,69,255,.22)}.slotlabel{font-size:12px;color:var(--pink);font-weight:1000;letter-spacing:3px}.slotbox:nth-child(2) .slotlabel{color:var(--purple)}.slotvalue{font-size:38px;font-weight:1000;text-shadow:0 4px 0 rgba(255,255,255,.08);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.spin-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.spin-actions .btn{min-width:220px}.spin-status{min-height:20px;margin-top:10px}.stepbar,.flowcall,.stats{display:none}.playgrid{display:grid;grid-template-columns:480px 1fr;gap:22px;align-items:start}.card{background:#121426;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 18px 70px rgba(0,0,0,.25)}.card-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:center}.title{font-weight:1000}.card-body{padding:16px}.players{display:flex;flex-direction:column;gap:8px;max-height:575px;overflow:auto;padding-right:4px}.player{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 14px;background:#0d0f1d;border:1px solid #252845;border-radius:14px}.player:hover{border-color:#51567d}.player.recommended{border-color:var(--yellow);box-shadow:0 0 0 1px rgba(255,232,74,.16)}.pname{font-weight:1000}.meta{font-size:12px;color:var(--muted);margin-top:4px}.ovr{font-size:26px;font-weight:1000;color:#69f080}.posbuttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.smallbtn{border:1px solid #4b4f76;background:#171a2d;color:var(--text);border-radius:999px;padding:7px 10px;font-weight:900;cursor:pointer}.smallbtn:hover{border-color:var(--pink)}.smallbtn.good{background:#103d2a;border-color:#1db970}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:11px;color:var(--muted);font-weight:900}.recommend{display:inline-flex;background:rgba(255,232,74,.14);color:var(--yellow);border:1px solid rgba(255,232,74,.35);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:1000;margin-left:6px}.notice{padding:16px;background:#0d0f1d;border:1px dashed #46496c;border-radius:16px;color:var(--muted);line-height:1.5}.centerNotice{text-align:center;margin-top:20px}.pitch-card .card-head{display:flex}.pitch-wrap{padding:16px}.pitch{height:620px;background:linear-gradient(0deg,#0b783f,#0d8a49);border:2px solid rgba(255,255,255,.2);border-radius:24px;position:relative;overflow:hidden}.pitch:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 85px,rgba(0,0,0,.08) 85px 170px)}.midline{position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(255,255,255,.28)}.circle{position:absolute;width:126px;height:126px;border:2px solid rgba(255,255,255,.28);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.box{position:absolute;left:25%;width:50%;height:98px;border:2px solid rgba(255,255,255,.28)}.box.top{top:0}.box.bottom{bottom:0}.posslot{position:absolute;z-index:2;transform:translate(-50%,-50%);width:106px;min-height:68px;background:#112038;border:2px solid rgba(255,255,255,.42);border-radius:18px;padding:8px;text-align:center;display:grid;place-items:center;cursor:pointer}.posslot.empty{background:rgba(17,32,56,.22);border-style:dashed}.posslot.selected{outline:3px solid var(--yellow)}.pos{font-size:12px;font-weight:1000;color:#fff}.slotname{font-size:12px;font-weight:1000;line-height:1.1}.slotclub{font-size:10px;color:#c6c9e9}.slotrating{font-size:18px;color:#69f080;font-weight:1000}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.record{font-size:86px;font-weight:1000;letter-spacing:-5px}.xi-list{display:grid;gap:8px}.xi-row{display:flex;justify-content:space-between;padding:10px;background:#0d0f1d;border-radius:12px}.overlay{position:fixed;inset:0;background:rgba(5,6,13,.92);display:none;z-index:20;place-items:center}.overlay.active{display:grid}.modal{background:#15172a;border:1px solid var(--line);border-radius:22px;padding:24px;max-width:520px;width:92%}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.progress{height:10px;background:#111426;border-radius:99px;overflow:hidden;margin:14px 0}.bar{height:100%;background:linear-gradient(90deg,var(--pink),var(--purple));width:0}.big-help{font-size:14px;color:var(--muted);font-weight:800;line-height:1.45}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}.primaryPulse{animation:pulse 1.45s infinite}.fstats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.fstat{background:#080914;border:1px solid #2b2e4a;border-radius:10px;padding:7px;text-align:center}.fnum{font-size:15px;font-weight:1000;color:#ffe84a}.flab{font-size:9px;text-transform:uppercase;color:#a9acd1;font-weight:900;letter-spacing:.5px}.profile{margin-top:8px;color:#f6f7ff;font-size:12px;font-weight:900}.dataovr{font-size:11px;color:#a9acd1;text-align:right}.dataovr strong{display:block;font-size:25px;color:#ffe84a}.mode-pill{display:inline-flex;background:rgba(255,232,74,.12);border:1px solid rgba(255,232,74,.4);color:#ffe84a;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:1000;margin-left:6px}@media(max-width:980px){.wrap{padding:14px}.settings,.slots,.playgrid,.result-grid{grid-template-columns:1fr}h1{font-size:54px}.hero-card{padding:28px}.slotvalue{font-size:32px}.pitch{height:560px}.game-head{align-items:flex-start}.quiet-actions{justify-content:flex-end}.players{max-height:420px}.record{font-size:58px}}

/* v12 match engine */
.season-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tabbtn{border:1px solid var(--line);background:#101325;color:var(--text);border-radius:999px;padding:10px 14px;font-weight:1000;cursor:pointer}.tabbtn.active{background:linear-gradient(135deg,var(--pink),var(--purple));border-color:transparent}.season-panel{display:none}.season-panel.active{display:block}.league-table,.fixture-table,.scorer-table{width:100%;border-collapse:collapse;font-size:13px}.league-table th,.league-table td,.fixture-table th,.fixture-table td,.scorer-table th,.scorer-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left}.league-table th,.fixture-table th,.scorer-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.league-table tr.user-team{background:rgba(255,47,143,.12);font-weight:1000}.score-pill{display:inline-flex;align-items:center;justify-content:center;background:#080914;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-weight:1000;min-width:60px}.match-win{color:#69f080}.match-draw{color:#ffe84a}.match-loss{color:#ff6b7d}.award-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.award{background:#0d0f1d;border:1px solid var(--line);border-radius:16px;padding:14px}.awardv{font-size:22px;font-weight:1000}.awardl{font-size:11px;color:var(--muted);font-weight:1000;text-transform:uppercase;letter-spacing:.8px;margin-top:4px}.result-grid.v12{grid-template-columns:1fr}.season-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.scrollbox{max-height:520px;overflow:auto;padding-right:4px}.fstats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.fstat{background:#080914;border:1px solid #2b2e4a;border-radius:10px;padding:7px;text-align:center}.fnum{font-size:15px;font-weight:1000;color:#ffe84a}.flab{font-size:9px;text-transform:uppercase;color:#a9acd1;font-weight:900;letter-spacing:.5px}.profile{margin-top:8px;color:#f6f7ff;font-size:12px;font-weight:900}.dataovr{font-size:11px;color:#a9acd1;text-align:right}.dataovr strong{display:block;font-size:25px;color:#ffe84a}.mode-pill{display:inline-flex;background:rgba(255,232,74,.12);border:1px solid rgba(255,232,74,.4);color:#ffe84a;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:1000;margin-left:6px}@media(max-width:980px){.season-layout,.award-grid{grid-template-columns:1fr}.league-table,.fixture-table,.scorer-table{font-size:12px}.record{font-size:52px}}

/* Simpele clubkleur-aanpak: alleen een rand, geen glow of extra schaduwen. */
.slotbox,
.slotbox:nth-child(2) {
  box-shadow: none !important;
}
.player,
.player.recommended,
.posslot.filled {
  box-shadow: none !important;
}
.player.recommended {
  border-width: 2px;
}
.posslot.filled {
  border-width: 3px;
}


/* Homepage live teller */
.play-ticker{
  width:min(430px,100%);
  margin:0 auto 24px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:14px 16px;
  text-align:left;
  background:#0b0d19;
  border:1px solid var(--line);
  border-radius:18px;
}
.ticker-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 6px rgba(21,184,106,.10);
  flex:0 0 auto;
}
.ticker-kicker{
  color:var(--green);
  font-size:10px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:1.8px;
}
.ticker-main{
  margin-top:2px;
  color:var(--text);
  font-size:18px;
  line-height:1.15;
  font-weight:1000;
}
.ticker-main span{
  color:var(--yellow);
  font-variant-numeric:tabular-nums;
}
.ticker-note{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
@media(max-width:520px){
  .play-ticker{align-items:flex-start}
  .ticker-main{font-size:16px}
}
