
:root{--bg:#03111f;--panel:#071827;--panel2:#0a2135;--line:#1b3b54;--blue:#0d8df4;--blue2:#075cad;--text:#f6fbff;--muted:#8ea3b6;--navy:#08213b;--light:#ffffff;--pos:#dcecff;--pitch:#1c6337;--pitch2:#17552f;--good:#25cc68;--shadow:0 10px 34px rgba(0,0,0,.28)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}body{background:radial-gradient(circle at 70% -10%,rgba(13,141,244,.15),transparent 30%),#03111f;padding-bottom:78px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(env(safe-area-inset-top) + 14px) 16px 12px;background:rgba(3,17,31,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}.topbar h1{margin:0;font-size:28px;letter-spacing:-.03em}.sub{color:var(--muted);font-size:13px;margin-top:4px}.topActions{display:flex;gap:7px}.iconbtn{height:40px;min-width:40px;padding:0 11px;border:1px solid #2b475c;border-radius:10px;background:#071725;color:#e9f4fc}.iconbtn.primary{color:#57b7ff;border-color:#1689e5}
.page{display:none;max-width:1120px;margin:0 auto;padding:14px 12px 100px}.page.active{display:block}.segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#071624;border:1px solid #1d3a50;border-radius:14px;padding:4px;margin:4px 0 16px}.segment button{height:46px;border:0;border-radius:10px;background:transparent;color:#95a8b8;font-weight:750}.segment button.active{background:linear-gradient(180deg,#0c6bd7,#084c9b);color:white}.searchrow{display:flex;gap:8px;margin-bottom:14px}.search{width:100%;height:48px;border:1px solid #1f3d54;border-radius:11px;background:#061624;color:#fff;padding:0 13px;outline:none}
.matchcard,.playerrow{background:linear-gradient(180deg,#071d31,#061522);border:1px solid #1f3c52;border-radius:13px;box-shadow:var(--shadow)}#matchesList{display:grid;grid-template-columns:1fr;gap:11px}.matchcard{display:grid;grid-template-columns:72px 1fr 42px;min-height:116px;overflow:hidden}.datebox{border-right:1px solid #138dfa;padding:11px 7px;text-align:center;display:flex;flex-direction:column;justify-content:center}.dow{color:#1ba0ff;font-size:11px}.day{font-size:30px;font-weight:900;line-height:1}.mon{font-size:10px;color:#a2b3c0;margin-top:3px}.time{font-size:11px;color:#758b9c;margin-top:6px}.matchteams{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:10px 12px}.teamline{display:flex;align-items:center;gap:9px;min-width:0}.teamdot,.teamBadge{display:grid;place-items:center;overflow:hidden;background:#08253d;border:1px solid #2b668f;color:#5bb9ff;font-weight:900}.teamdot{width:33px;height:33px;border-radius:8px;font-size:10px}.teamBadge{width:38px;height:38px;border-radius:8px;font-size:11px}.teamdot img,.teamBadge img{width:100%;height:100%;object-fit:contain;background:white}.teamname{font-size:15px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vs{font-size:9px;color:#748a9b;margin-left:42px}.go{border:0;border-left:1px solid rgba(255,255,255,.04);background:transparent;color:white;font-size:25px}.fab{position:fixed;right:18px;bottom:82px;width:58px;height:58px;border-radius:50%;border:1px solid #32a6ff;background:linear-gradient(180deg,#118af0,#0861c8);color:white;font-size:34px;z-index:50;box-shadow:0 12px 30px rgba(0,96,200,.4)}
.bottomnav{position:fixed;z-index:70;left:0;right:0;bottom:0;height:68px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:1fr 1fr;background:rgba(2,13,24,.98);border-top:1px solid #1a3449}.navbtn{border:0;background:transparent;color:#8196a7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px}.navbtn.active{color:#1194ff}.navicon{font-size:21px}
/* MATCH FIELD */
.matchHeader{max-width:650px;margin:0 auto 7px;display:flex;align-items:center;justify-content:space-between;gap:10px}.teamTitle{display:flex;align-items:center;gap:9px;min-width:0}.teamTitleName{font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rbfaTag{font-size:9px;color:#5ed693;margin-top:2px}.formation{height:39px;min-width:126px;border:1px solid #2b485e;border-radius:8px;background:#071827;color:white;padding:0 9px;font-weight:750}
.pitchWrap{max-width:650px;margin:0 auto;padding:6px;border:1px solid #29495c;border-radius:13px;background:#061725;box-shadow:0 16px 40px rgba(0,0,0,.3)}.pitch{position:relative;width:100%;height:calc(100svh - 242px);min-height:560px;max-height:750px;background:linear-gradient(rgba(2,20,27,.2),rgba(2,20,27,.2)),repeating-linear-gradient(90deg,var(--pitch) 0 12.5%,var(--pitch2) 12.5% 25%);border:2px solid rgba(240,255,244,.42);overflow:hidden}.pitch:before{content:"";position:absolute;inset:2.2%;border:1.5px solid rgba(255,255,255,.42);pointer-events:none}.midline{position:absolute;left:2.2%;right:2.2%;top:50%;border-top:1.5px solid rgba(255,255,255,.42)}.circle{position:absolute;width:20%;aspect-ratio:1;border:1.5px solid rgba(255,255,255,.42);border-radius:50%;left:40%;top:50%;transform:translateY(-50%)}.centerDot{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.66);left:50%;top:50%;transform:translate(-50%,-50%)}.boxTop,.boxBottom{position:absolute;left:29%;width:42%;height:10.8%;border:1.5px solid rgba(255,255,255,.42)}.boxTop{top:2.2%;border-top:0}.boxBottom{bottom:2.2%;border-bottom:0}
.slot{position:absolute;transform:translate(-50%,-50%);width:18.2%;max-width:112px;min-width:61px;z-index:3}.playerTile{width:100%;border:1px solid #102e4b;border-radius:0;background:white;box-shadow:0 4px 11px rgba(0,0,0,.3);overflow:visible;position:relative}.positionBar{height:16px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:2px;background:var(--pos);border-bottom:1px solid #8db4d8;color:var(--navy);padding:0 2px 0 5px;font-size:8px;font-weight:950;letter-spacing:.03em}.positionName{border:0;background:transparent;color:var(--navy);font:inherit;padding:0;text-align:left;flex:1}.posIcons{display:flex;gap:1px}.miniIcon{width:15px;height:14px;border:0;border-left:1px solid #9bbbd6;background:transparent;color:#254d70;font-size:8px;padding:0;display:grid;place-items:center}.miniIcon.used{background:#d1ebff;color:#0065b9}.miniIcon.moveSelected{background:#0b78d6;color:white}
.tileBody{height:39px;padding:2px 3px;background:white;color:var(--navy)}.line1{height:20px;display:grid;grid-template-columns:23% 77%;align-items:center}.line2{height:14px;display:grid;grid-template-columns:29% 28% 43%;align-items:center;border-top:1px solid #d6e1eb}.tileInput,.tileSelect{width:100%;height:100%;min-width:0;border:0;border-radius:0;background:white;color:var(--navy);outline:none;padding:0 2px;font-size:8px}.line1 .tileInput{font-size:9.4px;font-weight:900}.line1 .numberInput{text-align:center;font-size:14px;font-weight:950;border-right:1px solid #d6e1eb}.tileInput::placeholder{color:#7189a0;opacity:1}.tileSelect{appearance:none;text-align:center;font-size:6.7px;font-weight:850;border-right:1px solid #d6e1eb}.dobInput{text-align:center;font-size:6.9px;font-weight:800}.linkedDot{position:absolute;width:5px;height:5px;border-radius:50%;background:#29c967;right:2px;bottom:2px;box-shadow:0 0 0 1px white}.saveBar{display:flex;justify-content:center;align-items:center;gap:7px;color:#8298aa;font-size:11px;margin:8px 0}.saveBar b{color:#2bce6c}
/* AUTOCOMPLETE */
.suggestBox{position:fixed;z-index:250;display:none;min-width:230px;max-width:min(420px,92vw);max-height:270px;overflow:auto;background:white;color:var(--navy);border:1px solid #9eb9cf;box-shadow:0 18px 40px rgba(0,0,0,.35)}.suggestBox.open{display:block}.suggestItem{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;width:100%;min-height:48px;padding:6px 8px;border:0;border-bottom:1px solid #e0e8ef;background:white;color:var(--navy);text-align:left}.suggestItem:hover,.suggestItem.active{background:#edf6ff}.sLogo{width:30px;height:30px;display:grid;place-items:center;border:1px solid #c1d3e1;background:#f6f9fb;overflow:hidden;font-size:8px;font-weight:900}.sLogo img{width:100%;height:100%;object-fit:contain}.sName{font-size:11px;font-weight:900}.sMeta{font-size:8px;color:#61798e;margin-top:2px}.sourcePill{font-size:7px;font-weight:900;padding:2px 4px;border:1px solid #9dbbd1;background:#f0f7fd;color:#1f608e}.sourcePill.rbfa{border-color:#91d8ad;color:#197340;background:#effaf3}.freeEntry{padding:7px 9px;font-size:9px;color:#5f7689;background:#f8fafc}
/* players */
.playerrow{display:grid;grid-template-columns:45px 1fr 42px;gap:10px;align-items:center;padding:10px;margin:9px 0}.playerAvatar{width:42px;height:42px;border-radius:8px;border:1px solid #2b5e84;background:#08253d;color:#5cb9ff;display:grid;place-items:center;font-size:11px;font-weight:900;overflow:hidden}.playerAvatar img{width:100%;height:100%;object-fit:contain;background:white}.playerMain b{display:block;font-size:14px}.playerMeta{font-size:10px;color:#92a6b8;margin-top:3px;line-height:1.45}.tag{color:#1aa0ff;font-weight:900}.empty{padding:48px 18px;text-align:center;color:#7890a3}
/* report */
.reportGrid{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1.35fr .75fr;gap:12px;background:linear-gradient(180deg,#071a2a,#061522);border:1px solid #203d52;border-radius:14px;padding:14px}.reportFields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{display:flex;flex-direction:column;gap:5px;margin:7px 0}.field.wide{grid-column:1/-1}.field label{font-size:10px;color:#8ea1b4}.field input,.field select,.field textarea{width:100%;background:#04121f;color:#fff;border:1px solid #21415a;border-radius:9px;padding:10px;outline:none}.photoBox{border:1px solid #2b4659;border-radius:11px;min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#081827;color:#8ea1b4;text-align:center;font-size:12px}.photoBox img{width:100%;height:100%;object-fit:cover}.linkbar{max-width:760px;margin:10px auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}.linkbar button,.reportActions button{height:46px;border:1px solid #2a4b61;border-radius:9px;background:#071827;color:white}.tabs{max-width:760px;margin:12px auto 9px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #203d52;border-radius:10px;overflow:hidden}.tabs button{height:48px;border:0;background:#061522;color:#8fa3b5;font-weight:800}.tabs button.active{background:#08253e;color:#27a5ff;border-bottom:2px solid #159ef4}.bullets{display:block;max-width:760px;width:100%;min-height:330px;margin:0 auto;background:#03111f;color:white;border:1px solid #159ef4;border-radius:10px;padding:14px;line-height:1.7;font-size:15px}.voicePanel{display:none;max-width:760px;margin:0 auto;background:#061522;border:1px solid #203d52;border-radius:10px;padding:18px;text-align:center}.voicePanel.active{display:block}.mic{width:80px;height:80px;border-radius:50%;border:1px solid #159ef4;background:#08345a;color:#28aaff;font-size:34px}.mic.recording{background:#5a0c12;color:#ff7780;border-color:#ef4444}.reportActions{max-width:760px;margin:10px auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* modals */
.modal{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.72);display:none;align-items:flex-end}.modal.open{display:flex}.sheet{width:100%;max-width:720px;max-height:90vh;overflow:auto;margin:0 auto;background:#071827;border-radius:20px 20px 0 0;border:1px solid #234055;padding:17px 16px calc(17px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px rgba(0,0,0,.5)}.sheet h2{margin:0 0 11px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions{display:flex;gap:8px;margin-top:12px}.actions button{flex:1;height:45px;border-radius:9px;border:1px solid #284a62;background:#092035;color:white}.actions .save{background:linear-gradient(180deg,#0b78dd,#075caf);border-color:#1688ef}.clubField{position:relative}.clubChosen{display:none;margin-top:6px;padding:8px;border:1px solid #27506b;background:#061522;grid-template-columns:36px 1fr;gap:8px;align-items:center}.clubChosen.show{display:grid}.clubChosenLogo{width:34px;height:34px;background:white;border:1px solid #9fb6c6;display:grid;place-items:center;overflow:hidden;color:#12314d;font-size:9px}.clubChosenLogo img{width:100%;height:100%;object-fit:contain}.clubChosenName{font-size:12px;font-weight:900}.clubChosenMeta{font-size:9px;color:#8fa3b5}.liveStatus{margin:5px 0 11px;padding:8px 10px;border:1px solid #23485e;background:#061522;font-size:10px;color:#90a6b7}.liveStatus b{color:#4ed888}.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);z-index:300;background:#0a2a43;border:1px solid #246088;color:white;padding:9px 12px;border-radius:9px;font-size:11px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.rbfaBox{padding:11px;border:1px dashed #36546a;background:#061522}.linkResult{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid #27455a;margin:7px 0;background:#061624}.linkResult b{font-size:13px}.linkResult div div{font-size:10px;color:#8fa4b7}.linkResult button{height:34px;border:1px solid #2589d6;background:#082d4d;color:#50b5ff}
@media(max-width:480px){.page{padding-left:7px;padding-right:7px}.pitchWrap{padding:4px}.pitch{height:calc(100svh - 225px);min-height:525px}.slot{width:18.5%;min-width:58px}.tileBody{height:36px}.line1{height:18px}.line2{height:13px}.positionBar{height:14px;font-size:7px}.miniIcon{height:12px;width:13px;font-size:7px}.line1 .tileInput{font-size:8.2px}.line1 .numberInput{font-size:12.5px}.tileSelect,.dobInput{font-size:5.8px}.matchHeader{margin-bottom:5px}.teamBadge{width:34px;height:34px}.teamTitleName{font-size:13px}.formation{min-width:114px;font-size:11px;height:35px}.reportGrid{grid-template-columns:1fr 100px;padding:10px}.photoBox{min-height:145px}}
@media(min-width:900px){body{padding-bottom:0}.page{padding:18px 26px 45px}.topbar{padding-left:28px;padding-right:28px}.segment{max-width:650px;margin-left:auto;margin-right:auto}#matchesList{grid-template-columns:1fr 1fr}.bottomnav{width:260px;left:20px;right:auto;bottom:18px;height:62px;border:1px solid #1f3a4e;border-radius:14px}.fab{bottom:28px;right:30px}.pitchWrap,.matchHeader{max-width:610px}.pitch{height:calc(100vh - 210px);min-height:610px;max-height:740px}.modal{align-items:center}.sheet{border-radius:16px}.playerrow{grid-template-columns:48px 1fr 44px}}

/* =========================================================
   V5 — visual reference supplied by user
   ========================================================= */
:root{
  --ref-bg:#00101d;
  --ref-pitch:#061f37;
  --ref-pitch2:#082740;
  --ref-line:#74838f;
  --ref-card:#2b394b;
  --ref-card2:#2d3c4e;
  --ref-bar:#66717d;
  --ref-white:#f8fbff;
  --ref-empty:#68717c;
  --ref-blue:#0799f5;
}
body{
  background:
    radial-gradient(circle at 75% -5%,rgba(0,136,235,.10),transparent 30%),
    linear-gradient(180deg,#00111f,#000a13);
}

/* Club header: blue vertical line, badge, big white club name */
.matchHeader{
  position:relative;
  max-width:680px;
  min-height:72px;
  margin:0 auto 8px;
  padding:7px 0 7px 18px;
}
.matchHeader::before{
  content:"";
  position:absolute;
  left:0;top:7px;bottom:7px;
  width:3px;
  background:var(--ref-blue);
}
.matchHeader .teamTitle{gap:15px}
.matchHeader .teamBadge{
  width:64px;height:64px;flex:0 0 64px;
  border:0;border-radius:0;background:transparent;
}
.matchHeader .teamBadge img{
  width:100%;height:100%;object-fit:contain;background:transparent;
}
.matchHeader .teamTitleName{
  color:#fff;
  font-size:26px;
  line-height:1.04;
  font-weight:720;
  letter-spacing:-.025em;
}
.matchHeader .rbfaTag{display:none}
.matchHeader .formation{
  height:40px;
  min-width:126px;
  border:1px solid #53616e;
  border-radius:4px;
  background:#071624;
  color:#f8fafc;
}

/* Dark navy football board */
.pitchWrap{
  max-width:680px;
  margin:0 auto;
  padding:9px;
  border:1px solid #243b4d;
  border-radius:22px;
  background:#051624;
  box-shadow:0 20px 54px rgba(0,0,0,.38);
}
.pitch{
  height:calc(100svh - 248px);
  min-height:580px;
  max-height:760px;
  border:0;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 50%,rgba(19,58,88,.23),transparent 31%),
    repeating-linear-gradient(130deg,rgba(255,255,255,.012) 0 2px,transparent 2px 8px),
    linear-gradient(105deg,var(--ref-pitch),#061b30 48%,var(--ref-pitch2));
}
.pitch:before{
  inset:2.5%;
  border:3px solid rgba(116,131,143,.78);
  border-radius:13px;
}
.midline{left:2.5%;right:2.5%;border-top:3px solid rgba(116,131,143,.72)}
.circle{width:21%;border:3px solid rgba(116,131,143,.72)}
.centerDot{background:rgba(140,151,160,.9)}
.boxTop,.boxBottom{
  left:30%;width:40%;height:11%;
  border:3px solid rgba(116,131,143,.72);
}
.boxTop{top:2.5%;border-top:0}
.boxBottom{bottom:2.5%;border-bottom:0}

/* Player card — scaled version of the supplied reference */
.slot{width:16.2%;max-width:116px;min-width:58px}
.playerTile{
  width:100%;
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:9px;
  background:var(--ref-card);
  box-shadow:0 4px 13px rgba(0,0,0,.30);
}
.positionBar{
  position:relative;
  width:100%;
  height:17px;
  padding:0;
  border:0;
  background:var(--ref-bar);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
}
.positionName{
  width:100%;height:100%;
  padding:0 29px 0 4px;
  border:0;
  background:transparent;
  color:white;
  text-align:center;
  font-size:9px;
  line-height:17px;
  font-weight:650;
}
.posIcons{
  position:absolute;
  right:2px;top:1px;
  height:15px;
  display:flex;
  gap:1px;
}
.miniIcon{
  width:13px;height:15px;
  padding:0;border:0;border-radius:2px;
  background:rgba(5,23,37,.36);
  color:#d7dee4;
  font-size:7px;
  display:grid;place-items:center;
}
.miniIcon.used{background:#0a638e;color:#fff}
.miniIcon.moveSelected{background:#0799f5;color:#fff}

.tileBody{
  position:relative;
  height:48px;
  padding:1px 5px 3px;
  background:linear-gradient(180deg,var(--ref-card2),var(--ref-card));
}
.numberRow{height:14px;display:flex;align-items:center;justify-content:center}
.firstNameRow{height:12px;display:flex;align-items:center;justify-content:center}
.lastNameRow{height:10px;display:flex;align-items:center;justify-content:center}
.metaRow{
  height:10px;margin-top:1px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 5px minmax(0,.82fr) 5px minmax(0,.9fr);
  align-items:center;
  justify-items:center;
}
.metaDash{color:#e2e7eb;opacity:.72;font-size:6.8px}
.refInput,.refSelect{
  width:100%;height:100%;min-width:0;
  padding:0;border:0;border-radius:0;outline:0;
  background:transparent;
  text-align:center;
  color:var(--ref-white);
}
.refInput::placeholder{color:var(--ref-empty);opacity:1}
.refInput.emptyValue,.refSelect.emptyValue{color:var(--ref-empty)}
.refInput.hasValue,.refSelect.hasValue{color:var(--ref-white)}
.numberInput{font-size:14px;line-height:14px;font-weight:500}
.firstNameInput{font-size:10px;line-height:12px;font-weight:480}
.lastNameInput{font-size:8.2px;line-height:10px;font-weight:700}
.dobInput{font-size:7px;font-weight:600}
.refSelect{
  appearance:none;-webkit-appearance:none;
  font-size:7px;line-height:10px;font-weight:700;cursor:pointer;
}
.refSelect option{color:#071522;background:#fff}
.linkedDot{
  position:absolute;right:3px;bottom:3px;
  width:4px;height:4px;border-radius:50%;
  background:#32d16d;box-shadow:none;
}

/* General UI keeps the same dark navy language */
.matchcard,.playerrow{background:linear-gradient(180deg,#071b2d,#051421);border-color:#20394d}
.suggestBox{border-radius:0}
.suggestItem{border-radius:0}

@media(max-width:480px){
  .page{padding-left:6px;padding-right:6px}
  .matchHeader{min-height:56px;padding:5px 0 5px 13px;margin-bottom:5px}
  .matchHeader::before{top:5px;bottom:5px;width:2px}
  .matchHeader .teamBadge{width:49px;height:49px;flex-basis:49px}
  .matchHeader .teamTitle{gap:10px}
  .matchHeader .teamTitleName{font-size:18px}
  .matchHeader .formation{min-width:108px;height:34px;font-size:10px}
  .pitchWrap{padding:6px;border-radius:16px}
  .pitch{height:calc(100svh - 211px);min-height:530px;border-radius:12px}
  .pitch:before{border-width:2px;border-radius:10px}
  .midline,.circle,.boxTop,.boxBottom{border-width:2px}
  .slot{width:16%;min-width:55px}
  .playerTile{border-radius:7px}
  .positionBar{height:14px}
  .positionName{font-size:7.3px;line-height:14px;padding-right:24px}
  .posIcons{height:12px;top:1px}
  .miniIcon{width:11px;height:12px;font-size:6px}
  .tileBody{height:40px;padding:1px 3px 2px}
  .numberRow{height:12px}
  .firstNameRow{height:10px}
  .lastNameRow{height:9px}
  .metaRow{height:7px;margin-top:0;grid-template-columns:minmax(0,1.2fr) 4px minmax(0,.82fr) 4px minmax(0,.9fr)}
  .numberInput{font-size:11.5px}
  .firstNameInput{font-size:8px}
  .lastNameInput{font-size:6.7px}
  .dobInput,.refSelect{font-size:5.6px}
  .metaDash{font-size:5.5px}
}
@media(min-width:900px){
  .pitchWrap,.matchHeader{max-width:650px}
  .pitch{height:calc(100vh - 215px);min-height:640px;max-height:780px}
  .slot{width:16.2%;max-width:112px}
  .positionBar{height:19px}
  .positionName{font-size:10.3px;line-height:19px}
  .tileBody{height:58px;padding:2px 6px 4px}
  .numberRow{height:17px}.firstNameRow{height:15px}.lastNameRow{height:12px}.metaRow{height:11px}
  .numberInput{font-size:17px}.firstNameInput{font-size:12px}.lastNameInput{font-size:9.4px}.dobInput,.refSelect{font-size:7.7px}
}


/* =========================================================
   V6 — stretched pitch, drag-and-swap cards, transparent logos
   ========================================================= */
.teamdot img,.teamBadge img,.playerAvatar img,.sLogo img,.clubChosenLogo img{background:transparent!important}
.teamdot,.teamBadge,.playerAvatar,.sLogo,.clubChosenLogo{background:transparent}
.clubChosenLogo,.sLogo{border-color:rgba(255,255,255,.2)}
.matchHeader,.pitchWrap{max-width:600px}
.matchHeader{min-height:74px}
.matchHeader .teamBadge{width:66px;height:66px;flex-basis:66px}
.matchHeader .teamTitleName{font-size:27px}
.matchHeader .formation{min-width:136px}

.pitchWrap{padding:10px;border-radius:22px;background:#04121f;box-shadow:0 24px 56px rgba(0,0,0,.42)}
.pitch{
  height:calc(100svh - 188px);
  min-height:700px;
  max-height:940px;
  border-radius:18px;
  background:
    linear-gradient(144deg, transparent 0 77%, rgba(226,68,69,.96) 77% 100%),
    linear-gradient(144deg, rgba(133,177,255,.12) 0 17%, transparent 17% 100%),
    repeating-linear-gradient(144deg,#102f7c 0 82px,#214c9d 82px 164px,#163d8c 164px 246px,#2c67b2 246px 328px),
    linear-gradient(144deg,#153680,#214c9d);
}
.pitch:before{inset:2%;border:3px solid rgba(255,255,255,.82);border-radius:14px}
.midline{left:2%;right:2%;border-top:3px solid rgba(255,255,255,.82)}
.circle{width:24%;left:38%;border:3px solid rgba(255,255,255,.82)}
.centerDot{width:9px;height:9px;background:#fff;opacity:.92}
.boxTop,.boxBottom{left:24%;width:52%;height:11.6%;border:3px solid rgba(255,255,255,.82)}
.boxTop{top:2%;border-top:0}.boxBottom{bottom:2%;border-bottom:0}

.slot{width:15.3%;max-width:104px;min-width:54px;transition:transform .14s ease,filter .14s ease}
.slot.dragTarget{filter:drop-shadow(0 0 10px rgba(71,189,255,.8));z-index:8}
.slot.dragging{opacity:.55;z-index:9}
.playerTile{border-radius:12px;background:#2c3949;box-shadow:0 6px 18px rgba(0,0,0,.34);overflow:visible}
.positionBar{height:18px;background:#727c86;border-radius:12px 12px 0 0;position:relative;cursor:grab;overflow:visible}
.positionBar:active{cursor:grabbing}
.positionName{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;font-size:9.2px;line-height:18px;font-weight:760;letter-spacing:.02em}
.posIcons{position:absolute;right:-8px;top:-8px;height:auto;display:block;overflow:visible}
.miniIcon{width:18px;height:18px;border-radius:50%;background:#5f6b77;color:#fff;font-size:9px;border:1px solid rgba(255,255,255,.32);box-shadow:0 2px 8px rgba(0,0,0,.28)}
.miniIcon.used{background:#0c79d6;color:#fff}
.miniIcon.moveSelected{background:#0c79d6;color:#fff}
.tileBody{height:50px;padding:2px 5px 4px;background:linear-gradient(180deg,#324254,#283646);border-radius:0 0 12px 12px}
.numberRow{height:15px}.firstNameRow{height:12px}.lastNameRow{height:11px}.metaRow{height:10px;margin-top:0}
.numberInput{font-size:15px;font-weight:650}
.firstNameInput{font-size:10px;font-weight:500}
.lastNameInput{font-size:8.3px;font-weight:740}
.dobInput,.refSelect{font-size:6.8px;font-weight:700}
.metaDash{font-size:6.5px}
.linkedDot{width:4px;height:4px;right:4px;bottom:4px}

@media(max-width:480px){
  .matchHeader,.pitchWrap{max-width:100%}
  .matchHeader{min-height:60px}
  .matchHeader .teamBadge{width:50px;height:50px;flex-basis:50px}
  .matchHeader .teamTitleName{font-size:18px}
  .matchHeader .formation{min-width:114px;height:34px}
  .pitchWrap{padding:7px;border-radius:18px}
  .pitch{height:calc(100svh - 176px);min-height:640px;max-height:none;border-radius:14px}
  .pitch:before,.midline,.circle,.boxTop,.boxBottom{border-width:2px}
  .slot{width:15.5%;min-width:50px;max-width:88px}
  .playerTile{border-radius:9px}
  .positionBar{height:15px;border-radius:9px 9px 0 0}
  .positionName{font-size:7.5px;line-height:15px}
  .posIcons{right:-7px;top:-7px}
  .miniIcon{width:15px;height:15px;font-size:7px}
  .tileBody{height:40px;padding:1px 3px 2px;border-radius:0 0 9px 9px}
  .numberRow{height:12px}.firstNameRow{height:10px}.lastNameRow{height:9px}.metaRow{height:7px}
  .numberInput{font-size:11.8px}.firstNameInput{font-size:7.8px}.lastNameInput{font-size:6.4px}.dobInput,.refSelect{font-size:5.4px}.metaDash{font-size:5px}
}
@media(min-width:900px){
  .matchHeader,.pitchWrap{max-width:620px}
  .pitch{height:calc(100vh - 170px);min-height:760px;max-height:980px}
  .slot{width:15%;max-width:108px}
  .playerTile{border-radius:13px}
  .positionBar{height:20px;border-radius:13px 13px 0 0}
  .positionName{font-size:10px;line-height:20px}
  .posIcons{right:-9px;top:-9px}
  .miniIcon{width:19px;height:19px;font-size:9px}
  .tileBody{height:58px;border-radius:0 0 13px 13px}
  .numberInput{font-size:17px}.firstNameInput{font-size:12px}.lastNameInput{font-size:9.5px}.dobInput,.refSelect{font-size:7.5px}
}


/* =========================================================
   V7 — clean blue pitch + pastel shirt colours + hold-to-drag
   ========================================================= */
.teamdot img,.teamBadge img,.playerAvatar img,.sLogo img,.clubChosenLogo img{background:transparent!important}
.teamdot,.teamBadge,.playerAvatar,.sLogo,.clubChosenLogo{background:transparent!important}
.teamText{min-width:0;flex:1}
.teamIdentityLine{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}
.teamIdentityLine .teamTitleName{flex:0 1 auto}
.shirtControl{height:25px;display:inline-flex;align-items:center;gap:5px;padding:0 4px 0 7px;border:1px solid #415263;border-radius:4px;background:#071522;color:#92a5b5;font-size:7.5px;white-space:nowrap}
.shirtSwatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.35)}
.shirtSelect{height:21px;max-width:70px;border:0;background:transparent;color:#f4f7fa;font-size:8px;outline:none;padding:0 2px}.shirtSelect option{background:#fff;color:#071522}

/* only blue geometric layers — no red patch */
.pitch{height:auto!important;min-height:720px!important;max-height:none!important;aspect-ratio:10/18.1;border-radius:15px;background:linear-gradient(145deg,rgba(112,167,225,.10) 0 13%,transparent 13% 37%,rgba(8,35,102,.13) 37% 52%,transparent 52% 100%),repeating-linear-gradient(145deg,#123879 0 76px,#24549a 76px 152px,#173f84 152px 228px,#2b61a6 228px 304px),#173f84}
.pitch:before{inset:2%;border:3px solid rgba(245,250,255,.86);border-radius:11px}.midline{left:2%;right:2%;border-top:3px solid rgba(245,250,255,.86)}.circle{width:23%;left:38.5%;border:3px solid rgba(245,250,255,.86)}.centerDot{width:8px;height:8px;background:#fff}.boxTop,.boxBottom{left:24%;width:52%;height:11.5%;border:3px solid rgba(245,250,255,.86)}.boxTop{top:2%;border-top:0}.boxBottom{bottom:2%;border-bottom:0}

/* 2 rounded corners on position strip + 4 on lower body = 6 */
.slot{width:15.1%;max-width:102px;min-width:52px;z-index:3}
.playerTile{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible;position:relative;touch-action:auto}
.positionBar{position:relative;height:18px;width:100%;background:var(--shirt-light,#829ab7)!important;border:0!important;border-radius:4px 4px 0 0!important;box-shadow:0 2px 5px rgba(0,0,0,.16);overflow:visible}
.positionName{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0!important;color:#fff!important;text-align:center;font-size:9px;line-height:18px;font-weight:760}
.posIcons{position:absolute;right:-8px;top:-8px;height:auto;display:block;z-index:6}
.miniIcon{width:16px;height:16px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:3px!important;background:var(--shirt-light,#829ab7)!important;color:#fff;font-size:9px;font-weight:850;box-shadow:0 2px 7px rgba(0,0,0,.28);display:grid;place-items:center}.miniIcon.used{background:var(--shirt-dark,#425b77)!important;color:#fff}
.tileBody{position:relative;height:50px;margin-top:1px;padding:2px 5px 4px;background:var(--shirt-dark,#425b77)!important;border-radius:4px!important;box-shadow:0 5px 13px rgba(0,0,0,.31)}
.numberRow{height:15px}.firstNameRow{height:12px}.lastNameRow{height:11px}.metaRow{height:10px;margin-top:0}.refInput,.refSelect{color:#fff}.refInput::placeholder{color:rgba(245,248,251,.34)}.refInput.emptyValue,.refSelect.emptyValue{color:rgba(245,248,251,.34)}.refInput.hasValue,.refSelect.hasValue{color:#fff}.metaDash{color:rgba(255,255,255,.72)}.refSelect option{color:#071522;background:#fff}

body.playerDragging{user-select:none;-webkit-user-select:none;overflow:hidden}.slot.dragTarget .positionBar,.slot.dragTarget .tileBody{outline:2px solid #65c3ff;outline-offset:2px}.slot.dragging{opacity:.42}.dragGhost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%) scale(1.03);filter:drop-shadow(0 14px 18px rgba(0,0,0,.38));opacity:.94}.dragGhost .posIcons{display:none}
@media(max-width:480px){.teamIdentityLine{gap:5px}.shirtControl{height:22px;font-size:6.5px;padding-left:5px}.shirtSelect{height:18px;font-size:7px;max-width:58px}.shirtSwatch{width:8px;height:8px}.pitch{min-height:690px!important;aspect-ratio:10/18.4}.slot{width:15.2%;min-width:49px;max-width:86px}.positionBar{height:15px;border-radius:3px 3px 0 0!important}.positionName{font-size:7.4px;line-height:15px}.posIcons{right:-7px;top:-7px}.miniIcon{width:14px;height:14px;border-radius:3px!important;font-size:7.5px}.tileBody{height:40px;border-radius:3px!important;padding:1px 3px 2px}.numberRow{height:12px}.firstNameRow{height:10px}.lastNameRow{height:9px}.metaRow{height:7px}}
@media(min-width:900px){.matchHeader,.pitchWrap{max-width:620px}.pitch{min-height:880px!important;aspect-ratio:10/17.7}.slot{width:14.8%;max-width:105px}.positionBar{height:20px}.positionName{font-size:10px;line-height:20px}.posIcons{right:-9px;top:-9px}.miniIcon{width:18px;height:18px;font-size:9.5px}.tileBody{height:58px}}


/* =========================================================
   V8 — splash, SHXI, freer drag, stronger report layout
   ========================================================= */
.bottomnav{grid-template-columns:1fr 1fr 1fr!important}
.segment.tri{grid-template-columns:1fr 1fr 1fr!important}
.teamdot img,.teamBadge img,.playerAvatar img,.sLogo img,.clubChosenLogo img{background:transparent!important}
.teamdot,.teamBadge,.playerAvatar,.sLogo,.clubChosenLogo{background:transparent!important}
.clubChosenLogo{background:transparent!important;border-color:rgba(255,255,255,.2)!important}
.startPage{padding:0!important;max-width:none!important}
.startHero{position:relative;min-height:100svh;background:linear-gradient(180deg,rgba(9,42,97,.08),rgba(3,16,34,.28)),url('./assets/start-hero.webp') center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;padding:28px 18px calc(88px + env(safe-area-inset-bottom))}
.startShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(117,190,244,.10),rgba(8,29,66,.12) 40%,rgba(4,19,45,.58) 100%)}
.startCopy{position:absolute;left:18px;right:18px;top:max(26px,calc(env(safe-area-inset-top) + 18px));max-width:560px;color:#eef7ff;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.12)}
.startKicker{font-size:12px;font-weight:900;letter-spacing:.22em;color:#d8eeff;margin-bottom:10px}
.startCopy h2{margin:0 0 10px;font-size:32px;line-height:.97;max-width:440px}
.startCopy p{margin:0;max-width:420px;font-size:14px;color:#e5f1fb}
.enterBtn{position:relative;z-index:2;min-width:190px;height:56px;padding:0 24px;border:1px solid #66b8ff;border-radius:16px;background:linear-gradient(180deg,#1f8ff7,#0c67d0);color:#fff;font-weight:900;font-size:20px;box-shadow:0 12px 28px rgba(10,96,195,.36)}
.backBright{background:linear-gradient(180deg,#1ea2ff,#0b73da)!important;color:#fff!important;border-color:#66c5ff!important;box-shadow:0 8px 22px rgba(6,108,204,.32)}
.topbar.hiddenTop{display:none}
.reportGrid{max-width:760px!important;grid-template-columns:1.25fr .55fr!important;gap:10px!important;padding:10px!important}
.reportFields{gap:6px!important}.field{margin:4px 0!important}.field input,.field select,.field textarea{padding:8px!important}
.photoBox{min-height:122px!important;border-radius:10px!important}.linkbar{margin:8px auto!important}.reportActions{max-width:760px;margin:8px auto 0;display:grid;grid-template-columns:1fr;gap:8px}.reportActions button{height:42px!important}
.firstNameInput{font-weight:900!important}
.tileBody{height:63px!important;padding:2px 5px 4px!important}.ratingRow{height:12px;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.11);margin-top:2px}.ratingInput{font-size:6.5px!important;font-weight:850!important;text-align:center}
.positionBar{border-radius:4px 4px 0 0!important}.tileBody{border-radius:0 0 4px 4px!important}
.playerTile.fu .positionBar,.playerTile.fu .tileBody{box-shadow:0 0 0 1.5px #7bd97d inset,0 2px 5px rgba(0,0,0,.16)}
.playerTile.shxi .positionBar,.playerTile.shxi .tileBody{box-shadow:0 0 0 3px #d1a739 inset,0 2px 5px rgba(0,0,0,.16)}
.playerTile.nfu .positionBar,.playerTile.nfu .tileBody{box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 2px 5px rgba(0,0,0,.16)}
#shxiList .playerrow{border-color:#7b6220;background:linear-gradient(180deg,#20180b,#0e1219)}
.shxiBadge{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:10px;font-weight:900;color:#f3cc5a}
.matchHeaderSmallNote{font-size:10px;color:#9cb1c2}
.pitch{cursor:default}
.slot{touch-action:none}
@media(max-width:480px){.startCopy h2{font-size:26px}.startCopy p{font-size:13px;max-width:300px}.enterBtn{height:52px;min-width:170px;font-size:18px}.reportGrid{grid-template-columns:1fr .58fr!important;padding:8px!important}.photoBox{min-height:105px!important}.tileBody{height:55px!important}.ratingRow{height:10px}.ratingInput{font-size:5.6px!important}}


/* =========================================================
   V10 — embedded splash background and SHXI field board
   ========================================================= */
.startHero{position:relative;min-height:100svh;background:url('./assets/start-hero.webp') center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;padding:0 18px calc(78px + env(safe-area-inset-bottom))}
.startHero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0) 45%,rgba(0,0,0,.10) 100%)}

.startBrand{position:relative;z-index:2;margin-bottom:18px;display:flex;flex-direction:column;align-items:center;gap:0}
.startTitle{position:relative;padding:12px 18px 10px;border-radius:18px;background:linear-gradient(180deg,rgba(7,31,66,.34),rgba(7,31,66,.18));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.24);box-shadow:0 10px 28px rgba(3,18,43,.22);font-size:30px;line-height:1;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#f6fbff;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.16)}
.startTitle::after{content:"";position:absolute;left:14%;right:14%;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(98,184,255,0),rgba(98,184,255,.9),rgba(98,184,255,0))}
.startGlow{width:74%;height:18px;margin-top:-4px;border-radius:999px;background:radial-gradient(ellipse at center,rgba(116,196,255,.48),rgba(116,196,255,0) 70%);filter:blur(6px)}
.startHero{gap:0;flex-direction:column}
.enterBtn{z-index:2}
@media(max-width:480px){.startBrand{margin-bottom:14px}.startTitle{font-size:22px;padding:10px 14px 9px;border-radius:14px}.startGlow{height:14px;width:78%}}

.startShade,.startCopy{display:none!important}
.enterBtn{position:relative;z-index:2;min-width:176px;height:54px;padding:0 22px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:linear-gradient(180deg,#2b8ef6,#0b63c5);color:#fff;font-weight:900;font-size:20px;box-shadow:0 16px 34px rgba(9,83,170,.34)}
.filtersRow{display:grid;grid-template-columns:minmax(0,1fr) 106px 106px;gap:8px;align-items:center}
.search.small{padding-left:12px;text-align:center}
.shxiBoardWrap{max-width:620px;margin:10px auto 14px;padding:10px;border-radius:22px;background:#04121f;border:1px solid #20384c;box-shadow:0 18px 40px rgba(0,0,0,.24)}
.shxiBoard{position:relative;height:640px;border-radius:18px;overflow:hidden;background:linear-gradient(144deg,rgba(133,177,255,.10) 0 17%, transparent 17% 100%),repeating-linear-gradient(144deg,#102f7c 0 82px,#214c9d 82px 164px,#163d8c 164px 246px,#2c67b2 246px 328px),linear-gradient(144deg,#153680,#214c9d)}
.shxiBoard:before{content:"";position:absolute;inset:2%;border:3px solid rgba(255,255,255,.82);border-radius:14px}
.shxiMid{position:absolute;left:2%;right:2%;top:50%;border-top:3px solid rgba(255,255,255,.82)}
.shxiCircle{position:absolute;left:38%;top:38%;width:24%;height:24%;border:3px solid rgba(255,255,255,.82);border-radius:50%}
.shxiBoxTop{position:absolute;left:24%;top:2%;width:52%;height:11.6%;border:3px solid rgba(255,255,255,.82);border-top:0}
.shxiSlot{position:absolute;transform:translate(-50%,-50%);width:16%;max-width:110px;min-width:62px}
.shxiCard{border-radius:6px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.shxiPos{height:18px;background:#727c86;color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;letter-spacing:.02em}
.shxiNames{background:rgba(37,50,66,.94);color:#fff;padding:4px 6px 5px;border-radius:0 0 6px 6px;min-height:58px;box-shadow:0 0 0 3px #d1a739 inset}
.shxiNames ol{margin:0;padding-left:14px}.shxiNames li{font-size:8px;line-height:1.28;margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shxiNames .emptyMini{font-size:8px;color:#b9c3cd;text-align:center;padding-top:16px}
.playerTile.fu .positionBar{box-shadow:none!important}.playerTile.fu .tileBody{box-shadow:0 0 0 1.5px #d1a739 inset,0 2px 5px rgba(0,0,0,.16)!important}
.playerTile.shxi .positionBar{box-shadow:none!important}.playerTile.shxi .tileBody{box-shadow:0 0 0 3px #d1a739 inset,0 2px 5px rgba(0,0,0,.16)!important}
.playerTile.nfu .positionBar,.playerTile.nfu .tileBody{box-shadow:none!important}
@media(max-width:480px){.filtersRow{grid-template-columns:1fr 88px 88px}.shxiBoardWrap{padding:7px;border-radius:16px}.shxiBoard{height:580px;border-radius:13px}.shxiBoard:before,.shxiMid,.shxiCircle,.shxiBoxTop{border-width:2px}.shxiSlot{width:17%;min-width:54px}.shxiPos{height:15px;font-size:7px}.shxiNames{min-height:49px;padding:3px 4px}.shxiNames li,.shxiNames .emptyMini{font-size:6.4px;line-height:1.25}}


/* V12 — smart position zones while dragging */
.dragGhost .positionName{transition:color .08s ease,background .08s ease}
body.playerDragging .dragGhost .positionName{font-weight:950;color:#fff}


.historyImportNote{max-width:760px;margin:2px auto 10px;padding:8px 11px;border:1px solid rgba(55,158,235,.32);border-radius:9px;background:rgba(8,72,125,.13);color:#9ccaf0;font-size:10px;text-align:center}

/* =========================================================
   V15 CHECKED — clean intro + reliable match filters
   ========================================================= */
.startBrand,.startTitle,.startGlow{display:none!important}
.startHero{display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:center!important;padding:0 18px calc(34px + env(safe-area-inset-bottom))!important}
.enterBtn{position:relative!important;z-index:2!important;min-width:168px!important;height:52px!important;padding:0 22px!important;border:0!important;border-radius:10px!important;background:linear-gradient(180deg,#2b8ef6,#0b63c5)!important;color:#fff!important;font-weight:900!important;font-size:20px!important;box-shadow:0 14px 30px rgba(9,83,170,.30)!important}
.matchFilters{max-width:760px;margin:0 auto 14px;display:grid;gap:10px}
.filterSearchGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.filterField{display:grid;gap:5px}
.filterField>span{font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#7692a8;padding-left:2px}
.filterField .search{height:44px}
.dateRangeCard{border:1px solid #1f3d54;border-radius:12px;background:linear-gradient(180deg,#081b2b,#061420);padding:10px 12px 12px;box-shadow:var(--shadow)}
.dateRangeHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#91b5d0;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.resetFilters{border:0;background:transparent;color:#2d9cff;font-weight:850;font-size:10px;padding:4px 0;cursor:pointer}
.dateRangeLabels{display:flex;justify-content:space-between;gap:12px;margin:7px 0 2px;color:#fff;font-size:11px}
.dualRange{position:relative;height:34px;display:flex;align-items:center}
.rangeRail,.rangeFill{position:absolute;left:0;right:0;top:15px;height:5px;border-radius:999px;pointer-events:none}
.rangeRail{background:#17364c}.rangeFill{right:auto;background:#168cf1;width:100%}
.dualRange input[type=range]{position:absolute;left:0;top:0;width:100%;height:34px;margin:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none;outline:none}
.dualRange input[type=range]::-webkit-slider-runnable-track{height:5px;background:transparent}
.dualRange input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:19px;height:19px;border-radius:50%;border:2px solid #d8edff;background:#168cf1;box-shadow:0 3px 10px rgba(0,0,0,.28);margin-top:-7px;pointer-events:auto;cursor:pointer}
.dualRange input[type=range]::-moz-range-track{height:5px;background:transparent}
.dualRange input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;border:2px solid #d8edff;background:#168cf1;box-shadow:0 3px 10px rgba(0,0,0,.28);pointer-events:auto;cursor:pointer}
.matchCount{text-align:right;color:#7194ad;font-size:10px;margin-top:1px}
@media(max-width:520px){.filterSearchGrid{grid-template-columns:1fr}.matchFilters{gap:8px}.dateRangeCard{padding:9px 10px 10px}}
@media(min-width:900px){.matchFilters{max-width:980px}}


/* v16 — Android/content:// safe start screen */
body.start-mode{overflow:hidden!important;background:#020b14!important}
body.start-mode .topbar,body.start-mode #bottomNav,body.start-mode #addMatchBtn{display:none!important}
body.start-mode main{margin:0!important;padding:0!important}
body.start-mode #startPage{display:block!important;position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;z-index:500!important}
body.start-mode #startPage .startHero{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;padding:0 18px calc(145px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important}
body.start-mode #enterApp{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0 auto!important;min-width:168px!important;height:52px!important;border:0!important;border-radius:11px!important;background:linear-gradient(180deg,#2b8ef6,#0b63c5)!important;color:#fff!important;font-size:20px!important;font-weight:900!important;box-shadow:0 14px 30px rgba(9,83,170,.32)!important;z-index:502!important}


/* =========================================================
   V17 — minimal wedstrijden header + compact filters
   ========================================================= */
body.matches-clean .topbar{display:none!important}
body.matches-clean #bottomNav{display:none!important}
body.matches-clean #matchesPage{padding-top:0!important;padding-bottom:92px!important}
body.matches-clean main{padding-top:0!important}
.matchesMiniNav{height:52px;display:flex;align-items:center;justify-content:flex-start;gap:20px;margin:0 auto 7px;padding-left:2px;border-bottom:1px solid rgba(255,255,255,.055)}
.matchesMiniNav button{width:34px;height:38px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;opacity:.72;cursor:pointer}
.matchesMiniNav button:hover,.matchesMiniNav button:focus-visible{opacity:1}
.matchesMiniNav button.active{opacity:1}
.matchesMiniNav button.active:after{content:"";position:absolute;margin-top:35px;width:14px;height:2px;border-radius:2px;background:rgba(255,255,255,.82)}
.matchesMiniNav button{position:relative}
.matchesMiniNav svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.matchFilters{max-width:760px!important;margin:0 auto 9px!important;display:grid!important;gap:6px!important}
.filterSearchGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
.filterField{display:block!important}
.filterField>span{display:none!important}
.filterField .search{height:34px!important;border-radius:8px!important;padding:0 10px!important;font-size:12px!important;background:#061522!important}
.dateRangeCard{border-radius:9px!important;padding:6px 9px 7px!important;box-shadow:none!important}
.dateRangeHeader{height:18px!important;font-size:8px!important;letter-spacing:.055em!important}
.resetFilters{font-size:8px!important;padding:1px 0!important}
.dateRangeLabels{margin:1px 0 0!important;font-size:9px!important;line-height:1!important}
.dualRange{height:24px!important}
.rangeRail,.rangeFill{top:11px!important;height:3px!important}
.dualRange input[type=range]{height:24px!important}
.dualRange input[type=range]::-webkit-slider-runnable-track{height:3px!important}
.dualRange input[type=range]::-webkit-slider-thumb{width:15px!important;height:15px!important;border-width:1.5px!important;margin-top:-6px!important}
.dualRange input[type=range]::-moz-range-track{height:3px!important}
.dualRange input[type=range]::-moz-range-thumb{width:13px!important;height:13px!important;border-width:1.5px!important}
.matchCount{font-size:8px!important;line-height:1!important;margin-top:-1px!important}
.historyImportNote.historyBottom{margin:16px auto 2px!important;padding:7px 9px!important;opacity:.68;font-size:9px!important;border-radius:8px!important}
@media(max-width:520px){
  .filterSearchGrid{grid-template-columns:1fr 1fr!important;gap:5px!important}
  .matchFilters{gap:5px!important}
  .dateRangeCard{padding:5px 8px 6px!important}
  .matchesMiniNav{height:48px;gap:18px;margin-bottom:6px;padding-left:0}
  .matchesMiniNav svg{width:20px;height:20px}
}


/* ===== v19: echte wedstrijden + toernooien ===== */
#bottomNav{display:none!important}
.appMiniNav{height:48px;display:flex;align-items:center;justify-content:flex-start;gap:19px;margin:0 0 8px;padding:0 2px;border:0;background:transparent}
.appMiniNav button{width:30px;height:36px;padding:0;border:0;background:transparent;color:#fff;opacity:.72;display:grid;place-items:center;position:relative}
.appMiniNav button.active{opacity:1}
.appMiniNav button.active::after{content:"";position:absolute;bottom:0;width:4px;height:4px;border-radius:50%;background:#fff}
.appMiniNav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.compact-shell .topbar{display:none!important}
body.compact-shell main{padding-top:max(6px,env(safe-area-inset-top))}
#matchesPage,#playersPage,#shxiPage,#tournamentPage{padding-top:0!important}
.eventTypeTabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;max-width:420px;margin:0 0 7px;background:#071724;border:1px solid #183449;border-radius:9px;padding:3px}
.eventTypeTabs button{height:31px;border:0;border-radius:6px;background:transparent;color:#7790a2;font-size:11px;font-weight:850}
.eventTypeTabs button.active{background:#0b2941;color:#fff;box-shadow:inset 0 0 0 1px #28526f}
.tournamentCard .matchteams{gap:5px}
.tournamentBadge{display:inline-flex;align-items:center;width:max-content;padding:3px 7px;border:1px solid #28526f;border-radius:999px;color:#8db7d6;background:#0a2234;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tournamentCard .teamname{white-space:normal;line-height:1.16;font-size:14px}
.tournamentMeta{font-size:9px;color:#6f8798;margin-top:2px}
.tournamentHeader{margin:2px 0 13px;padding:13px 14px;border-radius:12px;background:linear-gradient(180deg,#081d30,#061522);border:1px solid #1f3c52}
.tournamentHeader .eyebrow{font-size:8px;color:#6daedc;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.tournamentHeader h2{font-size:20px;line-height:1.12;margin:5px 0 4px;color:#fff}
.tournamentHeader .meta{font-size:10px;color:#8197a8}
#tournamentPlayersList{display:grid;gap:8px;padding-bottom:92px}
.tournamentPlayer{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;min-height:66px;background:linear-gradient(180deg,#071d31,#061522);border:1px solid #1f3c52;border-radius:11px;overflow:hidden}
.tournamentPlayerIcon{width:30px;height:30px;margin-left:8px;border-radius:8px;background:#0a2b45;border:1px solid #24577a;display:grid;place-items:center;color:#a9c9df;font-size:12px;font-weight:900}
.tournamentPlayerMain{min-width:0;padding:8px 7px}.tournamentPlayerMain b{display:block;color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tournamentPlayerMain span{font-size:9px;color:#7e96a8}
.tournamentAddPlayer{position:fixed;z-index:65;left:50%;transform:translateX(-50%);bottom:calc(22px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:16px;border:0;background:linear-gradient(180deg,#168ff5,#0861c7);color:#fff;font-size:34px;line-height:1;box-shadow:0 14px 34px rgba(0,91,194,.42)}
body:not(.tournament-mode) #addTournamentPlayerBtn{display:none!important}
.tournamentClubField.hidden{display:none!important}
.tournamentEmpty{padding:28px 14px;text-align:center;border:1px dashed #23435a;border-radius:12px;color:#7690a3;font-size:11px}
.newTypeHint{font-size:10px;color:#8098aa;margin:-2px 0 10px}
@media(min-width:900px){.appMiniNav{max-width:980px;margin-left:auto;margin-right:auto}.eventTypeTabs{margin-left:auto;margin-right:auto}.tournamentHeader,#tournamentPlayersList{max-width:720px;margin-left:auto;margin-right:auto}}


/* =========================================================
   V20 — gecombineerde lijst + vastgevroren hoofdnavigatie
   ========================================================= */
.appMiniNav{
  position:sticky!important;
  top:0!important;
  z-index:180!important;
  height:48px!important;
  margin:0 -12px 8px!important;
  padding:0 12px!important;
  justify-content:flex-start!important;
  background:rgba(4,15,25,.96)!important;
  border-bottom:1px solid rgba(255,255,255,.065)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.appMiniNav button{color:#fff!important}
@media(min-width:900px){
  .appMiniNav{max-width:none!important;margin:0 -26px 10px!important;padding-left:26px!important;padding-right:26px!important}
}
.eventTypeTabs{display:none!important}
.tournamentCard .matchteams{justify-content:center!important;gap:0!important}
.tournamentCard .teamline{min-height:38px!important}
.tournamentCard .teamname{font-size:15px!important;font-weight:850!important;white-space:normal!important}
.tournamentCard .teamdot{background:#08253d!important;border-color:#2b668f!important;color:#8fcaff!important}


/* v21: external club metadata + tournament trophy */
.teamdot.tournamentTrophy{color:#dcecff;background:#092035;border-color:#2b668f}
.teamdot.tournamentTrophy svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.teamdot.externalLogo{background:transparent!important;border-color:#315d7b}
.teamdot.externalLogo img{background:transparent!important;padding:2px;box-sizing:border-box}
.clubMetaLoading{opacity:.72}


/* v22 — bekijken vs aanpassen */
.openModeSheet{max-width:390px}
.openModeIntro{margin:-2px 0 12px;color:#7f98aa;font-size:11px;line-height:1.45}
.openModeActions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.openModeActions button{min-height:54px;border-radius:11px;border:1px solid #26475e;background:#081b2a;color:#d9e7f2;font-weight:850;font-size:13px}
.openModeActions button.primaryView{border-color:#188eea;background:linear-gradient(180deg,#1287e8,#0864bc);color:#fff}
#eventViewPage{padding-top:0!important;padding-bottom:46px!important}
.viewEventShell{max-width:760px;margin:0 auto}
.viewEventHeader{position:relative;margin:2px 0 10px;padding:12px;border:1px solid #1d3b51;border-radius:12px;background:linear-gradient(180deg,#081d30,#061522)}
.viewEventTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.viewEventEyebrow{font-size:8px;line-height:1;color:#63b7f2;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:5px}
.viewEventTitle{margin:0;color:#fff;font-size:18px;line-height:1.15;font-weight:900}
.viewEventMeta{margin-top:5px;color:#7892a6;font-size:10px}
.viewEditBtn{flex:0 0 auto;height:34px;padding:0 11px;border:1px solid #2c5b7b;border-radius:9px;background:#0a2437;color:#d8efff;font-size:10px;font-weight:850}
.viewTeams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.viewTeam{display:flex;align-items:center;gap:8px;min-width:0}.viewTeam:last-child{justify-content:flex-end;text-align:right}
.viewTeamLogo{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;overflow:hidden;border:1px solid #285675;background:#08243a;color:#9dc8e7;font-size:10px;font-weight:900;flex:0 0 auto}
.viewTeamLogo img{width:100%;height:100%;object-fit:contain;background:transparent}
.viewTeamName{font-size:12px;font-weight:850;color:#fff;white-space:normal;line-height:1.15}
.viewVs{font-size:9px;color:#628096;font-weight:800}
.viewSectionTitle{margin:15px 2px 7px;color:#8eb9d7;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:900}
.viewReportList{display:grid;gap:7px}
.viewReportCard{border:1px solid #1b384d;border-radius:11px;background:linear-gradient(180deg,#071a2b,#05131f);overflow:hidden}
.viewReportHead{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:8px 9px}
.viewAvatar{width:32px;height:32px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:#0b2a43;border:1px solid #285875;color:#b8d8ed;font-size:9px;font-weight:900}
.viewAvatar img{width:100%;height:100%;object-fit:cover}
.viewPlayerName{font-size:12px;line-height:1.1;font-weight:900;color:#fff}
.viewPlayerMeta{margin-top:3px;color:#718b9f;font-size:9px;line-height:1.35}
.viewRating{align-self:start;padding:4px 7px;border-radius:999px;border:1px solid #285675;background:#0b263a;color:#8dbfe1;font-size:8px;font-weight:900}
.viewRating.SHXI{border-color:#cda83e;color:#e6ca73;background:rgba(178,137,24,.08)}
.viewRating.FU{border-color:#9a7c2e;color:#d7bc6a}.viewRating.NFU{border-color:#435466;color:#8da0ae}
.viewBullets{padding:0 9px 9px 51px;color:#c5d3de;font-size:10px;line-height:1.45;white-space:pre-wrap}
.viewBullets.empty{color:#526a7c;font-style:italic}
.viewTournamentNameRow{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.viewTrophy{width:34px;height:34px;border:1px solid #285675;border-radius:8px;display:grid;place-items:center;color:#dcecff;background:#092035;flex:0 0 auto}.viewTrophy svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.viewTournamentLabel{font-size:12px;color:#fff;font-weight:850}
body.view-mode #bottomNav,body.view-mode #addMatchBtn{display:none!important}
@media(min-width:900px){.viewEventShell{max-width:760px}.viewReportList{grid-template-columns:1fr 1fr}.viewReportCard{break-inside:avoid}}


/* ===== v23: compact match header + stronger external logos ===== */
#matchPage .appMiniNav{gap:16px!important}
#matchPage .miniNavSpacer{flex:1 1 auto;min-width:8px}
#matchPage .appMiniNav .matchNavAction{opacity:1!important;color:#fff!important;width:34px!important;height:36px!important;flex:0 0 auto}
#matchPage .appMiniNav .matchNavAction::after{display:none!important}
#matchPage .appMiniNav .matchNavAction svg{width:19px;height:19px}
#matchPage .appMiniNav .matchNavExport{width:auto!important;min-width:66px!important;padding:0 5px!important;display:flex!important;grid-template-columns:none!important;gap:5px!important;color:#68baff!important;font-size:11px;font-weight:800;white-space:nowrap}
#matchPage .appMiniNav .matchNavExport svg{width:16px;height:16px}
body.match-editor-shell .topbar{display:none!important}
body.match-editor-shell main{padding-top:max(6px,env(safe-area-inset-top))}
.teamdot img,.teamBadge img,.playerAvatar img{object-fit:contain}
.teamdot.logoFailed,.teamBadge.logoFailed{background:#08253d!important;color:#7fbce7!important}


/* v24 — fixed overview actions + centered add button */
#matchesList .matchcard{
  grid-template-columns:72px minmax(0,1fr) 96px!important;
  min-width:0!important;
}
#matchesList .matchteams{
  min-width:0!important;
  overflow:hidden!important;
}
#matchesList .teamline{
  min-width:0!important;
  max-width:100%!important;
}
#matchesList .teamname{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.matchCardActions{
  width:96px;
  min-width:96px;
  border-left:1px solid rgba(255,255,255,.055);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 7px;
  box-sizing:border-box;
}
.matchCardAction{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border:1px solid #24557a;
  border-radius:9px;
  background:#071a2a;
  color:#f4f8fb;
  padding:0;
  box-shadow:none;
  cursor:pointer;
}
.matchCardAction.viewAction{border-color:#2974a8;background:#09263c}
.matchCardAction.editAction{border-color:#34516a;background:#091824}
.matchCardAction:active{transform:scale(.96)}
.matchCardAction svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* Match/tournament names yield space; the action buttons never move. */
#matchesList .tournamentCard .matchteams{padding-right:8px!important}

#addMatchBtn.fab{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  bottom:calc(20px + env(safe-area-inset-bottom))!important;
  width:58px!important;
  height:58px!important;
  border-radius:14px!important;
  border:1px solid #32a6ff!important;
}
@media(min-width:900px){
  #addMatchBtn.fab{left:50%!important;right:auto!important;bottom:28px!important}
}
@media(max-width:420px){
  #matchesList .matchcard{grid-template-columns:68px minmax(0,1fr) 90px!important}
  .matchCardActions{width:90px;min-width:90px;gap:6px;padding:0 6px}
  .matchCardAction{width:35px;height:35px;flex-basis:35px}
}


/* ===== v26 — tekstgerichte UI, zonder club-/spelerlogo's ===== */
.teamBadge,.playerAvatar,.viewTeamLogo,.viewAvatar,.clubChosenLogo{display:none!important}
.teamTitle{grid-template-columns:1fr!important}.teamText{min-width:0!important}.teamIdentityLine{min-width:0!important}.teamTitleName{margin-left:0!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#matchesList .matchcard{grid-template-columns:72px minmax(0,1fr) 104px!important;min-height:122px!important}
#matchesList .matchteams{padding:10px 12px!important;min-width:0!important;overflow:hidden!important}
#matchesList .teamline{gap:0!important;min-width:0!important;overflow:hidden!important}
#matchesList .teamname{font-size:15px!important;font-weight:850!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#matchesList .vs.cleanVs{margin-left:0!important;padding:2px 0!important}
.matchCardActions{width:104px!important;min-width:104px!important;height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;gap:7px!important;padding:8px!important;box-sizing:border-box!important}
.matchCardAction{width:100%!important;height:40px!important;min-height:40px!important;flex:0 0 40px!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:0 6px!important;color:#f3f8fc!important;font-size:9px!important;font-weight:850!important;line-height:1!important}
.matchCardAction.editAction{order:1!important;border-color:#2d6a93!important;background:#0a2a41!important}.matchCardAction.viewAction{order:2!important;border-color:#29485f!important;background:#071925!important}
.matchCardAction svg{width:15px!important;height:15px!important;flex:0 0 15px!important;stroke-width:1.8!important}.matchCardAction span{display:block!important;white-space:nowrap!important}
.tournamentTrophyInline{width:29px;height:29px;flex:0 0 29px;margin-right:9px;border:1px solid #2b668f;border-radius:8px;display:grid;place-items:center;color:#cce7fb;background:#092035}.tournamentTrophyInline svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tournamentLine{gap:0!important}.tournamentLine .teamname{min-width:0!important}
.cleanPlayerRow{grid-template-columns:minmax(0,1fr) 42px!important;padding-left:12px!important}.cleanPlayerRow .playerMain{min-width:0!important}
.tournamentPlayer.cleanTextRow{grid-template-columns:minmax(0,1fr) 38px!important}.tournamentPlayer.cleanTextRow .tournamentPlayerMain{padding-left:12px!important}
.cleanViewTeams .viewTeam{min-width:0!important}.cleanViewTeams .viewTeamName{white-space:normal!important}.cleanViewHead{grid-template-columns:minmax(0,1fr) auto!important;padding-left:10px!important}.cleanViewReport .viewBullets{padding-left:10px!important}
.sLogo.plainMark{background:transparent!important;border:0!important;color:#8fb5d2!important}
#chosenA .clubChosenLogo,#chosenB .clubChosenLogo{display:none!important}
@media(max-width:480px){#matchesList .matchcard{grid-template-columns:68px minmax(0,1fr) 92px!important}.matchCardActions{width:92px!important;min-width:92px!important;padding:7px 6px!important;gap:6px!important}.matchCardAction{font-size:8px!important;height:38px!important;min-height:38px!important;flex-basis:38px!important}.matchCardAction svg{width:14px!important;height:14px!important;flex-basis:14px!important}}


/* ===== v27 — icon-only overview actions + tournament header actions ===== */
#matchesList .matchcard{grid-template-columns:72px minmax(0,1fr) 54px!important}
.matchCardActions{width:54px!important;min-width:54px!important;padding:8px 6px!important;gap:7px!important;align-items:center!important}
.matchCardAction{width:38px!important;height:38px!important;min-height:38px!important;flex:0 0 38px!important;padding:0!important;gap:0!important;border-radius:9px!important}
.matchCardAction svg{width:17px!important;height:17px!important;flex:0 0 17px!important;stroke-width:1.9!important}
.matchCardAction span{display:none!important}
@media(max-width:480px){
  #matchesList .matchcard{grid-template-columns:68px minmax(0,1fr) 50px!important}
  .matchCardActions{width:50px!important;min-width:50px!important;padding:7px 5px!important;gap:6px!important}
  .matchCardAction{width:36px!important;height:36px!important;min-height:36px!important;flex-basis:36px!important}
  .matchCardAction svg{width:16px!important;height:16px!important;flex-basis:16px!important}
}
#tournamentPage .appMiniNav{gap:16px!important}
#tournamentPage .miniNavSpacer{flex:1 1 auto;min-width:8px}
#tournamentPage .appMiniNav .matchNavAction{opacity:1!important;color:#fff!important;width:34px!important;height:36px!important;flex:0 0 auto}
#tournamentPage .appMiniNav .matchNavAction::after{display:none!important}
#tournamentPage .appMiniNav .matchNavAction svg{width:19px;height:19px}
#tournamentPage .appMiniNav .matchNavExport{width:auto!important;min-width:66px!important;padding:0 5px!important;display:flex!important;grid-template-columns:none!important;gap:5px!important;color:#68baff!important;font-size:11px;font-weight:800;white-space:nowrap}
#tournamentPage .appMiniNav .matchNavExport svg{width:16px;height:16px}


/* ===== v28 — editable club / tournament names in overview ===== */
#matchesList .editableEventName{
  width:100%;
  min-width:0;
  height:30px;
  border:0;
  border-bottom:1px solid transparent;
  border-radius:0;
  padding:2px 0;
  background:transparent;
  color:#f5f9fc;
  font:inherit;
  font-size:15px;
  font-weight:850;
  line-height:1.15;
  outline:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#matchesList .editableEventName:hover{
  border-bottom-color:rgba(104,186,255,.22);
}
#matchesList .editableEventName:focus{
  border-bottom-color:#2d9cff;
  background:rgba(17,65,99,.18);
  text-overflow:clip;
}
#matchesList .tournamentNameInput{
  font-size:15px;
}
#matchesList .teamline{
  width:100%;
  min-width:0;
}
#matchesList .tournamentLine{
  min-width:0;
}
#matchesList .tournamentTrophyInline{
  flex:0 0 auto;
}
@media(max-width:480px){
  #matchesList .editableEventName{font-size:14px;height:28px}
}


/* ===== v29 — read-only Back/Export + empty team side ===== */
#eventViewPage .appMiniNav{gap:16px!important}
#eventViewPage .miniNavSpacer{flex:1 1 auto;min-width:8px}
#eventViewPage .appMiniNav .matchNavAction{
  opacity:1!important;color:#fff!important;width:34px!important;height:36px!important;flex:0 0 auto
}
#eventViewPage .appMiniNav .matchNavAction::after{display:none!important}
#eventViewPage .appMiniNav .matchNavAction svg{width:19px;height:19px}
#eventViewPage .appMiniNav .matchNavExport{
  width:auto!important;min-width:66px!important;padding:0 5px!important;
  display:flex!important;grid-template-columns:none!important;gap:5px!important;
  color:#68baff!important;font-size:11px;font-weight:800;white-space:nowrap
}
#eventViewPage .appMiniNav .matchNavExport svg{width:16px;height:16px}
.formation:disabled{opacity:.3;pointer-events:none}


/* ===== v30 — swap Team A / Team B ends ===== */
#matchPage .pitchWrap{position:relative}
.swapTeamsBtn{
  position:absolute;
  top:14px;
  right:14px;
  z-index:30;
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.42);
  border-radius:10px;
  background:rgba(5,23,37,.72);
  color:#fff;
  box-shadow:0 5px 15px rgba(0,0,0,.28);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.swapTeamsBtn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.swapTeamsBtn:active{transform:scale(.94);background:rgba(20,102,157,.88)}


/* ===== v31 — visible team-side switch + mail current report ===== */
#matchPage .pitch{position:relative}
#matchPage .swapTeamsBtn{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:500!important;
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:12px!important;
  background:#1597ed!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  box-shadow:0 7px 20px rgba(0,0,0,.35)!important;
}
#matchPage .swapTeamsBtn::after{display:none!important}
#matchPage .swapTeamsBtn svg{
  width:24px!important;
  height:24px!important;
  stroke-width:2.1!important;
}
#matchPage .swapTeamsBtn:active{transform:scale(.93)!important;background:#087bc7!important}

#reportPage .appMiniNav{gap:16px!important}
#reportPage .miniNavSpacer{flex:1 1 auto;min-width:8px}
#reportPage .reportMailBtn{
  width:42px!important;
  height:36px!important;
  flex:0 0 42px!important;
  display:grid!important;
  place-items:center!important;
  opacity:1!important;
  color:#68baff!important;
  border:0!important;
  background:transparent!important;
}
#reportPage .reportMailBtn::after{display:none!important}
#reportPage .reportMailBtn svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}


/* ===== v32 — mail whole match from match screen + smaller switch button ===== */
#matchPage .swapTeamsBtn{
  top:10px!important;
  right:10px!important;
  width:36px!important;
  height:36px!important;
  border:0!important;
  border-radius:10px!important;
  background:rgba(21,151,237,.92)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.26)!important;
}
#matchPage .swapTeamsBtn svg{
  width:19px!important;
  height:19px!important;
  stroke-width:1.9!important;
}
#matchPage .matchMailBtn{
  width:34px!important;
  min-width:34px!important;
  height:36px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  color:#68baff!important;
  flex:0 0 34px!important;
}
#matchPage .matchMailBtn::after{display:none!important}
#matchPage .matchMailBtn svg{
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}


/* ===== v33 — one global top navigation on every app page ===== */

/* The old text header is no longer used after the splash screen. */
body:not(.start-mode) .topbar{display:none!important}
body:not(.start-mode) main{
  padding-top:0!important;
  margin-top:0!important;
}

/* Every page starts below the fixed 52px navigation. */
body:not(.start-mode) .page{
  padding-top:60px!important;
}
body.start-mode #startPage{
  padding-top:0!important;
}

/* One identical bar everywhere, flush against the top of the viewport. */
body:not(.start-mode) .appMiniNav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:1000!important;
  width:100%!important;
  max-width:none!important;
  height:52px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:18px!important;
  background:rgba(4,15,25,.985)!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

/* Left and right icons use exactly the same visual system. */
body:not(.start-mode) .appMiniNav button,
body:not(.start-mode) .appMiniNav .matchNavAction,
body:not(.start-mode) .appMiniNav .matchNavExport,
body:not(.start-mode) .appMiniNav .matchMailBtn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:36px!important;
  min-height:36px!important;
  flex:0 0 30px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  opacity:.74!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:0!important;
}
body:not(.start-mode) .appMiniNav button.active{
  opacity:1!important;
}
body:not(.start-mode) .appMiniNav button.active::after{
  content:""!important;
  position:absolute!important;
  bottom:0!important;
  width:4px!important;
  height:4px!important;
  border-radius:50%!important;
  background:#fff!important;
}
body:not(.start-mode) .appMiniNav .matchNavAction::after,
body:not(.start-mode) .appMiniNav .matchNavExport::after,
body:not(.start-mode) .appMiniNav .matchMailBtn::after{
  display:none!important;
}
body:not(.start-mode) .appMiniNav svg,
body:not(.start-mode) .appMiniNav .matchNavAction svg,
body:not(.start-mode) .appMiniNav .matchNavExport svg,
body:not(.start-mode) .appMiniNav .matchMailBtn svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.start-mode) .appMiniNav .miniNavSpacer{
  flex:1 1 auto!important;
  min-width:8px!important;
}
body:not(.start-mode) .appMiniNav .matchNavExport span{
  display:none!important;
}

/* No hidden safe-area gap above the navigation in local Android/browser use. */
body.compact-shell main,
body.match-editor-shell main{
  padding-top:0!important;
}

/* Keep content spacing consistent on all app pages. */
#matchesPage,#playersPage,#shxiPage,#matchPage,#tournamentPage,#eventViewPage,#reportPage{
  padding-top:60px!important;
}


/* ===== v34 — compact right action group + native pinch zoom ===== */
html,body{
  touch-action:pan-x pan-y pinch-zoom;
}

/* The three match actions behave as one tight, evenly-spaced group. */
#matchPage .appMiniNav .miniNavRight{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
}
#matchPage .appMiniNav .miniNavRight > button,
#matchPage .appMiniNav .miniNavRight > .matchNavAction,
#matchPage .appMiniNav .miniNavRight > .matchNavExport,
#matchPage .appMiniNav .miniNavRight > .matchMailBtn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:36px!important;
  min-height:36px!important;
  flex:0 0 30px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  opacity:.74!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  font-size:0!important;
}
#matchPage .appMiniNav .miniNavRight > button svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#matchPage .appMiniNav .miniNavRight > button::after{
  display:none!important;
}


/* ===== v35 — event undo history ===== */
#matchPage .appMiniNav .miniNavRight,
#tournamentPage .appMiniNav .miniNavRight,
#reportPage .appMiniNav .miniNavRight{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
}
#tournamentPage .appMiniNav .miniNavRight > button,
#reportPage .appMiniNav .miniNavRight > button{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:36px!important;
  min-height:36px!important;
  flex:0 0 30px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  opacity:.74!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  font-size:0!important;
}
#tournamentPage .appMiniNav .miniNavRight > button svg,
#reportPage .appMiniNav .miniNavRight > button svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.start-mode) .appMiniNav .undoAction:disabled{
  opacity:.24!important;
  pointer-events:auto!important;
}


/* ===== v36 — automatic 48h cloud backup ===== */
.cloudBackupPanel{margin:14px 0 16px;padding:13px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(8,35,55,.45)}
.cloudBackupTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.cloudBackupTitleRow strong{font-size:13px}
.cloudBackupBadge{flex:0 0 auto;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:#aab8c3;font-size:9px;font-weight:800}
.cloudBackupBadge.ok{color:#bfe9cf;border-color:rgba(90,210,137,.34);background:rgba(54,148,91,.12)}
.cloudBackupBadge.busy{color:#b8dcfb;border-color:rgba(86,170,236,.35);background:rgba(46,128,190,.12)}
.cloudBackupBadge.error{color:#ffd0d0;border-color:rgba(238,104,104,.38);background:rgba(177,52,52,.12)}
.cloudBackupHelp{margin:0 0 11px;color:#8499a8;font-size:10px;line-height:1.45}
.cloudBackupLabel{display:block;color:#8ea6b7;font-size:10px}
.cloudBackupLabel input{width:100%;box-sizing:border-box;margin-top:5px;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#071723;color:#fff;outline:none;font-size:12px}
.cloudBackupLabel input:focus{border-color:#409de0}
.cloudBackupActions{margin-top:10px!important}
.cloudBackupInfo{margin-top:8px;color:#879ba9;font-size:9px;line-height:1.4}
#matchesPage #cloudBackupSettingsBtn{position:relative}
#matchesPage #cloudBackupSettingsBtn.cloud-ok::after{content:"";position:absolute;right:1px;top:7px;width:5px;height:5px;border-radius:50%;background:#7bd79c}


/* ===== v37 — right actions + delete overview ===== */

/* Right-side nav icons slightly stronger than the left icons. */
body:not(.start-mode) .appMiniNav .miniNavRight > button svg,
body:not(.start-mode) .appMiniNav .matchNavAction svg,
body:not(.start-mode) .appMiniNav .matchNavExport svg{
  stroke-width:2.3!important;
}

/* Always one right-aligned, evenly spaced action group. */
#matchPage .appMiniNav .miniNavRight,
#tournamentPage .appMiniNav .miniNavRight{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
}
#matchPage .appMiniNav .miniNavRight > button,
#tournamentPage .appMiniNav .miniNavRight > button{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  flex:0 0 30px!important;
}
.closeEventAction svg{width:19px!important;height:19px!important}

/* Three icon-only actions on each Games card. */
#matchesList .matchcard{
  grid-template-columns:72px minmax(0,1fr) 54px!important;
  min-height:146px!important;
}
.matchCardActions{
  width:54px!important;
  min-width:54px!important;
  height:100%!important;
  padding:7px 6px!important;
  gap:6px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.matchCardAction{
  width:36px!important;
  height:36px!important;
  min-height:36px!important;
  flex:0 0 36px!important;
  padding:0!important;
  border-radius:9px!important;
}
.matchCardAction.editAction{order:1!important}
.matchCardAction.viewAction{order:2!important}
.matchCardAction.deleteAction{
  order:3!important;
  border-color:rgba(213,91,91,.32)!important;
  background:rgba(91,25,25,.18)!important;
  color:#f4f7fa!important;
}
.matchCardAction svg{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  stroke-width:1.9!important;
}
.matchCardAction span{display:none!important}

.exportOptionActions{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:8px!important;
}
@media(max-width:480px){
  #matchesList .matchcard{grid-template-columns:68px minmax(0,1fr) 50px!important;min-height:140px!important}
  .matchCardActions{width:50px!important;min-width:50px!important;padding:6px 5px!important;gap:5px!important}
  .matchCardAction{width:34px!important;height:34px!important;min-height:34px!important;flex-basis:34px!important}
  .matchCardAction svg{width:15px!important;height:15px!important}
  .exportOptionActions{grid-template-columns:1fr!important}
}


/* ===== v38 — in-app delete confirmation ===== */
#deleteEventModal .deleteEventSheet{
  width:min(360px,calc(100vw - 28px));
  padding:20px 18px 16px;
  text-align:center;
  border-radius:16px;
  background:#081924;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 48px rgba(0,0,0,.38);
}
.deleteEventIcon{
  width:46px;
  height:46px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(125,35,35,.20);
  border:1px solid rgba(220,95,95,.22);
  color:#eef3f6;
}
.deleteEventIcon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#deleteEventModal h2{
  margin:0 0 7px;
  font-size:18px;
  font-weight:850;
  color:#fff;
}
#deleteEventModal .sub{
  margin:0 auto 16px;
  max-width:290px;
  color:#8fa3b1;
  font-size:11px;
  line-height:1.45;
}
.deleteEventActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.deleteEventActions button{
  min-height:42px;
  border-radius:10px;
  font-size:12px;
  font-weight:800;
}
.deleteEventActions #cancelDeleteEventBtn{
  background:#0b2230;
  color:#d7e1e8;
  border:1px solid rgba(255,255,255,.10);
}
.deleteEventActions .dangerDeleteBtn{
  background:#8d3237;
  color:#fff;
  border:1px solid rgba(255,255,255,.06);
}
.deleteEventActions .dangerDeleteBtn:active,
.deleteEventActions #cancelDeleteEventBtn:active{
  transform:scale(.98);
}


/* ===== v39 — clearer undo + stronger export/close ===== */
body:not(.start-mode) .appMiniNav .undoCircularIcon{
  width:20px!important;
  height:20px!important;
  stroke-width:2.35!important;
}
body:not(.start-mode) .appMiniNav .exportStrongIcon{
  stroke-width:2.6!important;
}
body:not(.start-mode) .appMiniNav .closeStrongIcon{
  stroke-width:2.7!important;
}


/* ===== v42 — compact report info block ===== */
#reportPage .report{
  padding-top:2px!important;
}
#reportPage .reportHead{
  margin-bottom:5px!important;
  gap:5px!important;
}
#reportPage .reportHead h2{
  margin:0!important;
  line-height:1.05!important;
}
#reportPage .reportGrid{
  gap:4px 6px!important;
  margin:0 0 5px!important;
}
#reportPage .field{
  gap:2px!important;
  margin:0!important;
}
#reportPage .field label,
#reportPage .field > span:first-child{
  font-size:8px!important;
  line-height:1!important;
  margin:0!important;
}
#reportPage .field input,
#reportPage .field select{
  min-height:28px!important;
  height:28px!important;
  padding:2px 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:1!important;
}
#reportPage #rPos,
#reportPage #rClub,
#reportPage #rNumber,
#reportPage #rName,
#reportPage #rBirth,
#reportPage #rFoot,
#reportPage #rMaturity,
#reportPage #rRating{
  min-height:28px!important;
  height:28px!important;
}
#reportPage .reportMeta,
#reportPage .reportFields,
#reportPage .reportTop{
  margin-bottom:5px!important;
  gap:4px!important;
}
#reportPage .reportCard,
#reportPage .reportPanel{
  padding:7px!important;
  margin-bottom:5px!important;
  border-radius:9px!important;
}
#reportPage .bulletsLabel,
#reportPage label[for="bullets"]{
  margin-top:2px!important;
}
@media(max-width:480px){
  #reportPage .reportGrid{gap:3px 5px!important}
  #reportPage .field input,
  #reportPage .field select{
    min-height:26px!important;
    height:26px!important;
    padding:2px 5px!important;
    font-size:10px!important;
  }
}


/* ===== v43 — Volgende / redo action ===== */
body:not(.start-mode) .appMiniNav .redoCircularIcon{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.35!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.start-mode) .appMiniNav .redoAction:disabled{
  opacity:.24!important;
  pointer-events:auto!important;
}


/* ===== v46 — v43 player card retained; only combined name line changes ===== */
#matchPage .playerTile .hiddenNameEditor{
  display:none!important;
}
#matchPage .playerTile .combinedNameRow{
  height:21px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#matchPage .playerTile .combinedNameInput{
  font-size:10.6px!important;
  line-height:12px!important;
  font-weight:700!important;
  padding:0 3px!important;
  text-overflow:ellipsis!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}

/* Explicitly preserve the v43 information rows. */
#matchPage .playerTile .numberRow,
#matchPage .playerTile .metaRow,
#matchPage .playerTile .ratingRow{
  display:grid;
}
#matchPage .playerTile .metaRow{
  grid-template-columns:minmax(0,1.2fr) 5px minmax(0,.82fr) 5px minmax(0,.9fr)!important;
}

#reportPage .appMiniNav .miniNavRight{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
}
#reportPage .appMiniNav .miniNavRight > button{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:36px!important;
  flex:0 0 30px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
}
#reportPage .appMiniNav .miniNavRight > button svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.linkSourceTabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #203d52;
  border-radius:10px;
  overflow:hidden;
  margin:8px 0 10px;
}
.linkSourceTabs button{
  height:40px;
  border:0;
  background:#061522;
  color:#8fa3b5;
  font-size:11px;
  font-weight:850;
}
.linkSourceTabs button.active{
  background:#08253e;
  color:#fff;
  box-shadow:inset 0 -2px 0 #159ef4;
}
.linkSourceStatus{
  min-height:17px;
  margin:4px 0 2px;
  color:#8097a8;
  font-size:9px;
}
#linkResults .sourcePill{
  display:inline-block;
  margin-top:4px;
  font-size:8px;
  opacity:.78;
}


/* ===== v47 — inline editable player name ===== */
#matchPage .playerTile .combinedNameInput{
  cursor:text!important;
  caret-color:#071522!important;
  user-select:text!important;
  pointer-events:auto!important;
}
#matchPage .playerTile .combinedNameInput:focus{
  outline:none!important;
}


/* ===== v48 — long names clip at card edge, no ellipsis ===== */
#matchPage .playerTile .combinedNameRow{
  overflow:hidden!important;
}
#matchPage .playerTile .combinedNameInput{
  text-overflow:clip!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}


/* ===== v50 — report first name + call name ===== */
#reportPage .tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:0!important;
}
#reportPage .tabs button{
  width:100%!important;
}
#reportPage #historyBtn{
  border-left:1px solid rgba(255,255,255,.08)!important;
}
#reportPage #rFirstName,
#reportPage #rLastName{
  width:100%!important;
  min-height:26px!important;
  height:26px!important;
  padding:2px 5px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:1!important;
}
#reportPage .field{
  position:relative;
}
.reportNameSuggest{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:260;
  padding:4px;
  border:1px solid #21425b;
  border-radius:8px;
  background:#071a2a;
  box-shadow:0 10px 24px rgba(0,0,0,.30);
}
.reportNameSuggest button{
  display:block;
  width:100%;
  min-height:34px;
  padding:7px 8px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#dce8f1;
  text-align:left;
  font-size:10px;
}
.reportNameSuggest button:active{
  background:rgba(35,150,240,.14);
}


/* ===== v52 — filled pitch values white ===== */
#matchPage .playerTile input.hasValue,
#matchPage .playerTile select.hasValue{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#matchPage .playerTile input.emptyValue,
#matchPage .playerTile select.emptyValue{
  color:rgba(255,255,255,.42)!important;
  -webkit-text-fill-color:rgba(255,255,255,.42)!important;
}


/* ===== v54 — spelersoverzicht tabel + detail, direct ingebouwd ===== */
#playersPage .playersFiltersCompact{
  display:grid;
  grid-template-columns:1.5fr .62fr 1fr .82fr;
  gap:6px;
  margin:8px 0 10px;
}
#playersPage .playersFiltersCompact .search{
  width:100%;
  height:36px;
  min-height:36px;
  margin:0;
  padding:0 9px;
  border-radius:9px;
  font-size:10px;
}
#playersPage .playersTableWrap{
  border:1px solid rgba(55,126,184,.22);
  border-radius:12px;
  overflow:hidden;
  background:rgba(3,18,30,.62);
}
#playersPage .playersTableScroll{
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
#playersPage .playersTableHead,
#playersPage .playersTableRow{
  min-width:760px;
  display:grid;
  grid-template-columns:105px 105px 110px 130px 55px 90px 70px 75px 55px;
  align-items:center;
}
#playersPage .playersTableHead{
  position:sticky;
  top:0;
  z-index:3;
  background:#091d2c;
  color:#7eb9ee;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  border-bottom:1px solid rgba(80,151,211,.18);
}
#playersPage .playersTableHead>div,
#playersPage .playersTableRow>div{
  min-width:0;
  padding:9px 7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
#playersPage .playersTableBody{
  max-height:calc(100vh - 190px);
  overflow-y:auto;
}
#playersPage .playersTableRow{
  min-height:42px;
  color:#e9f3fb;
  font-size:10px;
  cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.035);
  background:rgba(4,20,33,.82);
}
#playersPage .playersTableRow:nth-child(even){
  background:rgba(7,26,41,.88);
}
#playersPage .playersTableRow:active{
  background:rgba(27,118,187,.20);
}
#playersPage .qCell{
  font-weight:800;
}
#playersPage .qCell.FU,
#playersPage .qCell.SHXI{
  color:#ffd766;
}
#playersPage .qCell.SHXI{
  text-shadow:0 0 8px rgba(255,211,86,.18);
}

#playersPage .playerDetailView{
  padding-bottom:20px;
}
#playersPage .playerDetailTop{
  height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 8px;
}
#playersPage .playerDetailBack{
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#fff;
  font-size:22px;
}
#playersPage .playerDetailTitle{
  color:#fff;
  font-size:14px;
  font-weight:800;
}
#playersPage .playerDetailInfo{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(150px,.75fr);
  gap:10px;
  padding:10px;
  border:1px solid rgba(55,126,184,.24);
  border-radius:16px;
  background:rgba(4,20,33,.74);
}
#playersPage .playerDetailFields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 8px;
}
#playersPage .playerDetailFields .wide{
  grid-column:1 / span 2;
}
#playersPage .playerDetailFields .field{
  margin:0;
}
#playersPage .playerDetailFields label{
  display:block;
  margin:0 0 3px;
  color:#8399aa;
  font-size:9px;
  line-height:1;
}
#playersPage .playerDetailFields input{
  width:100%;
  height:34px;
  min-height:34px;
  padding:3px 8px;
  border-radius:8px;
  border:1px solid #1f425c;
  background:#061725;
  color:#fff;
  font-size:11px;
}
#playersPage .playerDetailPhoto{
  min-height:210px;
  border:1px solid #21445e;
  border-radius:14px;
  background:#061725;
  color:#8ea4b5;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
#playersPage .playerDetailPhoto img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#playersPage .playerHistoryBar{
  margin-top:10px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #1f425c;
  border-radius:11px;
  background:#08273e;
  color:#fff;
  font-size:12px;
  font-weight:800;
}
#playersPage .playerDetailHistory{
  display:grid;
  gap:8px;
  margin-top:8px;
}
#playersPage .playerHistoryItem{
  border:1px solid rgba(55,126,184,.20);
  border-radius:11px;
  padding:10px;
  background:#061725;
}
#playersPage .playerHistoryItemTop{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  margin-bottom:6px;
}
#playersPage .playerHistoryTitle{
  color:#fff;
  font-size:11px;
  font-weight:800;
}
#playersPage .playerHistoryMeta{
  color:#7fa6c6;
  font-size:9px;
  line-height:1.35;
}
#playersPage .playerHistoryItem ul{
  margin:5px 0 0;
  padding-left:17px;
  color:#d6e3ed;
  font-size:10px;
  line-height:1.5;
}
#playersPage .playerHistoryEmpty{
  padding:16px 10px;
  text-align:center;
  color:#849caf;
  font-size:10px;
}
@media(max-width:560px){
  #playersPage .playersFiltersCompact{
    grid-template-columns:1.5fr .58fr;
  }
  #playersPage .playersFiltersCompact #playerClubFilter,
  #playersPage .playersFiltersCompact #playerBirthFilter{
    display:block;
  }
  #playersPage .playerDetailInfo{
    grid-template-columns:1fr;
  }
  #playersPage .playerDetailPhoto{
    min-height:120px;
    max-height:180px;
  }
}


/* ===== v55 — lijstweergave op wedstrijdblad ===== */
#matchPage .pitchWrap{
  position:relative;
}
#matchPage .toggleLineupViewBtn{
  position:absolute;
  top:10px;
  left:10px;
  z-index:31;
  width:36px;
  height:36px;
  border:0;
  border-radius:10px;
  background:rgba(21,151,237,.92);
  box-shadow:0 4px 12px rgba(0,0,0,.26);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
#matchPage .toggleLineupViewBtn svg{
  width:18px;
  height:18px;
  stroke:#fff;
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#matchPage .lineupListView{
  min-height:560px;
  border:2px solid rgba(255,255,255,.12);
  border-radius:22px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,14,28,.14),rgba(0,14,28,.22)),
    repeating-linear-gradient(-35deg,#234f9a 0 90px,#2d61af 90px 180px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
#matchPage .lineupListShell{
  padding:56px 12px 14px;
  display:grid;
  gap:12px;
}
#matchPage .lineupListTeam{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(3,14,26,.34);
  overflow:hidden;
  backdrop-filter:blur(2px);
}
#matchPage .lineupListTeamHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:rgba(4,18,32,.44);
  border-bottom:1px solid rgba(255,255,255,.06);
}
#matchPage .lineupListTeamTitle{
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}
#matchPage .lineupListTeamMeta{
  color:#c0d7eb;
  font-size:10px;
  font-weight:700;
  opacity:.9;
}
#matchPage .lineupListRows{
  display:grid;
}
#matchPage .lineupListRow{
  display:grid;
  grid-template-columns:66px 54px minmax(0,1fr) 86px 48px 72px 48px;
  gap:6px;
  align-items:center;
  min-height:42px;
  padding:7px 10px;
  border-top:1px solid rgba(255,255,255,.05);
  color:#fff;
  font-size:10px;
}
#matchPage .lineupListRow:first-child{border-top:0}
#matchPage .lineupPos{
  font-weight:800;
  color:#fff;
  text-align:center;
  border-radius:8px;
  padding:6px 6px;
  background:rgba(255,255,255,.12);
}
#matchPage .lineupNr{
  font-weight:800;
  font-size:14px;
  text-align:center;
}
#matchPage .lineupName{
  min-width:0;
  font-weight:700;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
#matchPage .lineupMeta,
#matchPage .lineupRating{
  color:#d8e4ef;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
#matchPage .lineupRating{
  font-weight:800;
  text-align:right;
}
#matchPage .lineupOpen{
  justify-self:end;
  width:28px;
  height:28px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
#matchPage .lineupOpen svg{
  width:14px;
  height:14px;
  stroke:#fff;
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#matchPage .lineupListEmpty{
  padding:18px 12px;
  color:#d0deea;
  font-size:11px;
}
#matchPage .lineupListTeam.team-empty .lineupListRows{display:none}
#matchPage .lineupListTeam.team-empty .lineupListTeamMeta{display:none}
@media(max-width:560px){
  #matchPage .lineupListView{min-height:520px}
  #matchPage .lineupListRow{
    grid-template-columns:54px 42px minmax(0,1fr) 72px 40px 58px 38px;
    gap:5px;
    padding:7px 8px;
    font-size:9px;
  }
  #matchPage .lineupName{font-size:11px}
  #matchPage .lineupNr{font-size:13px}
}


/* ===== v56 — bewerkbare lijstweergave + kolomtitels ===== */
#matchPage .lineupListShell{
  padding:56px 10px 14px;
  gap:10px;
}
#matchPage .lineupListTeam{
  border-radius:15px;
}
#matchPage .lineupListTeamHead{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:8px;
  align-items:center;
  padding:10px 12px;
}
#matchPage .lineupListTeamTitle{
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
#matchPage .lineupListHeadCols{
  min-width:0;
  display:grid;
  grid-template-columns:54px minmax(0,1.25fr) 80px 56px 68px 56px 32px;
  gap:6px;
  align-items:center;
  color:#b9d4ea;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#matchPage .lineupListHeadCols span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
#matchPage .lineupListRows{
  display:grid;
}
#matchPage .lineupListRow{
  display:grid;
  grid-template-columns:66px 1fr;
  gap:8px;
  align-items:start;
  min-height:56px;
  padding:8px 10px;
}
#matchPage .lineupPos{
  margin-top:2px;
}
#matchPage .lineupFields{
  min-width:0;
  display:grid;
  grid-template-columns:54px minmax(0,1.25fr) 80px 56px 68px 56px 32px;
  gap:6px;
  align-items:center;
}
#matchPage .lineupFields input,
#matchPage .lineupFields select{
  width:100%;
  height:32px;
  min-height:32px;
  padding:4px 7px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(8,24,40,.56);
  color:#fff;
  font-size:11px;
  outline:none;
}
#matchPage .lineupFields input::placeholder{color:#91a7b9}
#matchPage .lineupFields input:focus,
#matchPage .lineupFields select:focus{
  border-color:rgba(75,175,255,.7);
  box-shadow:0 0 0 1px rgba(75,175,255,.16);
}
#matchPage .lineupFields .lineupNameInput{
  font-weight:700;
}
#matchPage .lineupOpen{
  width:32px;
  height:32px;
  border-radius:8px;
}
@media(max-width:560px){
  #matchPage .lineupListTeamHead{
    grid-template-columns:84px 1fr;
    gap:6px;
    padding:9px 9px 8px;
  }
  #matchPage .lineupListTeamTitle{font-size:12px}
  #matchPage .lineupListHeadCols{
    grid-template-columns:42px minmax(0,1.2fr) 66px 46px 54px 48px 28px;
    gap:4px;
    font-size:7.5px;
  }
  #matchPage .lineupListRow{
    grid-template-columns:54px 1fr;
    gap:6px;
    min-height:50px;
    padding:7px 8px;
  }
  #matchPage .lineupFields{
    grid-template-columns:42px minmax(0,1.2fr) 66px 46px 54px 48px 28px;
    gap:4px;
  }
  #matchPage .lineupFields input,
  #matchPage .lineupFields select{
    height:29px;
    min-height:29px;
    padding:3px 5px;
    font-size:9.5px;
  }
}


/* ===== v57 unified scouting tables ===== */
.scoutTableCard{
  border:1px solid rgba(55,126,184,.22);
  border-radius:15px;
  overflow:hidden;
  background:rgba(3,18,30,.58);
}
.scoutTableClub{
  padding:10px 12px;
  color:#fff;
  font-size:13px;
  font-weight:850;
  line-height:1.15;
  background:rgba(4,18,32,.56);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.scoutTableScroll{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
.scoutTableHead,.scoutTableRow{
  display:grid;
  align-items:center;
}
.matchScoutTable .scoutTableHead,
.matchScoutTable .scoutTableRow{
  min-width:1050px;
  grid-template-columns:92px 90px 90px 150px 150px 150px 120px 100px 110px;
}
.playersScoutTable .scoutTableHead,
.playersScoutTable .scoutTableRow{
  min-width:1200px;
  grid-template-columns:92px 90px 90px 150px 150px 150px 150px 120px 100px 110px;
}
.scoutTableHead{
  background:#0a2134;
  color:#8fc5f5;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.scoutTableHead>div,.scoutTableRow>div{
  min-width:0;
  padding:9px 7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
.scoutTableRow{
  min-height:48px;
  color:#eef6ff;
  font-size:10px;
  border-bottom:1px solid rgba(255,255,255,.04);
  background:rgba(5,24,39,.82);
}
.scoutTableRow:nth-child(even){background:rgba(8,29,46,.88)}
.scoutTableRow input,.scoutTableRow select{
  width:100%;
  height:32px;
  min-height:32px;
  padding:4px 7px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(8,24,40,.58);
  color:#fff;
  font-size:10.5px;
  outline:none;
}
.scoutTableRow input::placeholder{color:#91a7b9}
.scoutTableRow input:focus,.scoutTableRow select:focus{
  border-color:rgba(75,175,255,.72);
  box-shadow:0 0 0 1px rgba(75,175,255,.14);
}
#playersPage .playersFiltersV57{
  display:grid;
  grid-template-columns:1.4fr 1fr .85fr .85fr .95fr .85fr;
  gap:6px;
  margin:8px 0 10px;
}
#playersPage .playersFiltersV57 input,
#playersPage .playersFiltersV57 select{
  width:100%;
  height:36px;
  min-height:36px;
  padding:0 9px;
  border-radius:9px;
  border:1px solid #21425b;
  background:#061725;
  color:#dce8f3;
  font-size:10px;
}
@media(max-width:700px){
  #playersPage .playersFiltersV57{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:480px){
  #playersPage .playersFiltersV57{grid-template-columns:1fr 1fr}
}


/* ===== v58 — fixed and aligned pitch controls ===== */
#matchPage .pitchWrap{
  position:relative!important;
}
#matchPage .toggleLineupViewBtn,
#matchPage .swapTeamsBtn{
  position:absolute!important;
  top:10px!important;
  z-index:700!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:rgba(21,151,237,.92)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.26)!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
#matchPage .toggleLineupViewBtn{left:10px!important;right:auto!important}
#matchPage .swapTeamsBtn{right:10px!important;left:auto!important}
#matchPage .toggleLineupViewBtn svg,
#matchPage .swapTeamsBtn svg{
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:#fff!important;
  color:#fff!important;
  stroke-width:2.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#matchPage .toggleLineupViewBtn:active,
#matchPage .swapTeamsBtn:active{
  transform:scale(.94)!important;
  background:#087bc7!important;
}
/* list is inside the same wrapper, so the toggle stays in exactly the same place */
#matchPage .lineupListView{
  width:100%!important;
}


/* ===== v59 — sortable Players headers ===== */
#playersPage .playersSortableHead > button{
  min-width:0;
  height:100%;
  padding:9px 7px;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  cursor:pointer;
}
#playersPage .playersSortableHead > button:active{
  background:rgba(75,175,255,.12);
}
#playersPage .playersSortableHead .sortArrow{
  display:inline-block;
  min-width:8px;
  margin-left:2px;
  color:#fff;
  font-size:8px;
}


/* ===== v62 — drag handle + visible birth year ===== */
#matchPage .moveIcons{
  position:absolute!important;
  left:-9px!important;
  top:-9px!important;
  z-index:8!important;
}
#matchPage .moveHandle{
  width:18px!important;
  height:18px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  touch-action:none!important;
  cursor:grab!important;
  color:#fff!important;
}
#matchPage .moveHandle:active{cursor:grabbing!important}
#matchPage .moveHandle svg{
  width:11px!important;
  height:11px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
#matchPage .dobInput{
  min-width:0!important;
  font-size:7.8px!important;
  letter-spacing:-.15px!important;
  text-align:center!important;
  padding-left:1px!important;
  padding-right:1px!important;
}
#matchPage .metaRow{
  grid-template-columns:minmax(34px,1.25fr) 5px minmax(0,.82fr) 5px minmax(0,.9fr)!important;
}


/* TF31 v94 — Belgium-first automatic match + lineup import */
#matchModal .tf90SofaBox{margin:12px 0 4px;padding:12px;border:1px solid rgba(64,169,238,.28);border-radius:14px;background:rgba(7,30,49,.78)}
#matchModal .tf90SofaBtn{width:100%;min-height:46px;border:1px solid rgba(78,181,247,.45);border-radius:11px;background:linear-gradient(180deg,rgba(18,128,202,.28),rgba(7,77,128,.28));color:#eaf7ff;font-weight:800;letter-spacing:.01em}
#matchModal .tf90SofaBtn:disabled{opacity:.5;cursor:default}
#matchModal .tf90SofaStatus{margin-top:8px;color:#a9c4d8;font-size:12px;line-height:1.4}
#matchModal .tf90SofaStatus.ok{color:#74e6a5}
#matchModal .tf90SofaStatus.err{color:#ff9b9b}
#matchModal .tf90SofaStatus.warn{color:#ffd27a}
#matchModal .tf90SofaResults{display:grid;gap:7px;margin-top:9px;max-height:250px;overflow:auto}
#matchModal .tf90SofaCandidate{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;padding:10px 11px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.035);color:#fff}
#matchModal .tf90SofaCandidate:hover{background:rgba(49,149,220,.12);border-color:rgba(72,177,244,.32)}
#matchModal .tf90SofaCandidate b{display:block;font-size:13px}
#matchModal .tf90SofaCandidate small{display:block;margin-top:3px;color:#8fa9bc;font-size:10.5px}
#matchModal .tf90SofaPick{font-size:17px;color:#77c9ff}
#matchModal .tf90SofaSummary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#matchModal .tf90SofaChip{padding:4px 7px;border-radius:999px;background:rgba(35,196,112,.12);border:1px solid rgba(65,218,139,.24);color:#8ff0b7;font-size:10px;font-weight:800}




/* ===== v63 — live AI spelersprofiel ===== */
#reportPage .aiProfileCard{max-width:760px;width:100%;margin:10px auto 0;border:1px solid #234b66;border-radius:12px;background:linear-gradient(180deg,#071a2b,#051522);overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.16)}
#reportPage .aiProfileHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
#reportPage .aiProfileTitle{display:flex;align-items:center;gap:7px;color:#fff;font-size:12px;font-weight:900;letter-spacing:.01em}
#reportPage .aiSpark{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:rgba(21,158,244,.14);color:#49b8ff;font-size:13px}
#reportPage .aiProfileStatus{font-size:9px;color:#84a3bb;text-align:right;white-space:nowrap}
#reportPage .aiProfileStatus.busy{color:#62c3ff}
#reportPage .aiProfileStatus.ok{color:#70d79a}
#reportPage .aiProfileStatus.manual{color:#f1bd68}
#reportPage .aiProfileStatus.error{color:#ff8b93}
#reportPage .aiProfileBody{padding:10px 12px 8px}
#reportPage .aiProfileText{display:block;width:100%;min-height:146px;resize:none;overflow:hidden;border:0;outline:0;background:transparent;color:#e9f1f7;font:400 13px/1.58 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding:0;margin:0}
#reportPage .aiProfileText::placeholder{color:#6f8799}
#reportPage .aiProfileText:not([readonly]){background:#04111d;border:1px solid #1c5f8d;border-radius:9px;padding:10px;resize:vertical;overflow:auto;min-height:170px}
#reportPage .aiProfileActions{display:flex;align-items:center;gap:7px;padding:0 12px 11px}
#reportPage .aiProfileActions button{height:30px;padding:0 9px;border-radius:8px;border:1px solid #264b63;background:#071827;color:#bcd1e0;font-size:9px;font-weight:800}
#reportPage .aiProfileActions button:disabled{opacity:.35}
#reportPage .aiProfileActions .aiPrimary{border-color:#1f74ab;color:#65c1ff;background:#082139}
#reportPage .aiProfileActions .aiCopy{margin-left:auto}
#reportPage .aiProfileFoot{padding:0 12px 10px;color:#667f92;font-size:8px;line-height:1.35}
@media(max-width:480px){#reportPage .aiProfileCard{margin-top:8px}#reportPage .aiProfileBody{padding:9px 10px 7px}#reportPage .aiProfileHead{padding:9px 10px 7px}#reportPage .aiProfileActions{padding:0 10px 10px;gap:5px}#reportPage .aiProfileActions button{padding:0 7px;font-size:8px}}



/* ===== v65 — final compact pitch controls + standalone AI server ===== */

/* Verplaatsknop exact dezelfde buitenmaat als de wisselknop. */
#matchPage .moveHandle{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  padding:0!important;
}
#matchPage .moveHandle svg{
  width:9px!important;
  height:9px!important;
}

/* Geboortejaar krijgt prioriteit; scheiding compact als 2009-LV-NM. */
#matchPage .metaRow{
  grid-template-columns:minmax(35px,1.35fr) 3px minmax(0,.76fr) 3px minmax(0,.82fr)!important;
  column-gap:0!important;
}
#matchPage .metaDash{
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}
#matchPage .dobInput{
  font-size:7.8px!important;
  letter-spacing:-.18px!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Standalone AI server panel in Data & backup. */
.aiServerPanel{margin-top:12px;padding:12px;border:1px solid rgba(72,170,231,.34);border-radius:12px;background:rgba(8,35,55,.45)}
.aiServerTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.aiServerTitleRow strong{font-size:13px}
.aiServerBadge{flex:0 0 auto;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:#aab8c3;font-size:9px;font-weight:800}
.aiServerBadge.ok{color:#bfe9cf;border-color:rgba(90,210,137,.34);background:rgba(54,148,91,.12)}
.aiServerBadge.busy{color:#b8dcfb;border-color:rgba(86,170,236,.35);background:rgba(46,128,190,.12)}
.aiServerBadge.error{color:#ffd0d0;border-color:rgba(238,104,104,.38);background:rgba(177,52,52,.12)}
.aiServerHelp{margin:0 0 11px;color:#8499a8;font-size:10px;line-height:1.45}
.aiServerLabel{display:block;color:#8ea6b7;font-size:10px}
.aiServerLabel input{width:100%;box-sizing:border-box;margin-top:5px;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#071723;color:#fff;outline:none;font-size:12px}
.aiServerLabel input:focus{border-color:#409de0}
.aiServerActions{margin-top:10px!important}
.aiServerInfo{margin-top:8px;color:#879ba9;font-size:9px;line-height:1.4}

@media(max-width:480px){
  #matchPage .moveHandle{
    width:11px!important;
    height:12px!important;
    min-width:11px!important;
    min-height:12px!important;
    max-width:11px!important;
    max-height:12px!important;
  }
  #matchPage .moveHandle svg{
    width:6.5px!important;
    height:6.5px!important;
  }
  #matchPage .metaRow{
    grid-template-columns:minmax(31px,1.4fr) 2px minmax(0,.72fr) 2px minmax(0,.8fr)!important;
  }
  #matchPage .dobInput{font-size:6.4px!important}
}



#pwaInstallBtn{
 position:fixed;right:14px;bottom:82px;z-index:145;
 display:none;align-items:center;gap:7px;
 height:42px;padding:0 13px;border-radius:12px;
 border:1px solid #1688ef;background:linear-gradient(180deg,#0b78dd,#075caf);
 color:#fff;font-size:11px;font-weight:850;box-shadow:0 10px 28px rgba(0,80,170,.38)
}
#pwaInstallBtn.show{display:flex}
#pwaInstallBtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:900px){#pwaInstallBtn{bottom:96px;right:30px}}



.cloudSyncPanel{margin:14px 0 16px;padding:13px;border:1px solid rgba(65,177,238,.34);border-radius:12px;background:rgba(6,30,48,.72)}
.cloudSyncTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.cloudSyncTitleRow strong{font-size:13px}
.cloudSyncBadge{flex:0 0 auto;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:#aab8c3;font-size:9px;font-weight:800}
.cloudSyncBadge.ok{color:#bfe9cf;border-color:rgba(90,210,137,.34);background:rgba(54,148,91,.12)}
.cloudSyncBadge.busy{color:#b8dcfb;border-color:rgba(86,170,236,.35);background:rgba(46,128,190,.12)}
.cloudSyncBadge.error{color:#ffd0d0;border-color:rgba(238,104,104,.38);background:rgba(177,52,52,.12)}
.cloudSyncHelp{margin:0 0 11px;color:#91a8b7;font-size:10px;line-height:1.5}
.cloudSyncLabel{display:block;color:#91a8b7;font-size:10px}
.cloudSyncCodeRow{display:flex;gap:7px;align-items:center;margin-top:5px}
.cloudSyncCodeRow input{min-width:0;flex:1;padding:10px 11px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#071723;color:#fff;outline:none;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.cloudSyncCodeRow input:focus{border-color:#409de0}
.cloudSyncCopy{flex:0 0 auto;height:36px!important;padding:0 10px!important;border-radius:9px!important;font-size:9px!important}
.cloudSyncActions{margin-top:10px!important;display:flex!important;gap:7px!important;flex-wrap:wrap}
.cloudSyncActions button{flex:1 1 128px!important}
.cloudSyncInfo{margin-top:8px;color:#879ba9;font-size:9px;line-height:1.45}
.cloudSyncSafety{margin-top:7px;color:#6f8797;font-size:8.5px;line-height:1.4}



/* ===== v70: compact Games overview + match status ===== */
#matchesPage .matchFilters{gap:6px!important;margin-bottom:8px!important}
.matchStatusFilter{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border:1px solid #21435d;border-radius:10px;background:#051522}
.matchStatusFilter button{height:30px;border:0;border-radius:7px;background:transparent;color:#8399aa;font-size:9px;font-weight:850;letter-spacing:.02em}
.matchStatusFilter button.active{background:#0d3553;color:#fff;box-shadow:inset 0 0 0 1px rgba(89,178,240,.22)}
.matchStatusFilter button[data-match-status-filter="open"].active{background:rgba(33,127,76,.28);color:#8ce3ad;box-shadow:inset 0 0 0 1px rgba(72,191,116,.28)}
.matchStatusFilter button[data-match-status-filter="closed"].active{background:rgba(133,49,55,.26);color:#f0a2a8;box-shadow:inset 0 0 0 1px rgba(224,99,106,.25)}
#matchesPage .filterSearchGrid{gap:5px!important}
#matchesPage .filterField input{height:32px!important;min-height:32px!important}
#matchesPage .dateRangeCard{padding:7px 9px 8px!important}
#matchesList{gap:7px!important}
#matchesList .matchcard{grid-template-columns:92px minmax(0,1fr) 126px!important;min-height:88px!important;border-radius:10px!important;box-shadow:0 4px 12px rgba(0,0,0,.18)!important;transition:background .15s,border-color .15s!important}
#matchesList .matchcard.openEvent{background:linear-gradient(180deg,#0d3656,#092944)!important;border-color:#2a648e!important}
#matchesList .matchcard.closedEvent{background:linear-gradient(180deg,#061a2a,#04131f)!important;border-color:#17364d!important}
#matchesList .datebox{padding:7px 7px!important;border-right:1px solid rgba(66,166,232,.45)!important;justify-content:center!important;gap:2px!important}
#matchesList .datebox .dow{font-size:9px!important;font-weight:900!important;color:#55b8ff!important;line-height:1.15!important}
#matchesList .datebox .dateFull{font-size:10px!important;font-weight:800!important;color:#eef7fd!important;white-space:nowrap!important;line-height:1.25!important}
#matchesList .datebox .time{font-size:9px!important;margin-top:2px!important;color:#8ea6b7!important;line-height:1.2!important}
#matchesList .matchteams{padding:7px 9px!important;gap:3px!important}
#matchesList .teamline{min-height:24px!important}
#matchesList .editableEventName{height:28px!important;min-height:28px!important;font-size:12px!important;padding:2px 4px!important}
#matchesList .vs.cleanVs{font-size:7px!important;padding:0!important;margin:0!important}
.matchCardActions{width:126px!important;min-width:126px!important;padding:6px!important;gap:5px!important;display:grid!important;grid-template-rows:32px 28px!important;align-content:center!important;border-left:1px solid rgba(255,255,255,.05)!important}
.matchCardActionRow{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:4px!important}
.matchCardAction{width:100%!important;height:32px!important;min-height:32px!important;flex:none!important;border-radius:7px!important;padding:0!important}
.matchCardAction svg{width:14px!important;height:14px!important}
.matchStatusToggle{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.matchStatusToggle button{height:27px;border-radius:6px;border:1px solid rgba(255,255,255,.10);background:#071a29;font-size:7.5px;font-weight:900;padding:0 3px}
.matchStatusToggle .statusOpen{color:#72d99a;border-color:rgba(72,191,116,.22)}
.matchStatusToggle .statusClosed{color:#e88990;border-color:rgba(224,99,106,.20)}
.matchStatusToggle .statusOpen.active{background:rgba(38,139,82,.30);border-color:rgba(72,191,116,.48);color:#9aebba}
.matchStatusToggle .statusClosed.active{background:rgba(143,51,58,.30);border-color:rgba(224,99,106,.44);color:#ffb1b7}
@media(max-width:480px){
 #matchesList .matchcard{grid-template-columns:84px minmax(0,1fr) 116px!important;min-height:84px!important}
 .matchCardActions{width:116px!important;min-width:116px!important;padding:5px!important;grid-template-rows:30px 26px!important}
 .matchCardAction{height:30px!important;min-height:30px!important}
 .matchStatusToggle button{height:25px;font-size:7px}
 #matchesList .datebox .dateFull{font-size:9px!important}
 #matchesList .editableEventName{font-size:10.5px!important}
}

/* ===== v70: compact players overview ===== */
#playersPage .playersFiltersV57{grid-template-columns:1.45fr 1fr .8fr .75fr .95fr .75fr!important;gap:5px!important;margin:6px 0 7px!important}
#playersPage .playersFiltersV57 input,#playersPage .playersFiltersV57 select{height:32px!important;min-height:32px!important;border-radius:8px!important;font-size:9px!important;padding:0 7px!important}
.playersScoutTable .scoutTableHead,.playersScoutTable .scoutTableRow{min-width:780px!important;grid-template-columns:78px 122px 130px 150px 105px 72px 62px 62px!important}
.playersScoutTable .scoutTableHead>button,.playersScoutTable .scoutTableRow>div{padding:6px 6px!important}
.playersScoutTable .scoutTableRow{min-height:38px!important;font-size:9.5px!important}
.playersScoutTable .scoutTableHead{font-size:8px!important}
@media(max-width:700px){#playersPage .playersFiltersV57{grid-template-columns:1fr 1fr 1fr!important}}
@media(max-width:480px){#playersPage .playersFiltersV57{grid-template-columns:1fr 1fr!important}}

/* ===== v70: long press drag ===== */
#matchPage .moveIcons{display:none!important}
#matchPage .positionBar{cursor:pointer!important}
#matchPage .playerTile{touch-action:none}
#matchPage .playerTile.longPressArmed .positionBar,#matchPage .playerTile.longPressArmed .tileBody{outline:1px solid rgba(100,192,255,.48);outline-offset:1px}

/* ===== v70: report actions ===== */
#reportPage .saveCloseReportBtn{background:#0a6eb9!important;border-color:#2b9ae6!important;color:#fff!important;font-weight:850!important}
#reportPage .pageBackAction svg,#matchPage .pageBackAction svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#reportPage .appMiniNav .miniNavRight{gap:9px!important}
@media(max-width:480px){#reportPage .appMiniNav .miniNavRight{gap:6px!important}#reportPage .appMiniNav .miniNavRight>button{width:27px!important;min-width:27px!important;max-width:27px!important;flex-basis:27px!important}}



/* v71 — speler + / bewerkbaar spelersverslag / Eyeball AI */
#addPlayerBtn.fab{
  position:fixed!important;z-index:72!important;left:50%!important;right:auto!important;
  transform:translateX(-50%)!important;bottom:calc(22px + env(safe-area-inset-bottom))!important;
  width:58px!important;height:58px!important;border-radius:16px!important;border:0!important;
  background:linear-gradient(180deg,#168ff5,#0861c7)!important;color:#fff!important;
  font-size:34px!important;line-height:1!important;box-shadow:0 14px 34px rgba(0,91,194,.42)!important;
}
body.start-mode #addPlayerBtn{display:none!important}
#playersPage .playersOverviewView{padding-bottom:96px}
#playersPage .playersScoutTable .scoutTableHead,
#playersPage .playersScoutTable .scoutTableRow{
  min-width:890px!important;
  grid-template-columns:78px 116px 122px 130px 112px 92px 68px 64px 62px!important;
}
#playersPage .playersScoutTable .scoutTableHead>button,
#playersPage .playersScoutTable .scoutTableRow>div{
  padding:7px 6px!important;
}
#playersPage .playersScoutTable .scoutTableRow{min-height:38px!important;font-size:9.5px!important}
#playersPage .playerDetailView{padding-bottom:90px!important}
#playersPage .playerDetailTop{
  display:grid!important;grid-template-columns:38px 1fr auto!important;align-items:center!important;gap:8px!important;
}
#playersPage .playerDetailTitle{text-align:center;font-size:14px!important;font-weight:900!important;color:#fff!important}
#playersPage .pdAiScanBtn{
  min-width:42px;height:36px;border:1px solid rgba(83,180,247,.42);border-radius:10px;
  background:linear-gradient(180deg,#0b3758,#08283f);color:#7dc9ff;font-size:12px;font-weight:950;letter-spacing:.02em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)
}
#playersPage .pdAiScanBtn.busy{opacity:.62;pointer-events:none}
#playersPage .pdAiScanBtn::before{content:'✦ ';font-size:11px}
#playersPage .playerDetailFields input,
#playersPage .playerDetailFields select,
#playersPage .pdViewedMatches{
  width:100%;box-sizing:border-box;border:1px solid rgba(67,127,171,.28);border-radius:9px;
  background:#061827;color:#eaf5fc;outline:none;
}
#playersPage .playerDetailFields input,
#playersPage .playerDetailFields select{height:37px;padding:0 9px;font-size:10px}
#playersPage .playerDetailFields input:focus,
#playersPage .playerDetailFields select:focus,
#playersPage .pdViewedMatches:focus{border-color:#3aa5ef}
#playersPage .playerDetailFields .wide{grid-column:span 2}
#playersPage .pdViewedSection{
  margin:11px 0;padding:11px;border:1px solid rgba(55,126,184,.22);border-radius:12px;background:rgba(3,18,30,.62)
}
#playersPage .pdViewedSection label{display:block;margin-bottom:6px;color:#78b8e9;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
#playersPage .pdViewedMatches{min-height:112px;padding:9px;resize:vertical;font-size:10px;line-height:1.45}
#playersPage .pdAiStatus{margin-top:7px;min-height:14px;color:#7e98aa;font-size:9px;line-height:1.4}
#playersPage .pdAiStatus.ok{color:#81d7a3}#playersPage .pdAiStatus.error{color:#ff9b9b}#playersPage .pdAiStatus.busy{color:#78c6ff}
#playersPage .playerDetailActions{margin-top:14px}
#playersPage .pdSaveCloseBtn{
  width:100%;min-height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#168ff5,#0861c7);
  color:#fff;font-size:11px;font-weight:900;box-shadow:0 10px 24px rgba(0,91,194,.28)
}
#playersPage .playerHistoryBar{margin-top:13px!important}
@media(max-width:520px){
 #playersPage .playerDetailFields{grid-template-columns:1fr 1fr!important;gap:6px!important}
 #playersPage .playersFiltersV57{gap:5px!important;margin-bottom:7px!important}
 #playersPage .playersFiltersV57 input,#playersPage .playersFiltersV57 select{min-height:33px!important;height:33px!important;font-size:9px!important}
}



/* Filters clearly below the first navigation row */
#matchesPage .appMiniNav{margin-bottom:13px!important}
#matchesPage .matchFilters{margin-top:6px!important;margin-bottom:11px!important;gap:7px!important}
#matchesPage .filterSearchGrid{grid-template-columns:1fr 1fr!important;gap:7px!important}
#matchesPage .filterSecondGrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(128px,.8fr);gap:7px;align-items:stretch}
#matchesPage .statusFilterCard{border:1px solid #1f3d54;border-radius:9px;background:linear-gradient(180deg,#081b2b,#061420);padding:6px 7px 7px;display:flex;flex-direction:column;min-width:0}
#matchesPage .statusFilterHeader{height:18px;display:flex;align-items:center;color:#91b5d0;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
#matchesPage .statusFilterCard .matchStatusFilter{margin-top:2px;flex:1;align-content:center;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px}
#matchesPage .statusFilterCard .matchStatusFilter button{height:30px;font-size:7.8px;padding:0 3px}
#matchesPage .filterField .search{height:34px!important}
@media(max-width:520px){
 #matchesPage .filterSecondGrid{grid-template-columns:minmax(0,1.45fr) minmax(118px,.85fr);gap:6px}
 #matchesPage .statusFilterCard{padding:5px 6px 6px}
 #matchesPage .statusFilterCard .matchStatusFilter button{font-size:7px;height:27px}
}

/* Date/time are directly editable; weekday is re-derived after date change */
#matchesList .datebox{position:relative}
#matchesList .datePickWrap,#matchesList .timePickWrap{position:relative;display:block;width:100%}
#matchesList .datePickWrap{margin-top:1px}
#matchesList .overviewDateInput,#matchesList .overviewTimeInput{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0}
#matchesList .datePickWrap:hover .dateFull,#matchesList .timePickWrap:hover .time{color:#65c4ff!important}
#matchesList .matchcard{cursor:pointer}
#matchesList .editableEventName,#matchesList button,#matchesList input{cursor:auto}
#matchesList .overviewDateInput,#matchesList .overviewTimeInput{cursor:pointer}



/* Players overview: extra date column, newest added first */
#playersPage .playersScoutTable .scoutTableHead,#playersPage .playersScoutTable .scoutTableRow{min-width:1010px!important;grid-template-columns:76px 112px 120px 128px 112px 92px 65px 60px 60px 115px!important}
#playersPage .playersScoutTable .scoutTableHead>button,#playersPage .playersScoutTable .scoutTableRow>div{padding:6px 6px!important}

/* Player detail mirrors regular player report */
#playersPage .playerDetailTop{position:sticky;top:0;z-index:8;background:#03111f;padding:5px 0 7px}
#playersPage .playerDetailInfo{margin-top:4px!important}
#playersPage .playerDetailPhoto.pdPhotoBox{cursor:pointer;overflow:hidden;padding:0!important;display:flex;align-items:center;justify-content:center}
#playersPage #pdPhoto{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#9bb0bd;font-size:12px;line-height:1.45}
#playersPage #pdPhoto img{width:100%;height:100%;object-fit:cover;display:block}
#playersPage .pdViewedSection{margin:10px 0 9px!important;padding:9px 10px!important}
#playersPage .pdSectionHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
#playersPage .pdSectionHead label{margin:0!important}
#playersPage .pdMiniAiBtn{min-width:38px;height:29px;border:1px solid rgba(83,180,247,.42);border-radius:8px;background:#08283f;color:#7dc9ff;font-size:9px;font-weight:950}
#playersPage .pdMiniAiBtn::before{content:'✦ ';font-size:8px}
#playersPage .pdMiniAiBtn.busy{opacity:.6;pointer-events:none}
#playersPage .pdViewedMatches{height:70px!important;min-height:70px!important;max-height:70px!important;resize:none!important;line-height:1.38!important}
#playersPage .pdTabs{margin-top:10px!important}
#playersPage .pdBullets{width:100%;min-height:340px!important;box-sizing:border-box}
#playersPage .pdVoicePanel{display:none!important}
#playersPage .pdVoicePanel.open{display:flex!important}
#playersPage .pdAiProfileCard{max-width:none!important;width:100%!important;margin:10px 0 0!important;border:1px solid #234b66;border-radius:12px;background:linear-gradient(180deg,#071a2b,#051522);overflow:hidden}
#playersPage .pdAiProfileCard .aiProfileHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
#playersPage .pdAiProfileCard .aiProfileTitle{display:flex;align-items:center;gap:7px;color:#fff;font-size:12px;font-weight:900}
#playersPage .pdAiProfileCard .aiProfileBody{padding:10px 12px 8px}
#playersPage .pdAiProfileCard .aiProfileText{display:block;width:100%;min-height:146px;resize:none;overflow:hidden;border:0;outline:0;background:transparent;color:#e9f1f7;font:400 13px/1.58 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding:0;margin:0;box-sizing:border-box}
#playersPage .pdAiProfileCard .aiProfileText:not([readonly]){background:#04111d;border:1px solid #1c5f8d;border-radius:9px;padding:10px;resize:vertical;overflow:auto;min-height:170px}
#playersPage .pdAiProfileCard .aiProfileActions{display:flex;align-items:center;gap:7px;padding:0 12px 11px}
#playersPage .pdAiProfileCard .aiProfileActions button{height:30px;padding:0 9px;border-radius:8px;border:1px solid #264b63;background:#071827;color:#bcd1e0;font-size:9px;font-weight:800}
#playersPage .pdAiProfileCard .aiProfileActions .aiPrimary{border-color:#1f74ab;color:#65c1ff;background:#082139}
#playersPage .pdAiProfileCard .aiProfileActions .aiCopy{margin-left:auto}
#playersPage .pdAiProfileCard .aiProfileFoot{padding:0 12px 10px;color:#667f92;font-size:8px;line-height:1.35}
#playersPage .pdHistoryPanel{margin-top:10px}
#playersPage .pdHistoryAi{white-space:pre-wrap;margin:8px 0;padding:8px 9px;border-left:2px solid #238ed6;background:rgba(8,37,57,.6);color:#cbdce8;font-size:9.5px;line-height:1.48}
#playersPage .pdReportDateRow{display:grid;grid-template-columns:auto minmax(145px,220px);align-items:center;justify-content:end;gap:10px;margin:14px 0 7px;padding:9px 10px;border:1px solid rgba(55,126,184,.22);border-radius:10px;background:#061827}
#playersPage .pdReportDateRow label{font-size:9px;font-weight:900;color:#78b8e9;text-transform:uppercase;letter-spacing:.04em}
#playersPage .pdReportDateRow input{height:35px;border:1px solid rgba(67,127,171,.28);border-radius:8px;background:#04131f;color:#fff;padding:0 9px}
#playersPage .playerDetailActions{margin-top:7px!important}
#playersPage .standaloneHistoryItem{border-color:rgba(39,146,216,.34)!important}
@media(max-width:520px){
 #playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 32%!important;gap:7px!important}
 #playersPage .pdBullets{min-height:300px!important}
 #playersPage .pdReportDateRow{grid-template-columns:1fr 1fr;justify-content:stretch}
}



/*
  The main mini navigation is fixed at 52px.
  Older rules set matchesPage padding-top back to zero, hiding the first
  filter row behind the navigation. Keep a permanent safe zone here.
*/
body:not(.start-mode).matches-clean #matchesPage,
body:not(.start-mode) #matchesPage{
  padding-top:68px!important;
}
#matchesPage .appMiniNav{
  margin:0!important;
}
#matchesPage .matchFilters{
  margin-top:6px!important;
  position:relative!important;
  z-index:1!important;
}
#matchesPage .filterSearchGrid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:7px!important;
}
#matchesPage .filterField{
  min-width:0!important;
  display:block!important;
}
#matchesPage .filterField>span{
  display:block!important;
  min-height:14px!important;
  margin:0 0 3px!important;
  color:#91b5d0!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
#matchesPage #matchPlayerSearch,
#matchesPage #matchClubSearch{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:520px){
  body:not(.start-mode).matches-clean #matchesPage,
  body:not(.start-mode) #matchesPage{
    padding-top:64px!important;
  }
}



/* --- Players overview: tighter table, OPINIE, delete column --- */
#playersPage .playersScoutTable .scoutTableHead,
#playersPage .playersScoutTable .scoutTableRow{
  min-width:858px!important;
  grid-template-columns:61px 91px 98px 102px 91px 80px 48px 45px 43px 88px 38px!important;
}
#playersPage .playersScoutTable .scoutTableHead>button,
#playersPage .playersScoutTable .scoutTableHead>div,
#playersPage .playersScoutTable .scoutTableRow>div{
  padding:5px 3px!important;
}
#playersPage .playersScoutTable .scoutTableHead{
  font-size:8px!important;
  letter-spacing:.025em!important;
}
#playersPage .playersScoutTable .scoutTableRow{
  min-height:39px!important;
  font-size:9.5px!important;
  cursor:pointer;
}
#playersPage .playerDeleteHead,
#playersPage .playerDeleteCell{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
#playersPage .playerDeleteBtn{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:8px;
  border:1px solid rgba(214,91,91,.24);
  background:rgba(94,28,33,.18);
  color:#d7e1e8;
}
#playersPage .playerDeleteBtn svg{
  width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
#playersPage .playerDeleteBtn:active{transform:scale(.94);background:rgba(142,42,49,.34)}

/* --- Player delete confirmation uses exactly the same visual language --- */
#deletePlayerModal .deleteEventSheet{
  width:min(360px,calc(100vw - 28px));
  padding:20px 18px 16px;
  text-align:center;
  border-radius:16px;
  background:#081924;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 48px rgba(0,0,0,.38);
}
#deletePlayerModal h2{margin:0 0 7px;font-size:18px;font-weight:850;color:#fff}
#deletePlayerModal .sub{margin:0 auto 16px;max-width:300px;color:#8fa3b1;font-size:11px;line-height:1.45}
#deletePlayerModal .deleteEventActions #cancelDeletePlayerBtn{
  background:#0b2230;color:#d7e1e8;border:1px solid rgba(255,255,255,.10)
}

/* --- Standalone player report: mirror compact match-report dimensions --- */
#playersPage .playerDetailTop{
  min-height:42px!important;
  padding:3px 0 5px!important;
}
#playersPage .playerDetailTitle{font-size:12px!important}
#playersPage .pdAiScanBtn{height:30px!important;min-width:38px!important;padding:0 8px!important}
#playersPage .playerDetailInfo{
  grid-template-columns:minmax(0,1fr) minmax(118px,30%)!important;
  gap:6px!important;
  padding:7px!important;
  border-radius:10px!important;
  margin-top:2px!important;
}
#playersPage .playerDetailFields{
  gap:3px 5px!important;
}
#playersPage .playerDetailFields .field{
  gap:2px!important;
  margin:0!important;
}
#playersPage .playerDetailFields label{
  margin:0 0 2px!important;
  font-size:8px!important;
  line-height:1!important;
}
#playersPage .playerDetailFields input,
#playersPage .playerDetailFields select{
  width:100%!important;
  min-height:27px!important;
  height:27px!important;
  padding:2px 5px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:1!important;
  border:1px solid #1f425c!important;
  background:#061725!important;
  color:#fff!important;
}
#playersPage .playerDetailPhoto{
  position:relative!important;
  min-height:148px!important;
  max-height:170px!important;
  border-radius:9px!important;
}
#playersPage .pdViewedSection{
  margin:6px 0!important;
  padding:6px 7px!important;
  border-radius:9px!important;
}
#playersPage .pdSectionHead{margin-bottom:4px!important}
#playersPage .pdViewedMatches{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:6px 7px!important;
  font-size:10px!important;
}
#playersPage .pdAiStatus{margin-top:4px!important;font-size:8px!important}
#playersPage .pdTabs{
  max-width:760px!important;
  margin:6px auto 5px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:0!important;
}
#playersPage .pdTabs button{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 5px!important;
  font-size:10px!important;
}
#playersPage .pdTabs #pdVoiceTab,
#playersPage .pdTabs #pdHistoryTab{border-left:1px solid rgba(255,255,255,.08)!important}
#playersPage .pdBullets{
  min-height:250px!important;
  padding:10px!important;
  font-size:13px!important;
  line-height:1.55!important;
}
#playersPage .pdVoicePanel{
  min-height:250px!important;
  padding:12px!important;
}
#playersPage .pdVoicePanel .mic{
  width:66px!important;height:66px!important;font-size:28px!important
}
#playersPage .pdHistoryPanel{margin-top:0!important}
#playersPage .playerHistoryBar{
  margin-top:0!important;
  height:36px!important;
  border-radius:9px!important;
  font-size:10px!important;
}
#playersPage .playerDetailHistory{gap:5px!important;margin-top:5px!important}
#playersPage .playerHistoryItem{padding:7px!important;border-radius:9px!important}
#playersPage .pdAiProfileCard{margin-top:6px!important;border-radius:9px!important}
#playersPage .pdAiProfileCard .aiProfileHead{padding:7px 9px 6px!important}
#playersPage .pdAiProfileCard .aiProfileBody{padding:7px 9px 6px!important}
#playersPage .pdAiProfileCard .aiProfileActions{padding:0 9px 8px!important}
#playersPage .pdAiProfileCard .aiProfileFoot{padding:0 9px 7px!important}
#playersPage .pdReportDateRow{
  margin:7px 0 5px!important;
  padding:6px 7px!important;
  border-radius:8px!important;
}
#playersPage .pdReportDateRow input{height:29px!important}
#playersPage .playerDetailActions{margin-top:4px!important}
#playersPage .pdSaveCloseBtn{min-height:39px!important}

/* --- Photo delete icon in both report types --- */
#playersPage .pdPhotoBox,
#reportPage .reportPhotoBox{position:relative!important}
.photoDeleteBtn{
  position:absolute;
  right:7px;
  bottom:7px;
  z-index:8;
  width:31px;
  height:31px;
  min-width:31px;
  min-height:31px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(2,13,22,.82);
  color:#eef3f6;
  box-shadow:0 4px 14px rgba(0,0,0,.32);
}
.photoDeleteBtn.hidden{display:none!important}
.photoDeleteBtn svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round
}
.photoDeleteBtn:active{transform:scale(.94);background:rgba(112,33,39,.88)}

@media(max-width:520px){
  #playersPage .playersScoutTable .scoutTableHead,
  #playersPage .playersScoutTable .scoutTableRow{
    min-width:820px!important;
    grid-template-columns:58px 86px 92px 96px 87px 76px 46px 43px 41px 84px 36px!important;
  }
  #playersPage .playerDetailInfo{
    grid-template-columns:minmax(0,1fr) 31%!important;
    gap:5px!important;
    padding:6px!important;
  }
  #playersPage .playerDetailPhoto{
    min-height:128px!important;
    max-height:148px!important;
  }
  #playersPage .pdBullets,#playersPage .pdVoicePanel{min-height:225px!important}
}



#playersPage .pdViewedSection{
  padding:7px 8px!important;
}
#playersPage .pdViewedTable{
  width:100%;
  display:grid;
  gap:4px;
}
#playersPage .pdViewedTableHead,
#playersPage .pdViewedRow{
  display:grid;
  grid-template-columns:minmax(105px,.72fr) minmax(0,1.2fr) minmax(0,1.2fr);
  gap:5px;
  align-items:center;
}
#playersPage .pdViewedTableHead{
  padding:0 2px 1px;
  color:#7ea9c7;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#playersPage .pdViewedRow{
  min-height:31px;
}
#playersPage .pdViewedRow>input,
#playersPage .pdViewedDateWrap{
  min-width:0;
  width:100%;
  height:31px;
  border:1px solid #1e4058;
  border-radius:7px;
  background:#061725;
  color:#eef5fa;
}
#playersPage .pdViewedRow>input{
  padding:3px 6px;
  font-size:9.5px;
  outline:none;
}
#playersPage .pdViewedDateWrap{
  display:flex;
  align-items:center;
  padding:0 6px;
}
#playersPage .pdViewedDate{
  display:block;
  width:100%;
  min-width:0;
  height:29px;
  border:0;
  outline:none;
  padding:0;
  background:transparent;
  color:#eef5fa;
  font-size:9.5px;
}
#playersPage .pdViewedRow>input:focus,
#playersPage .pdViewedDateWrap:focus-within{
  border-color:#3aa5ef;
}
#playersPage .pdAiStatus{
  margin-top:5px!important;
}
@media(max-width:520px){
  #playersPage .pdViewedTableHead,
  #playersPage .pdViewedRow{
    grid-template-columns:102px minmax(0,1fr) minmax(0,1fr);
    gap:4px;
  }
  #playersPage .pdViewedRow>input,
  #playersPage .pdViewedDateWrap{
    height:30px;
  }
  #playersPage .pdViewedRow>input,
  #playersPage .pdViewedDate{
    font-size:9px;
  }
}



.matchScoutTable .scoutTableHead,
.matchScoutTable .scoutTableRow{
  min-width:970px!important;
  grid-template-columns:38px 66px 58px 60px 92px 92px 102px 84px 54px 54px minmax(210px,1fr)!important;
}
.matchScoutTable .scoutTableHead>div,
.matchScoutTable .scoutTableRow>div{padding:5px 4px!important}
.matchScoutTable .scoutTableHead{font-size:7.7px!important;letter-spacing:.025em!important}
.matchScoutTable .scoutTableRow{min-height:43px!important;font-size:9.5px!important}
.matchScoutTable .scoutTableRow input,
.matchScoutTable .scoutTableRow select{height:30px!important;min-height:30px!important;padding:3px 5px!important;border-radius:7px!important;font-size:9.5px!important}
.matchScoutTable .lineupReportHead,
.matchScoutTable .lineupReportCell{display:grid!important;place-items:center!important;padding-left:3px!important;padding-right:3px!important}
.matchScoutTable .lineupReportBtn{width:29px;height:29px;min-width:29px;min-height:29px;padding:0;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(70,174,239,.28);background:rgba(19,104,166,.18);color:#9dd7ff}
.matchScoutTable .lineupReportBtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.matchScoutTable .lineupReportBtn:active{transform:scale(.94);background:rgba(26,131,207,.32)}
.matchScoutTable .lineupBulletsCell{padding-top:4px!important;padding-bottom:4px!important}
.matchScoutTable .lineupBullets{width:100%;min-width:0;height:36px;min-height:36px;max-height:72px;resize:vertical;padding:5px 6px;border-radius:7px;border:1px solid rgba(255,255,255,.12);outline:none;background:rgba(8,24,40,.58);color:#fff;font-size:9.5px;line-height:1.35;font-family:inherit;overflow-y:auto}
.matchScoutTable .lineupBullets::placeholder{color:#91a7b9}
.matchScoutTable .lineupBullets:focus{border-color:#3aa5ef;box-shadow:0 0 0 1px rgba(58,165,239,.12)}
@media(max-width:520px){
 .matchScoutTable .scoutTableHead,.matchScoutTable .scoutTableRow{min-width:915px!important;grid-template-columns:52px 62px 72px 56px 56px 86px 86px 94px 58px 50px 50px minmax(205px,1fr)!important}
 .matchScoutTable .scoutTableHead>div,.matchScoutTable .scoutTableRow>div{padding:4px 3px!important}
 .matchScoutTable .scoutTableRow input,.matchScoutTable .scoutTableRow select,.matchScoutTable .lineupBullets{font-size:9px!important}
}



#reportPage .aiProfileHeadRight,
#playersPage .pdAiProfileCard .aiProfileHeadRight{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  min-width:0;
}
#reportPage .aiGenerateTop,
#playersPage .pdAiProfileCard .aiGenerateTop{
  flex:0 0 auto;
  height:30px;
  padding:0 9px;
  border-radius:8px;
  border:1px solid #1f74ab;
  background:#082139;
  color:#65c1ff;
  font-size:8.5px;
  font-weight:900;
  white-space:nowrap;
}
#reportPage .aiGenerateTop:disabled,
#playersPage .pdAiProfileCard .aiGenerateTop:disabled{
  opacity:.35;
}
#reportPage .aiProfileStatus,
#playersPage .pdAiProfileCard .aiProfileStatus{
  white-space:normal!important;
  line-height:1.2;
}
#reportPage .voicePanel .sub,
#playersPage .pdVoicePanel .sub{
  max-width:330px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:480px){
  #reportPage .aiProfileHead,
  #playersPage .pdAiProfileCard .aiProfileHead{
    align-items:flex-start!important;
  }
  #reportPage .aiProfileHeadRight,
  #playersPage .pdAiProfileCard .aiProfileHeadRight{
    gap:5px;
  }
  #reportPage .aiGenerateTop,
  #playersPage .pdAiProfileCard .aiGenerateTop{
    height:28px;
    padding:0 7px;
    font-size:7.5px;
  }
  #reportPage .aiProfileStatus,
  #playersPage .pdAiProfileCard .aiProfileStatus{
    max-width:105px;
    font-size:7.5px!important;
  }
}



#reportPage #liveTranscript,#playersPage #pdLiveTranscript{min-height:20px}
#reportPage #liveTranscript:not(:empty),#playersPage #pdLiveTranscript:not(:empty){
  margin-top:10px;padding:8px 10px;border:1px solid rgba(54,156,222,.28);border-radius:9px;background:rgba(12,54,82,.22);font-size:10px;line-height:1.4;color:#d9edf9
}



#playersPage .reportRecoveryHint{display:flex;justify-content:flex-end;margin:0 0 5px}
#playersPage .reportRecoveryHint a{font-size:8px;color:#718ea2;text-decoration:none;padding:3px 6px;border:1px solid rgba(255,255,255,.06);border-radius:7px;background:rgba(6,24,37,.34)}



body.tf-recovery-mode{background:#03111f!important;color:#eef5fa!important;overflow:auto!important}
body.tf-recovery-mode > *:not(#tfRecoveryRoot):not(script){display:none!important}
body.tf-recovery-mode #tfRecoveryRoot{display:block!important}
#tfRecoveryRoot{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#eef5fa;background:#03111f;min-height:100vh}
.tfRecoveryMain{max-width:760px;margin:0 auto;padding:18px 12px 60px}
.tfRecoveryMain h1{font-size:20px;margin:4px 0 5px}
.tfRecoverySub{color:#8fa7b8;font-size:11px;line-height:1.5;margin:0 0 14px}
.tfRecoveryWarning{padding:11px;border:1px solid #31516a;border-radius:11px;background:#071c2b;font-size:11px;line-height:1.5;margin-bottom:12px}
.tfRecoveryActions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0 12px}
.tfRecoveryActions button{min-height:39px;border:1px solid #24577b;border-radius:9px;background:#08233a;color:#e8f6ff;font-weight:800;padding:7px 9px;font-size:10px}
.tfRecoveryActions button.primary{border-color:#168ee4;background:#0a3d64}
.tfRecoveryStatus{font-size:10px;color:#91aec2;min-height:18px;margin:6px 0 10px}
.tfRecoverySearch{width:100%;height:40px;border:1px solid #22465f;border-radius:9px;background:#061725;color:#fff;padding:0 10px;outline:none}
.tfRecCard{border:1px solid #1b3d55;border-radius:12px;background:#061725;margin:8px 0;padding:10px}
.tfRecTop{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}
.tfRecName{font-weight:900;font-size:13px}.tfRecMeta{color:#8aa6b9;font-size:9px;line-height:1.45;margin-top:2px}
.tfRecBadge{font-size:8px;padding:4px 6px;border-radius:999px;border:1px solid #244d69;color:#86c7f2;white-space:nowrap}
.tfRecSection{margin-top:9px}.tfRecLabel{font-size:8px;color:#6fa3c7;text-transform:uppercase;font-weight:900;letter-spacing:.05em;margin-bottom:4px}
.tfRecCard pre{white-space:pre-wrap;word-break:break-word;margin:0;background:#03111f;border:1px solid #153349;border-radius:8px;padding:8px;font:10px/1.48 system-ui;color:#eaf4fa}
.tfRecCardActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tfRecCardActions button{min-height:33px;border:1px solid #24577b;border-radius:8px;background:#08233a;color:#e8f6ff;font-size:9px;font-weight:800;flex:1;padding:6px}
.tfRecEmpty{padding:22px 10px;text-align:center;color:#7f98a9;font-size:11px}
@media(max-width:460px){.tfRecoveryActions{grid-template-columns:1fr}.tfRecCardActions button{flex-basis:45%}}



/* Standalone spelersverslag: acties alleen zichtbaar wanneer detail open is */
#playersPage .playerDetailNavSpacer,
#playersPage .playerDetailNavActions{display:none!important}
#playersPage.player-detail-open .playerDetailNavSpacer{display:block!important;flex:1 1 auto!important}
#playersPage.player-detail-open .playerDetailNavActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
}
#playersPage.player-detail-open .playerDetailNavActions>button{
  width:30px!important;min-width:30px!important;max-width:30px!important;
  height:36px!important;min-height:36px!important;flex:0 0 30px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#fff!important;opacity:.74!important;
  display:grid!important;place-items:center!important;box-shadow:none!important;font-size:0!important
}
#playersPage.player-detail-open .playerDetailNavActions>button svg{
  width:20px!important;height:20px!important;fill:none!important;stroke:#fff!important;
  stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
#playersPage.player-detail-open .playerDetailNavActions>button:disabled{opacity:.24!important}
#playersPage.player-detail-open .playerDetailNavActions .undoCircularIcon,
#playersPage.player-detail-open .playerDetailNavActions .redoCircularIcon{stroke-width:2.35!important}
#playersPage.player-detail-open .playerDetailTop{
  grid-template-columns:1fr auto!important;
}
#playersPage.player-detail-open .playerDetailTitle{
  text-align:left!important;
}
#playersPage .playerDetailBack{display:none!important}

/* Beide spelersverslagen eindigen rechts met download/export; geen X meer */
#reportPage .miniNavRight,
#playersPage.player-detail-open .playerDetailNavActions{
  padding-right:2px!important
}



#reportPage .tabs,
#playersPage .pdTabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#reportPage #webTab,
#playersPage #pdWebTab{
  border-left:1px solid rgba(255,255,255,.08)!important;
}
#playersPage .pdTabs button,
#reportPage .tabs button{
  min-width:0!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
.playerWebPanel{
  max-width:760px;
  width:100%;
  margin:7px auto 8px;
  border:1px solid #234b66;
  border-radius:11px;
  background:#061725;
  overflow:hidden;
}
.playerWebPanel.hidden{display:none!important}
.playerWebHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:#071b2b;
}
.playerWebTitle{
  color:#f4f8fb;
  font-size:11px;
  font-weight:900;
}
.playerWebStatus{
  color:#7597ad;
  font-size:8px;
  margin-top:2px;
}
.playerWebRunBtn{
  flex:0 0 auto;
  min-height:31px;
  padding:0 10px;
  border:1px solid #277eb3;
  border-radius:8px;
  background:#082c48;
  color:#78caff;
  font-size:8.5px;
  font-weight:900;
}
.playerWebRunBtn:disabled{opacity:.45}
.playerWebIdentity{
  margin:8px 9px 0;
  padding:7px 8px;
  border:1px solid #27465b;
  border-radius:8px;
  background:#071d2c;
  color:#9db2c0;
  font-size:9px;
  line-height:1.45;
}
.playerWebIdentity.ok{
  border-color:rgba(65,167,117,.48);
  background:rgba(26,91,59,.17);
  color:#b7e3cb;
}
.playerWebIdentity.warn{
  border-color:rgba(215,157,67,.45);
  background:rgba(103,70,19,.17);
  color:#e6c68f;
}
.playerWebText{
  min-height:210px;
  padding:10px 11px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#e7eef3;
  font-size:10.5px;
  line-height:1.58;
}
.playerWebText:empty::before{
  content:'Nog geen internetonderzoek uitgevoerd.';
  color:#607b8d;
}
.playerWebSources{
  padding:0 9px 10px;
  display:grid;
  gap:4px;
}
.playerWebSourcesTitle{
  margin:2px 0 3px;
  color:#79a5c2;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.playerWebSources a{
  min-width:0;
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:6px;
  align-items:center;
  padding:6px 7px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:7px;
  background:#04131f;
  color:#b9d8ed;
  text-decoration:none;
  font-size:8.5px;
}
.playerWebSources a span{
  width:19px;height:19px;border-radius:6px;
  display:grid;place-items:center;
  background:#0b2c44;color:#69bfff;font-weight:900;
}
.playerWebSources a b{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700
}
.playerWebNoSources{color:#60798a;font-size:8.5px;padding:4px 2px}
@media(max-width:520px){
 #reportPage .tabs button,#playersPage .pdTabs button{font-size:8.5px!important}
 .playerWebHead{padding:8px}
 .playerWebRunBtn{padding:0 8px;font-size:8px}
 .playerWebText{font-size:10px;min-height:190px}
}



/* Make top report actions unquestionably tappable above all report content. */
#reportPage .appMiniNav,
#playersPage.player-detail-open .appMiniNav{
  pointer-events:auto!important;
  z-index:1200!important;
}
#reportPage .appMiniNav .miniNavRight,
#playersPage.player-detail-open .playerDetailNavActions{
  pointer-events:auto!important;
  position:relative!important;
  z-index:1201!important;
  gap:12px!important;
}
#reportPage .appMiniNav .miniNavRight>button,
#playersPage.player-detail-open .playerDetailNavActions>button{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:1202!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:42px!important;
  min-height:42px!important;
  flex:0 0 32px!important;
}
#reportPage .appMiniNav .miniNavRight>button svg,
#playersPage.player-detail-open .playerDetailNavActions>button svg{
  pointer-events:none!important;
}
#reportPage .appMiniNav .reportDeletePlayerAction,
#playersPage.player-detail-open .reportDeletePlayerAction{
  opacity:.82!important;
}
#reportPage .appMiniNav .reportDeletePlayerAction svg,
#playersPage.player-detail-open .reportDeletePlayerAction svg{
  width:19px!important;height:19px!important;stroke-width:2.15!important
}

/* New report-delete confirmation uses the existing Talentfinder delete visual language. */
#reportPlayerDeleteModal .deleteEventSheet{
  width:min(360px,calc(100vw - 28px));
  padding:20px 18px 16px;
  text-align:center;
  border-radius:16px;
  background:#081924;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 48px rgba(0,0,0,.38);
}
#reportPlayerDeleteModal h2{margin:0 0 7px;font-size:18px;font-weight:850;color:#fff}
#reportPlayerDeleteModal .sub{margin:0 auto 16px;max-width:310px;color:#8fa3b1;font-size:11px;line-height:1.45}
#reportPlayerDeleteModal #cancelReportPlayerDeleteBtn{
  background:#0b2230;color:#d7e1e8;border:1px solid rgba(255,255,255,.10)
}
@media(max-width:430px){
 #reportPage .appMiniNav .miniNavRight,
 #playersPage.player-detail-open .playerDetailNavActions{gap:8px!important}
 #reportPage .appMiniNav .miniNavRight>button,
 #playersPage.player-detail-open .playerDetailNavActions>button{
   width:30px!important;min-width:30px!important;max-width:30px!important;flex-basis:30px!important
 }
}



.playerWebStatus[data-state="error"]{color:#ff8f8f!important}
.playerWebStatus[data-state="ok"]{color:#83d5aa!important}
.playerWebStatus[data-state="warn"]{color:#e2bd72!important}
.playerWebStatus[data-state="busy"]{color:#8bcdf7!important}
.playerWebRunBtn.busy{position:relative;padding-left:25px!important}
.playerWebRunBtn.busy::before{
 content:'';
 position:absolute;left:9px;top:50%;
 width:9px;height:9px;margin-top:-5px;
 border:1.5px solid rgba(120,202,255,.35);
 border-top-color:#78caff;
 border-radius:50%;
 animation:tfWebSpin .75s linear infinite
}
@keyframes tfWebSpin{to{transform:rotate(360deg)}}



#webTab,#pdWebTab,#webPanel,#pdWebPanel,#rMarketRefresh,#linkSourceRbfa,.tf90SofaBox,.cloudBackupPanel{display:none!important}



/* v109: never paint the splash during a normal refresh/resume. */
html.tf31-resume #startPage{display:none!important}
html.tf31-resume[data-tf31-pre-page="matches"] #matchesPage,
html.tf31-resume[data-tf31-pre-page="players"] #playersPage,
html.tf31-resume[data-tf31-pre-page="shxi"] #shxiPage,
html.tf31-resume[data-tf31-pre-page="match"] #matchPage,
html.tf31-resume[data-tf31-pre-page="tournament"] #tournamentPage,
html.tf31-resume[data-tf31-pre-page="eventView"] #eventViewPage,
html.tf31-resume[data-tf31-pre-page="report"] #reportPage{display:block!important}
/* NFU = same thin frame logic as FU, but neutral grey. */
.playerTile.nfu .positionBar{box-shadow:none!important}
.playerTile.nfu .tileBody{box-shadow:0 0 0 1.5px #7f8a94 inset,0 2px 5px rgba(0,0,0,.16)!important}



/* v112 — Potential level abbreviations + reliable lightweight match reconciliation. */
#reportPage #rPotential{min-height:28px!important;height:28px!important}
#matchPage .playerTile .assessmentRow{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:2px!important;align-items:center!important}
#matchPage .playerTile .assessmentRow select{min-width:0!important;padding-left:1px!important;padding-right:1px!important}
#matchPage .playerTile .potentialInput{font-size:5.4px!important;font-weight:800!important;text-align:center!important}
#playersPage .playersScoutTable .scoutTableHead,
#playersPage .playersScoutTable .scoutTableRow{
  min-width:976px!important;
  grid-template-columns:61px 118px 91px 98px 102px 91px 80px 48px 45px 43px 88px 38px!important;
}
.matchScoutTable .scoutTableHead,
.matchScoutTable .scoutTableRow{
  min-width:1092px!important;
  grid-template-columns:38px 58px 58px 122px 60px 60px 88px 88px 96px 54px 50px 50px minmax(210px,1fr)!important;
}
.matchScoutTable .lineupPotential{font-size:8.7px!important}
@media(max-width:520px){
 #matchPage .playerTile .potentialInput{font-size:4.9px!important}
 .matchScoutTable .scoutTableHead,.matchScoutTable .scoutTableRow{
   min-width:1038px!important;
   grid-template-columns:36px 54px 54px 116px 56px 56px 82px 82px 92px 50px 48px 48px minmax(205px,1fr)!important;
 }
}



body:not(.start-mode) .appMiniNav button[data-mini-nav]{min-width:44px!important;width:44px!important;height:44px!important;min-height:44px!important;touch-action:manipulation!important;pointer-events:auto!important;-webkit-tap-highlight-color:transparent}
#tf116VersionBadge{pointer-events:none!important;max-width:min(72vw,520px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}



#tf116VersionBadge{display:none!important;visibility:hidden!important;pointer-events:none!important}
.appMiniNav{position:relative!important;z-index:40!important}
.appMiniNav button,[data-mini-nav],[data-nav]{pointer-events:auto!important;touch-action:manipulation!important}



#matchPage .positionBar{cursor:pointer;min-height:36px;touch-action:manipulation}
#matchPage .playerTile{touch-action:pan-x pan-y}
#reportPage{min-height:100vh}



#tf116VersionBadge{display:none!important;visibility:hidden!important;pointer-events:none!important}
.tf123PairQuick{border:1px solid #2b668f!important;background:#08253d!important;color:#67c0ff!important;font-size:16px!important;line-height:1!important}
/* v127: the global mini-nav rule sets button text to font-size:0.
   Pair/settings are text-only controls, so they became invisible in v126.
   Override with higher specificity so both controls are always visible. */
body:not(.start-mode) #matchesPage .appMiniNav #tf123PairQuickBtn{
  width:auto!important;min-width:74px!important;max-width:none!important;flex:0 0 auto!important;
  height:34px!important;min-height:34px!important;padding:0 12px!important;margin-left:2px!important;
  border:1px solid #2b668f!important;border-radius:9px!important;background:#08253d!important;
  color:#67c0ff!important;opacity:1!important;display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:11px!important;line-height:1!important;font-weight:950!important;letter-spacing:.02em!important;
}
body:not(.start-mode) #matchesPage .appMiniNav #tf123PairQuickBtn::after{display:none!important}
body:not(.start-mode) #matchesPage .appMiniNav #cloudBackupSettingsBtn{
  width:36px!important;min-width:36px!important;max-width:36px!important;flex:0 0 36px!important;
  height:34px!important;min-height:34px!important;padding:0!important;
  border:1px solid #2b475c!important;border-radius:9px!important;background:#071725!important;
  color:#e9f4fc!important;opacity:1!important;display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:19px!important;line-height:1!important;font-weight:800!important;
}
body:not(.start-mode) #matchesPage .appMiniNav #cloudBackupSettingsBtn::after{display:none!important}
#tf123PairGate{position:fixed;inset:0;z-index:99999;background:rgba(2,13,23,.965);display:none;align-items:center;justify-content:center;padding:18px}
#tf123PairGate.open{display:flex}
.tf123PairCard{width:min(620px,100%);max-height:92vh;overflow:auto;border:1px solid #315873;border-radius:18px;background:#071827;color:#fff;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.tf123PairCard h2{margin:0 0 8px;font-size:22px}.tf123PairCard p{margin:0 0 12px;color:#9fb4c4;font-size:11px;line-height:1.5}.tf123PairWarn{padding:10px 11px;border:1px solid #d69a32;border-radius:10px;background:#2a2009;color:#ffd788!important}.tf123PairLink{width:100%;min-height:92px;border:1px solid #2c506a;border-radius:10px;background:#03121e;color:#eef7ff;padding:10px;font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical;outline:none}.tf123PairLink:focus{border-color:#209df3}.tf123PairActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tf123PairActions button{min-height:42px;flex:1 1 150px;border:1px solid #2d5876;border-radius:9px;background:#09243a;color:#fff;font-weight:850}.tf123PairActions button.primary{background:linear-gradient(180deg,#118af0,#0861c8);border-color:#2aa5ff}.tf123PairStatus{min-height:18px;margin-top:10px;font-size:10px;line-height:1.45;color:#94aabc}.tf123PairStatus.ok{color:#82dfa7}.tf123PairStatus.err{color:#ff9d9d}.tf123PairCode{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#6bc3ff;font-weight:900}
#matchPage .positionBar{cursor:pointer;touch-action:manipulation}



/* TF31 v89 — squad/age/market value + keyboard-safe global navigation */
body:not(.start-mode) .appMiniNav{z-index:2147483000!important;transform:translate3d(0,var(--tf89-vv-top,0px),0)!important;will-change:transform}
.tf89MarketMeta{display:block;margin-top:4px;color:#8298aa;font-size:9px;line-height:1.2;min-height:11px}
.tf89RoleBadge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:20px;padding:0 6px;border-radius:999px;font-size:7.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.tf89RoleBadge.starter{background:rgba(42,203,111,.18);border:1px solid rgba(42,203,111,.42);color:#8ef0b6}
.tf89RoleBadge.reserve{background:rgba(139,164,184,.12);border:1px solid rgba(139,164,184,.25);color:#b6c6d3}
.matchScoutTable .tf89StarterRow{box-shadow:inset 3px 0 0 rgba(42,203,111,.62)}
.matchScoutTable .tf89ReserveRow{opacity:.93}
.matchScoutTable .tf89SquadState{font-size:9px;font-weight:500;color:#8298aa;margin-left:6px}
.matchScoutTable .scoutTableHead,.matchScoutTable .scoutTableRow{min-width:980px!important;grid-template-columns:52px 62px 72px 56px 56px 82px 82px 92px 58px 50px 50px minmax(205px,1fr)!important}
.tf89RoleCell{display:grid!important;place-items:center!important}
@media(max-width:600px){body:not(.start-mode) .page{padding-top:60px!important}.tf89MarketMeta{font-size:8px}}
.tf95MarketRow{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px;align-items:center}.tf95MarketRow button{height:38px;border:1px solid #2b485e;border-radius:8px;background:#071827;color:#8fd2ff;font-size:18px;font-weight:900}.tf95MarketRow button:active{transform:scale(.95)}



/* v126 — reliable match opening + lighter hidden pages */
#matchesList .editableEventName{pointer-events:none!important;user-select:none!important;caret-color:transparent!important}
#matchesList .matchcard{touch-action:manipulation!important}
.tf123PairQuick{width:auto!important;min-width:58px!important;padding:0 10px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.02em!important}
#playersList .scoutTableRow{content-visibility:auto;contain-intrinsic-size:36px}
.tf126MorePlayers{min-width:980px;padding:12px;display:flex;justify-content:center}.tf126MorePlayers button{height:38px;border:1px solid #2d5876;border-radius:9px;background:#09243a;color:#8fd2ff;font-weight:850;padding:0 18px}



/* v130 — one visible page only + position label/Position column opens player report */
body:not(.start-mode) .page:not(.active){display:none!important}
body.matches-clean #matchesPage{display:block!important}
body.matches-clean #matchPage,
body.matches-clean #reportPage,
body.matches-clean #eventViewPage,
body.matches-clean #tournamentPage,
body.matches-clean #playersPage,
body.matches-clean #shxiPage{display:none!important}
#matchPage .positionBar{cursor:pointer!important}
#matchPage .positionName{cursor:pointer!important;touch-action:manipulation}
#matchPage .lineupReportBtn{cursor:pointer!important;position:relative!important;z-index:3!important}
#matchPage .scoutTableRow[data-lineup-row]{cursor:default}
#matchPage .scoutTableRow[data-lineup-row] > div:not(:has(input)):not(:has(select)):not(:has(textarea)){cursor:pointer}



/* v130 — no separate report button: click RB/RCB/etc. in the Position column */
#matchPage .lineupPositionCell{padding:0!important;display:flex!important;align-items:stretch!important}
#matchPage .lineupPositionOpen{width:100%;min-width:0;height:100%;min-height:32px;border:0;background:transparent;color:#73c9ff;font:inherit;font-weight:900;letter-spacing:.03em;cursor:pointer;padding:0 6px;text-align:left}
#matchPage .lineupPositionOpen:hover,#matchPage .lineupPositionOpen:focus-visible{background:rgba(20,142,220,.12);outline:1px solid rgba(68,181,246,.35);outline-offset:-1px}
#matchPage .lineupPositionOpen:active{background:rgba(20,142,220,.2)}



/* v132: the intended click targets are explicit and never depend on a hidden overlay. */
#matchesList .matchcard{touch-action:manipulation}
#matchPage .positionBar,#matchPage .positionName,#matchPage .lineupPositionCell,#matchPage .lineupPositionOpen{cursor:pointer!important;touch-action:manipulation}


/* =========================================================
   TALENTFINDER31 REBUILD v2 — VISUAL PARITY LAYER
   Functional core unchanged; this layer maps the clean rebuild DOM
   back onto the v125-v132 visual language.
   ========================================================= */
html,body{min-height:100%} body{overflow-x:hidden}.hidden{display:none!important}
body:not(.start-mode) .topbar{display:none!important}
body:not(.start-mode) .page{padding-top:62px!important}
body:not(.start-mode) #matchesPage{padding-top:66px!important}

/* Old fixed compact nav */
body:not(.start-mode) .appMiniNav{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:2147483000!important;height:52px!important;min-height:52px!important;max-width:none!important;margin:0!important;padding:4px 14px!important;display:flex!important;align-items:center!important;gap:6px!important;background:rgba(2,13,24,.985)!important;border-bottom:1px solid rgba(255,255,255,.07)!important;box-shadow:0 5px 18px rgba(0,0,0,.16)!important}
body:not(.start-mode) .appMiniNav>button{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#98aab8!important;display:grid!important;place-items:center!important;font-size:0!important}
body:not(.start-mode) .appMiniNav>button svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body:not(.start-mode) .appMiniNav>button[data-mini-nav="matches"]{color:#f0f5f8!important}
body:not(.start-mode) .appMiniNav .miniNavSpacer{flex:1 1 auto!important}
body:not(.start-mode) .appMiniNav .miniNavRight{display:flex!important;gap:5px!important;margin-left:auto!important;align-items:center!important}
body:not(.start-mode) #pairQuickBtn{width:auto!important;min-width:64px!important;height:34px!important;min-height:34px!important;padding:0 10px!important;border:1px solid #2b668f!important;border-radius:8px!important;background:#08253d!important;color:#67c0ff!important;font-size:10px!important;font-weight:950!important;letter-spacing:.02em!important;display:flex!important;align-items:center!important;justify-content:center!important}
body:not(.start-mode) #syncSettingsBtn{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border:1px solid #2b475c!important;border-radius:8px!important;background:#071725!important;color:#e9f4fc!important;font-size:18px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.syncPill{display:inline-flex!important;align-items:center!important;gap:5px!important;height:28px!important;padding:0 8px!important;border:1px solid #244b66!important;border-radius:999px!important;background:#071827!important;color:#879daf!important;font-size:8px!important;font-weight:850!important;margin-left:2px!important;white-space:nowrap!important}.syncPill.ok{color:#80dba9!important;border-color:#285c47!important}.syncPill.busy{color:#7fc6ff!important}.syncPill.error{color:#ff9292!important;border-color:#6f3434!important}

/* Match overview = previous two-column desktop card language */
.matchFiltersCore{max-width:980px!important;margin:8px auto 14px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px!important;gap:8px!important}
.matchFiltersCore input,.matchFiltersCore select{height:38px!important;border:1px solid #1f3d54!important;border-radius:9px!important;background:#061624!important;color:#fff!important;padding:0 10px!important;outline:none!important;font-size:11px!important}
.matchFiltersCore input::placeholder{color:#75899a!important}
#matchesList{max-width:1120px!important;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#matchesList .matchcard{min-height:92px!important;display:grid!important;grid-template-columns:88px minmax(0,1fr) 104px!important;align-items:stretch!important;padding:0!important;overflow:hidden!important;border:1px solid #203d52!important;border-radius:10px!important;background:#061522!important;box-shadow:none!important;cursor:pointer!important;transition:border-color .12s ease,background .12s ease!important}
#matchesList .matchcard:hover{border-color:#2e5c79!important;background:#071a29!important}
#matchesList .matchDateBox{border-right:1px solid #1c4b6d!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding:8px 6px!important;color:#8ea3b6!important;font-size:9px!important;line-height:1.4!important}
#matchesList .matchDateBox .coreDow{color:#3fb3ff!important;font-size:8px!important;font-weight:950!important;text-transform:uppercase!important;margin-bottom:2px!important}
#matchesList .matchDateBox b{display:block!important;color:#fff!important;font-size:11px!important;font-weight:950!important;line-height:1.2!important}
#matchesList .matchDateBox span{display:block!important;color:#79a3be!important;font-size:8px!important;margin-top:3px!important}
#matchesList .matchMain{min-width:0!important;padding:11px 12px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
#matchesList .matchTeams{font-size:11px!important;font-weight:900!important;line-height:1.22!important;color:#fff!important;white-space:normal!important;overflow:hidden!important}
#matchesList .matchTeams .coreTeam{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#matchesList .matchTeams .coreVs{display:block!important;color:#64849a!important;font-size:7px!important;font-weight:700!important;margin:4px 0!important;text-transform:uppercase!important}
#matchesList .matchMeta{display:none!important}
#matchesList .matchState{display:inline-flex!important;align-items:center!important;align-self:flex-start!important;margin-top:7px!important;height:22px!important;padding:0 7px!important;border:1px solid rgba(47,203,119,.25)!important;border-radius:7px!important;background:rgba(18,104,61,.12)!important;color:#5ae39a!important;font-size:7px!important;font-weight:900!important;text-transform:none!important;letter-spacing:0!important}
#matchesList .matchcard.isClosed .matchState{border-color:rgba(244,100,112,.35)!important;background:rgba(126,37,48,.18)!important;color:#ff8a97!important}
#matchesList .matchActions{border-left:1px solid rgba(255,255,255,.045)!important;display:grid!important;grid-template-columns:1fr 1fr!important;align-content:center!important;justify-items:center!important;gap:6px!important;padding:8px!important}
#matchesList .iconBtn{width:34px!important;height:34px!important;border:1px solid #2a536f!important;border-radius:8px!important;background:#08243a!important;color:#d8e8f3!important;font-size:13px!important;display:grid!important;place-items:center!important}
#matchesList .iconBtn.danger{border-color:#63353d!important;background:#27171c!important;color:#ffc0c5!important}
#matchesList .iconBtn:hover{filter:brightness(1.12)!important}
#matchesPage .historyBottom{max-width:1120px!important;margin:10px auto 0!important;color:#55758b!important;font-size:8px!important;text-align:right!important}

/* Field / lineup: restore previous sizing and compact card treatment */
#matchPage .matchHeader,#matchPage .pitchWrap{max-width:650px!important}
#matchPage .pitchWrap{box-shadow:0 16px 40px rgba(0,0,0,.34)!important}
#matchPage .playerTile{overflow:visible!important}
#matchPage .positionBar{cursor:pointer!important;touch-action:manipulation!important}
#matchPage .tileCoreInput{width:100%!important;border:0!important;background:transparent!important;color:#fff!important;text-align:center!important;outline:none!important;padding:0!important;font:inherit!important}
#matchPage .tileCoreInput::placeholder{color:#a7b2bc!important}
#matchPage .tileMetaSelect{appearance:none!important;-webkit-appearance:none!important;width:100%!important;border:0!important;background:transparent!important;color:#e6edf2!important;text-align:center!important;outline:none!important;padding:0!important;font-size:7px!important;font-weight:800!important}

/* Rebuild list mode, visually mapped to the old scouting table */
.lineupListView{max-width:1120px!important;margin:8px auto 0!important;border:1px solid #203d52!important;border-radius:10px!important;background:#061522!important;overflow:hidden!important}
.lineupCoreTable{display:grid!important;gap:0!important;padding:0!important;overflow-x:auto!important}
.lineupCoreRow{min-width:930px!important;display:grid!important;grid-template-columns:58px 54px 150px 92px 74px 78px 104px minmax(230px,1fr)!important;gap:0!important;align-items:stretch!important;background:#071827!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;border-radius:0!important;padding:0!important}
.lineupCoreRow:nth-child(even){background:#061522!important}.lineupCoreRow>*{min-width:0!important}
.lineupPosBtn{height:38px!important;border:0!important;border-right:1px solid rgba(255,255,255,.06)!important;border-radius:0!important;background:#0a2134!important;color:#78c8ff!important;font-size:8px!important;font-weight:950!important;letter-spacing:.04em!important}
.lineupCoreRow input,.lineupCoreRow select{height:38px!important;border:0!important;border-right:1px solid rgba(255,255,255,.06)!important;border-radius:0!important;background:transparent!important;color:#dce8f1!important;padding:0 7px!important;font-size:9px!important;font-weight:650!important;outline:none!important}
.lineupCoreRow select option{background:#fff!important;color:#071522!important}
.lineupCoreRow textarea{grid-column:auto!important;min-height:38px!important;height:38px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#dce8f1!important;padding:8px!important;font-size:9px!important;line-height:1.3!important;resize:vertical!important;outline:none!important}

/* Players table: previous compact proportions, with current 12 columns */
#playersPage .playersFiltersV57{max-width:1120px!important;margin:3px auto 9px!important}
#playersPage .playersScoutTable{max-width:1120px!important;margin:0 auto!important}
#playersPage .playersScoutTable .scoutTableHead,#playersPage .playersScoutTable .scoutTableRow{min-width:1040px!important;grid-template-columns:62px 116px 92px 98px 112px 96px 82px 50px 46px 44px 94px 40px!important}
#playersPage .playersScoutTable .scoutTableHead>button,#playersPage .playersScoutTable .scoutTableHead>div,#playersPage .playersScoutTable .scoutTableRow>div{padding:6px 4px!important}
#playersPage .playersScoutTable .scoutTableHead{font-size:7.5px!important;letter-spacing:.025em!important}
#playersPage .playersScoutTable .scoutTableRow{min-height:38px!important;font-size:9px!important;cursor:pointer!important}
#playersPage .playersScoutTable .scoutTableRow:hover{background:#0a2437!important}
#playersPage .playersScoutTable .iconBtn{width:27px!important;height:27px!important;border-radius:7px!important;font-size:12px!important}
.playerTableLoadMore{display:block!important;margin:12px auto 0!important;height:38px!important;padding:0 18px!important;border:1px solid #2d5876!important;border-radius:9px!important;background:#09243a!important;color:#8fd2ff!important;font-size:10px!important;font-weight:850!important}

/* Reports and standalone player detail: use previous compact report language */
#reportPage .reportGrid,#playersPage .playerDetailInfo{box-shadow:none!important}
#reportPage .reportGrid{max-width:760px!important}
#reportPage .field input,#reportPage .field select,#playersPage .playerDetailFields input,#playersPage .playerDetailFields select{background:#061522!important;color:#eaf3fa!important;border:1px solid #23445b!important}
#reportPage .field input[readonly]{color:#8fa8ba!important;background:#05131f!important}
#reportPage .bullets,#playersPage .pdBullets{background:#061522!important;color:#eaf3fa!important;border:1px solid #23445b!important}
#reportPage .aiProfileCard,#playersPage .pdAiProfileCard{box-shadow:none!important}

/* Core modals mapped to old sheets */
.coreModal{background:rgba(0,0,0,.64)!important;backdrop-filter:blur(3px)!important}
.coreModal .sheet{width:min(620px,calc(100vw - 24px))!important;max-height:90vh!important;overflow:auto!important;border:1px solid #29495f!important;border-radius:14px!important;background:linear-gradient(180deg,#081b2b,#06131f)!important;box-shadow:0 18px 50px rgba(0,0,0,.45)!important;padding:16px!important}
.coreModal .fieldRow{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
.coreModal input,.coreModal select,.coreModal textarea{width:100%!important;border:1px solid #29495f!important;border-radius:8px!important;background:#061522!important;color:#fff!important;padding:10px!important;outline:none!important}
.coreModal label{font-size:9px!important;font-weight:850!important;color:#8ea8ba!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.coreModal .actions{display:flex!important;gap:8px!important;margin-top:12px!important}.coreModal .actions button{flex:1!important;min-height:40px!important;border:1px solid #31536a!important;border-radius:8px!important;background:#092237!important;color:#dceaf4!important;font-size:10px!important;font-weight:850!important}.coreModal .actions .save{background:linear-gradient(180deg,#0b7fe5,#0863bd)!important;border-color:#1999f3!important;color:#fff!important}.coreModal .danger{background:#5e2228!important;border-color:#963d46!important;color:#ffd3d6!important}
.syncStatusBox{padding:10px 12px!important;border:1px solid #1f3d54!important;border-radius:10px!important;background:#051522!important;color:#9cb3c3!important;font-size:10px!important;line-height:1.5!important;margin:9px 0!important}.syncCodeRow{display:grid!important;grid-template-columns:1fr auto!important;gap:7px!important}.syncInfoSmall{font-size:8px!important;color:#7794a9!important;margin-top:6px!important}.dangerNote{border:1px solid #653b3b!important;background:#281115!important;color:#ffb5b5!important;border-radius:8px!important;padding:9px!important;font-size:9px!important;margin:8px 0!important}

/* Tournament cards */
.tournamentPlayerCard{background:#071827!important;border:1px solid #28485d!important;border-radius:9px!important;padding:8px!important;margin:7px 0!important;display:grid!important;grid-template-columns:66px 1fr 1fr 100px 82px!important;gap:6px!important}.tournamentPlayerCard input,.tournamentPlayerCard select{min-width:0!important;height:34px!important;border:1px solid #36546a!important;border-radius:6px!important;background:#061522!important;color:#fff!important;padding:0 6px!important}.tournamentPlayerCard textarea{grid-column:1/-1!important;min-height:62px!important;border:1px solid #36546a!important;border-radius:7px!important;background:#061522!important;color:#fff!important;padding:8px!important}.tournamentPlayerCard .positionOpen{background:#687480!important;color:#fff!important;border:0!important;border-radius:6px!important;font-weight:900!important}

/* Install / toast */
.pwaInstallBtn{position:fixed!important;right:18px!important;bottom:82px!important;z-index:170!important;height:42px!important;border:1px solid #1688ef!important;background:linear-gradient(180deg,#0b78dd,#075caf)!important;color:#fff!important;border-radius:12px!important;padding:0 13px!important;font-size:10px!important;font-weight:850!important;box-shadow:0 10px 28px rgba(0,80,170,.38)!important}
body.start-mode .pwaInstallBtn{display:none!important}.toastCore{position:fixed!important;z-index:99999!important;left:50%!important;bottom:86px!important;transform:translateX(-50%) translateY(12px)!important;opacity:0!important;pointer-events:none!important;transition:.18s!important;background:#081b2b!important;border:1px solid #31536a!important;color:#fff!important;padding:9px 13px!important;border-radius:9px!important;box-shadow:0 10px 30px rgba(0,0,0,.35)!important;font-size:10px!important;font-weight:800!important}.toastCore.show{opacity:1!important;transform:translateX(-50%) translateY(0)!important}.coreSaveState{font-size:8px!important;color:#86dbaa!important;text-align:center!important;margin-top:6px!important}.coreSaveState.saving{color:#8fcfff!important}.coreSaveState.error{color:#ff9e9e!important}

@media(max-width:760px){
  body:not(.start-mode) .page{padding-left:7px!important;padding-right:7px!important;padding-top:60px!important}
  body:not(.start-mode) .appMiniNav{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
  .syncPill{display:none!important}
  .matchFiltersCore{grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:4px!important}.matchFiltersCore .wide{grid-column:1/-1!important}
  #matchesList{grid-template-columns:1fr!important;gap:7px!important}
  #matchesList .matchcard{grid-template-columns:72px minmax(0,1fr) 88px!important;min-height:86px!important}
  #matchesList .matchMain{padding:9px 10px!important}
  #matchesList .matchActions{padding:6px!important}
  #matchesList .iconBtn{width:31px!important;height:31px!important}
  .coreModal .fieldRow{grid-template-columns:1fr!important}
  .tournamentPlayerCard{grid-template-columns:62px 1fr 1fr!important}.tournamentPlayerCard .wideMobile{grid-column:span 2!important}
}
@media(min-width:900px){
  #matchesPage.page{max-width:1160px!important}
  #playersPage.page{max-width:1160px!important}
}

/* =========================================================
   TALENTFINDER31 REBUILD v3 — MATCH ACTIONS + ALIGNMENT PASS
   Functional storage/sync core intentionally unchanged.
   ========================================================= */

/* Match overview: restore the full action block from the stable legacy UI */
#matchesList .matchcard{
  grid-template-columns:92px minmax(0,1fr) 126px!important;
  min-height:88px!important;
  border-radius:10px!important;
  box-shadow:0 4px 12px rgba(0,0,0,.18)!important;
}
#matchesList .matchcard.openEvent{
  background:linear-gradient(180deg,#0d3656,#092944)!important;
  border-color:#2a648e!important;
}
#matchesList .matchcard.closedEvent{
  background:linear-gradient(180deg,#061a2a,#04131f)!important;
  border-color:#17364d!important;
}
#matchesList .matchDateBox{
  padding:7px!important;
  border-right:1px solid rgba(66,166,232,.45)!important;
  gap:2px!important;
}
#matchesList .matchDateBox .coreDow{font-size:9px!important;font-weight:900!important;color:#55b8ff!important;line-height:1.15!important}
#matchesList .matchDateBox b{font-size:10px!important;font-weight:800!important;color:#eef7fd!important;white-space:nowrap!important;line-height:1.25!important}
#matchesList .matchDateBox span:last-child{font-size:9px!important;margin-top:2px!important;color:#8ea6b7!important;line-height:1.2!important}
#matchesList .matchMain{padding:7px 9px!important;justify-content:center!important}
#matchesList .matchTeams{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important}
#matchesList .matchTeams .coreTeam{font-size:12px!important;line-height:1.25!important;font-weight:900!important;color:#fff!important;min-height:18px!important;display:flex!important;align-items:center!important}
#matchesList .matchTeams .coreVs{font-size:7px!important;line-height:1!important;margin:0!important;color:#7591a3!important;text-transform:uppercase!important}
#matchesList .coreTournamentClub{font-size:8px!important;color:#829aaa!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#matchesList .trophyMark{width:22px;height:22px;display:inline-grid;place-items:center;margin-right:7px;border:1px solid #2e668d;border-radius:7px;background:#08263d;color:#65c6ff;font-size:12px;flex:0 0 22px}
.matchCardActions{
  width:126px!important;min-width:126px!important;height:100%!important;
  padding:6px!important;gap:5px!important;display:grid!important;
  grid-template-rows:32px 28px!important;align-content:center!important;
  border-left:1px solid rgba(255,255,255,.05)!important;
}
.matchCardActionRow{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:4px!important;min-width:0!important}
.matchCardAction{
  width:100%!important;height:32px!important;min-height:32px!important;padding:0!important;
  border:1px solid #2d5875!important;border-radius:7px!important;background:#08243a!important;color:#d7e8f3!important;
  display:grid!important;place-items:center!important;transition:background .12s,border-color .12s,transform .08s!important;
}
.matchCardAction:hover{background:#0b3150!important;border-color:#39759c!important}
.matchCardAction:active{transform:scale(.95)!important}
.matchCardAction svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none!important}
.matchCardAction.deleteAction{border-color:#60343d!important;background:#27171c!important;color:#f1b4bb!important}
.matchCardAction.deleteAction:hover{background:#3a1c22!important;border-color:#81414c!important}
.matchStatusToggle{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important}
.matchStatusToggle button{height:27px!important;min-height:27px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.10)!important;background:#071a29!important;font-size:7.5px!important;font-weight:900!important;padding:0 3px!important}
.matchStatusToggle .statusOpen{color:#72d99a!important;border-color:rgba(72,191,116,.22)!important}
.matchStatusToggle .statusClosed{color:#e88990!important;border-color:rgba(224,99,106,.20)!important}
.matchStatusToggle .statusOpen.active{background:rgba(38,139,82,.30)!important;border-color:rgba(72,191,116,.48)!important;color:#9aebba!important}
.matchStatusToggle .statusClosed.active{background:rgba(143,51,58,.30)!important;border-color:rgba(224,99,106,.44)!important;color:#ffb1b7!important}

/* Report cards: explicit grid spans remove the uneven rows that could occur in v2 */
#reportPage .reportGrid,
#playersPage .playerDetailInfo{
  width:min(100%,820px)!important;
  max-width:820px!important;
  margin-left:auto!important;margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 190px!important;
  gap:8px!important;
  align-items:stretch!important;
  padding:8px!important;
  border:1px solid #203d52!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#071a2a,#061522)!important;
}
#reportPage .reportFields,
#playersPage .playerDetailFields{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row dense!important;
  gap:5px 6px!important;
  align-content:start!important;
}
#reportPage .reportFields .field,
#playersPage .playerDetailFields .field{
  min-width:0!important;margin:0!important;gap:3px!important;align-self:start!important;
}
#reportPage .reportFields .span-1,#playersPage .playerDetailFields .span-1{grid-column:span 1!important}
#reportPage .reportFields .span-2,#playersPage .playerDetailFields .span-2{grid-column:span 2!important}
#reportPage .reportFields .span-4,#playersPage .playerDetailFields .span-4{grid-column:1/-1!important}
#reportPage .reportFields label,
#playersPage .playerDetailFields label{
  height:12px!important;display:flex!important;align-items:flex-end!important;
  margin:0!important;color:#8ea8ba!important;font-size:8px!important;font-weight:850!important;line-height:1!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
#reportPage .reportFields input,#reportPage .reportFields select,
#playersPage .playerDetailFields input,#playersPage .playerDetailFields select{
  width:100%!important;min-width:0!important;height:30px!important;min-height:30px!important;
  margin:0!important;padding:0 7px!important;border:1px solid #23445b!important;border-radius:7px!important;
  background:#061522!important;color:#edf5fb!important;font-size:9.5px!important;line-height:30px!important;outline:none!important;
}
#reportPage .reportFields input:focus,#reportPage .reportFields select:focus,
#playersPage .playerDetailFields input:focus,#playersPage .playerDetailFields select:focus{border-color:#2f7eae!important;box-shadow:0 0 0 1px rgba(38,146,213,.18)!important}
#reportPage .reportPhotoBox,
#playersPage .playerDetailPhoto.pdPhotoBox{
  width:100%!important;height:100%!important;min-height:218px!important;max-height:none!important;align-self:stretch!important;
  border:1px solid #29485d!important;border-radius:9px!important;background:#071827!important;
}
#reportPage .reportPhotoBox img,#playersPage .playerDetailPhoto img{width:100%!important;height:100%!important;object-fit:cover!important}

/* Make all report sections use exactly the same width and left/right edges */
#reportPage .tabs,#reportPage .bullets,#reportPage .voicePanel,#reportPage .historyPanel,#reportPage .aiProfileCard,#reportPage .reportActions,#reportPage .saveBar,
#playersPage .pdViewedSection,#playersPage .pdTabs,#playersPage .pdBullets,#playersPage .pdVoicePanel,#playersPage .pdHistoryPanel,#playersPage .pdAiProfileCard,#playersPage .pdReportActions,#playersPage .coreSaveState{
  width:min(100%,820px)!important;max-width:820px!important;margin-left:auto!important;margin-right:auto!important;
}
#reportPage .tabs,#playersPage .pdTabs{margin-top:8px!important;margin-bottom:6px!important}
#reportPage .tabs{grid-template-columns:repeat(3,1fr)!important}
#reportPage .tabs button,#playersPage .pdTabs button{height:38px!important;min-height:38px!important;font-size:9px!important;display:flex!important;align-items:center!important;justify-content:center!important}
#reportPage .bullets,#playersPage .pdBullets{min-height:260px!important;padding:11px 12px!important;border-radius:9px!important;font-size:12px!important;line-height:1.55!important}
#reportPage .aiProfileCard,#playersPage .pdAiProfileCard{margin-top:8px!important;border-radius:10px!important;overflow:hidden!important}
#reportPage .reportActions,#playersPage .pdReportActions{margin-top:8px!important;grid-template-columns:1fr!important}
#reportPage .saveCloseReportBtn,#playersPage #pdSaveCloseBtn{height:40px!important;min-height:40px!important}

/* Top report navigation buttons: same dimensions, baseline and spacing */
#reportPage .appMiniNav .miniNavRight,
#playersPage .playerDetailNavActions{display:flex!important;align-items:center!important;gap:7px!important;margin-left:auto!important}
#reportPage .appMiniNav .miniNavRight>button,
#playersPage .playerDetailNavActions>button{
  width:34px!important;min-width:34px!important;max-width:34px!important;height:38px!important;min-height:38px!important;
  flex:0 0 34px!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:8px!important;
}
#reportPage .appMiniNav .miniNavRight>button svg,
#playersPage .playerDetailNavActions>button svg{width:18px!important;height:18px!important}

/* Standalone player detail heading and viewed-match table align to report card */
#playersPage .playerDetailTop{width:min(100%,820px)!important;max-width:820px!important;margin:0 auto 5px!important;padding:0!important;min-height:28px!important;display:flex!important;align-items:center!important}
#playersPage .playerDetailTitle{font-size:11px!important;font-weight:900!important;letter-spacing:.01em!important}
#playersPage .pdViewedTableHead,#playersPage .pdViewedRow{grid-template-columns:126px minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important}
#playersPage .pdViewedRow input{height:30px!important;min-height:30px!important}

/* Forms/modals: consistent vertical alignment */
.coreModal .fieldRow>div,.coreModal .sheet>div:not(.actions):not(.syncCodeRow){min-width:0!important}
.coreModal .fieldRow label,.coreModal .sheet>div>label{display:block!important;margin-bottom:4px!important;line-height:1.1!important}
.coreModal input,.coreModal select{height:38px!important;min-height:38px!important;padding:0 9px!important}
.coreModal .actions button{height:40px!important;min-height:40px!important}

@media(max-width:760px){
  #matchesList .matchcard{grid-template-columns:84px minmax(0,1fr) 116px!important;min-height:84px!important}
  .matchCardActions{width:116px!important;min-width:116px!important;padding:5px!important;grid-template-rows:30px 26px!important}
  .matchCardAction{height:30px!important;min-height:30px!important}
  .matchStatusToggle button{height:25px!important;min-height:25px!important;font-size:7px!important}
  #matchesList .matchTeams .coreTeam{font-size:10.5px!important}
  #reportPage .reportGrid,#playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 128px!important;gap:6px!important;padding:7px!important}
  #reportPage .reportFields,#playersPage .playerDetailFields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px 5px!important}
  #reportPage .reportFields .span-1,#playersPage .playerDetailFields .span-1{grid-column:span 1!important}
  #reportPage .reportFields .span-2,#reportPage .reportFields .span-4,#playersPage .playerDetailFields .span-2,#playersPage .playerDetailFields .span-4{grid-column:1/-1!important}
  #reportPage .reportPhotoBox,#playersPage .playerDetailPhoto.pdPhotoBox{min-height:190px!important}
  #reportPage .reportFields label,#playersPage .playerDetailFields label{font-size:7.5px!important}
  #reportPage .reportFields input,#reportPage .reportFields select,#playersPage .playerDetailFields input,#playersPage .playerDetailFields select{height:28px!important;min-height:28px!important;font-size:9px!important;padding:0 6px!important}
}
@media(max-width:430px){
  #matchesList .matchcard{grid-template-columns:72px minmax(0,1fr) 106px!important}
  .matchCardActions{width:106px!important;min-width:106px!important;padding:4px!important}
  #matchesList .matchMain{padding:7px!important}
  #matchesList .matchTeams .coreTeam{font-size:9.5px!important}
  #reportPage .reportGrid,#playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 112px!important}
  #reportPage .reportPhotoBox,#playersPage .playerDetailPhoto.pdPhotoBox{min-height:176px!important}
  #reportPage .appMiniNav .miniNavRight,#playersPage .playerDetailNavActions{gap:4px!important}
  #reportPage .appMiniNav .miniNavRight>button,#playersPage .playerDetailNavActions>button{width:30px!important;min-width:30px!important;max-width:30px!important;flex-basis:30px!important}
}


/* =========================================================
   TALENTFINDER31 REBUILD v5 — compact match cards + profile
   ========================================================= */
/* Pitch: keep every R-position visually right and every L-position left.
   JS now mirrors only Y for Team B. Make cards slightly smaller and undo
   the old 36px minimum on the position strip that caused vertical overlap. */
#matchPage .slot{
  width:13.8%!important;
  max-width:94px!important;
  min-width:48px!important;
}
#matchPage .positionBar{
  height:18px!important;
  min-height:18px!important;
}
#matchPage .positionName{
  font-size:8px!important;
  line-height:18px!important;
}
#matchPage .tileBody{
  height:56px!important;
  padding:2px 4px 3px!important;
}
@media(max-width:480px){
  #matchPage .slot{width:13.6%!important;min-width:45px!important;max-width:76px!important}
  #matchPage .positionBar{height:15px!important;min-height:15px!important}
  #matchPage .positionName{font-size:7px!important;line-height:15px!important}
  #matchPage .tileBody{height:49px!important;padding:1px 3px 2px!important}
}

/* List mode on the match sheet: narrower position column and tighter cells. */
#matchPage .lineupCoreRow{
  min-width:812px!important;
  grid-template-columns:44px 44px 132px 82px 62px 68px 94px minmax(210px,1fr)!important;
}
#matchPage .lineupPosBtn{
  height:34px!important;
  min-height:34px!important;
  padding:0 3px!important;
  font-size:7.5px!important;
}
#matchPage .lineupCoreRow input,
#matchPage .lineupCoreRow select{
  height:34px!important;
  min-height:34px!important;
  padding:0 5px!important;
  font-size:8.5px!important;
}
#matchPage .lineupCoreRow textarea{
  height:34px!important;
  min-height:34px!important;
  padding:6px!important;
  font-size:8.5px!important;
}

/* Standalone player profile: intentionally two compact form columns. */
#playersPage .playerDetailInfo{
  grid-template-columns:minmax(0,1fr) 118px!important;
  gap:6px!important;
  padding:6px!important;
}
#playersPage .playerDetailFields{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row dense!important;
  gap:3px 5px!important;
}
#playersPage .playerDetailFields .span-1,
#playersPage .playerDetailFields .span-2{
  grid-column:span 1!important;
}
#playersPage .playerDetailFields .span-4{
  grid-column:span 1!important;
}
#playersPage .playerDetailFields label{
  height:9px!important;
  font-size:7px!important;
}
#playersPage .playerDetailFields input,
#playersPage .playerDetailFields select{
  height:25px!important;
  min-height:25px!important;
  padding:0 5px!important;
  border-radius:6px!important;
  font-size:8.5px!important;
  line-height:25px!important;
}
#playersPage .playerDetailPhoto.pdPhotoBox{
  width:118px!important;
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;
  align-self:start!important;
  justify-self:end!important;
  font-size:8px!important;
}
#playersPage .pdViewedSection{
  margin-top:5px!important;
  margin-bottom:4px!important;
  padding:5px 6px!important;
}
#playersPage .pdViewedSection label{margin-bottom:3px!important;font-size:7.5px!important}
#playersPage .pdViewedTableHead{font-size:7px!important;min-height:16px!important}
#playersPage .pdViewedRow{min-height:25px!important}
#playersPage .pdViewedRow>input,
#playersPage .pdViewedDateWrap{height:25px!important;min-height:25px!important;border-radius:6px!important}
#playersPage .pdViewedDate{height:23px!important;font-size:8px!important}
#playersPage .pdViewedRow>input{font-size:8px!important;padding:2px 5px!important}
#playersPage .pdTabs{margin-top:4px!important;margin-bottom:4px!important}
#playersPage .pdTabs button{height:30px!important;min-height:30px!important;font-size:8px!important}
#playersPage .pdBullets{min-height:285px!important}

@media(max-width:760px){
  #playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 96px!important;gap:5px!important;padding:5px!important}
  #playersPage .playerDetailPhoto.pdPhotoBox{width:96px!important;height:96px!important;min-height:96px!important;max-height:96px!important}
  #playersPage .playerDetailFields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px 4px!important}
  #playersPage .playerDetailFields .span-1,
  #playersPage .playerDetailFields .span-2,
  #playersPage .playerDetailFields .span-4{grid-column:span 1!important}
  #playersPage .playerDetailFields input,#playersPage .playerDetailFields select{height:24px!important;min-height:24px!important;font-size:8px!important;line-height:24px!important}
  #playersPage .pdBullets{min-height:250px!important}
}
@media(max-width:430px){
  #playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 84px!important}
  #playersPage .playerDetailPhoto.pdPhotoBox{width:84px!important;height:84px!important;min-height:84px!important;max-height:84px!important}
}

/* Export: third action for mail/share. */
#exportModal .exportActionsV5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#exportModal #exportMail{border-color:#2a719d!important;background:#08273e!important;color:#8fd2ff!important;font-weight:900!important}
#exportModal .exportMailHint{margin:7px 0 2px;color:#8299aa;font-size:8.5px;line-height:1.4}
@media(max-width:480px){#exportModal .exportActionsV5{grid-template-columns:1fr!important}}

/* =========================================================
   TALENTFINDER31 REBUILD v6 — corrected top side + wider cards
   ========================================================= */
/* Match sheet cards: wider again, but shorter because opinion/potential
   are deliberately not shown on the match sheet. */
#matchPage .slot{
  width:16.2%!important;
  min-width:54px!important;
  max-width:112px!important;
}
#matchPage .positionBar{
  height:18px!important;
  min-height:18px!important;
  padding-left:5px!important;
  padding-right:2px!important;
}
#matchPage .positionName{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:8.2px!important;
  line-height:18px!important;
}
#matchPage .tileBody{
  height:47px!important;
  padding:2px 5px 3px!important;
  overflow:hidden!important;
}
#matchPage .combinedNameInput,
#matchPage .refInput,
#matchPage .refSelect{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#matchPage .combinedNameInput{font-size:10.2px!important;padding:0 2px!important}
#matchPage .moveHandle{touch-action:none!important;cursor:grab!important;font-size:8px!important;line-height:1!important}
#matchPage .moveHandle:active{cursor:grabbing!important}
body.playerDragging #matchPage .moveHandle{cursor:grabbing!important}

/* NFU: pastel-red frame/header instead of neutral grey. */
#matchPage .playerTile.nfu .positionBar{
  background:#f4cdd1!important;
  color:#5b2229!important;
  box-shadow:0 0 0 1.5px #e79aa2 inset!important;
}
#matchPage .playerTile.nfu .positionName,
#matchPage .playerTile.nfu .miniIcon{color:#5b2229!important}
#matchPage .playerTile.nfu .tileBody{
  box-shadow:0 0 0 2px #e79aa2 inset,0 2px 5px rgba(0,0,0,.16)!important;
}

/* List view of the match sheet: no opinion or potential columns either. */
#matchPage .lineupCoreRow{
  min-width:690px!important;
  grid-template-columns:46px 44px 160px 88px 66px minmax(260px,1fr)!important;
}

/* Player profile AND match player report: genuinely compact two-column form.
   The photo is deliberately small so Bullets starts much higher. */
#reportPage .reportGrid,
#playersPage .playerDetailInfo{
  width:min(100%,760px)!important;
  max-width:760px!important;
  grid-template-columns:minmax(0,1fr) 94px!important;
  gap:5px!important;
  padding:5px!important;
  align-items:start!important;
}
#reportPage .reportFields,
#playersPage .playerDetailFields{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row dense!important;
  gap:2px 4px!important;
  align-content:start!important;
}
#reportPage .reportFields .field,
#playersPage .playerDetailFields .field{
  grid-column:span 1!important;
  gap:1px!important;
  min-width:0!important;
}
#reportPage .reportFields .span-1,
#reportPage .reportFields .span-2,
#reportPage .reportFields .span-4,
#playersPage .playerDetailFields .span-1,
#playersPage .playerDetailFields .span-2,
#playersPage .playerDetailFields .span-4{grid-column:span 1!important}
#reportPage .reportFields label,
#playersPage .playerDetailFields label{
  height:8px!important;
  min-height:8px!important;
  margin:0!important;
  font-size:6.8px!important;
  line-height:8px!important;
}
#reportPage .reportFields input,
#reportPage .reportFields select,
#playersPage .playerDetailFields input,
#playersPage .playerDetailFields select{
  height:22px!important;
  min-height:22px!important;
  padding:0 5px!important;
  border-radius:5px!important;
  font-size:8.2px!important;
  line-height:22px!important;
}
#reportPage .reportPhotoBox,
#playersPage .playerDetailPhoto.pdPhotoBox{
  width:94px!important;
  height:94px!important;
  min-height:94px!important;
  max-height:94px!important;
  align-self:start!important;
  justify-self:end!important;
  font-size:7.5px!important;
}
#reportPage #photoPlaceholder,
#playersPage #pdPhoto{font-size:7.5px!important;line-height:1.25!important}
#reportPage .tabs,#playersPage .pdTabs{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin-top:4px!important;
  margin-bottom:3px!important;
}
#reportPage .tabs button,#playersPage .pdTabs button{
  height:27px!important;
  min-height:27px!important;
  font-size:7.8px!important;
}
#reportPage .bullets,#playersPage .pdBullets,
#reportPage .voicePanel,#reportPage .historyPanel,#reportPage .aiProfileCard,#reportPage .reportActions,#reportPage .saveBar,
#playersPage .pdViewedSection,#playersPage .pdVoicePanel,#playersPage .pdHistoryPanel,#playersPage .pdAiProfileCard,#playersPage .pdReportActions,#playersPage .coreSaveState{
  width:min(100%,760px)!important;
  max-width:760px!important;
}
#playersPage .pdViewedSection{
  margin-top:3px!important;
  margin-bottom:3px!important;
  padding:4px 5px!important;
}
#playersPage .pdViewedSection label{font-size:6.8px!important;margin-bottom:2px!important}
#playersPage .pdViewedTableHead{min-height:13px!important;font-size:6.5px!important}
#playersPage .pdViewedRow{min-height:22px!important}
#playersPage .pdViewedRow>input,#playersPage .pdViewedDateWrap{height:22px!important;min-height:22px!important}
#playersPage .pdViewedDate{height:20px!important;font-size:7.5px!important}
#playersPage .pdViewedRow>input{font-size:7.5px!important;padding:1px 4px!important}
#reportPage .bullets,#playersPage .pdBullets{min-height:285px!important;margin-top:0!important}

@media(max-width:480px){
  #matchPage .slot{width:16.8%!important;min-width:52px!important;max-width:78px!important}
  #matchPage .positionBar{height:15px!important;min-height:15px!important}
  #matchPage .positionName{font-size:7.2px!important;line-height:15px!important}
  #matchPage .tileBody{height:43px!important;padding:1px 4px 2px!important}
  #matchPage .combinedNameInput{font-size:8.4px!important}
  #reportPage .reportGrid,#playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 78px!important;gap:4px!important;padding:4px!important}
  #reportPage .reportPhotoBox,#playersPage .playerDetailPhoto.pdPhotoBox{width:78px!important;height:78px!important;min-height:78px!important;max-height:78px!important}
  #reportPage .reportFields,#playersPage .playerDetailFields{gap:2px 3px!important}
  #reportPage .reportFields input,#reportPage .reportFields select,#playersPage .playerDetailFields input,#playersPage .playerDetailFields select{height:21px!important;min-height:21px!important;font-size:7.8px!important;line-height:21px!important}
  #reportPage .bullets,#playersPage .pdBullets{min-height:250px!important}
}


/* =========================================================
   TALENTFINDER31 REBUILD v7 — forced fresh UI corrections
   ========================================================= */
.buildVersion{margin:7px 0 2px;color:#4fb8ff;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

/* Wider match cards without overlap. Position label stays narrow; player name gets the space. */
#matchPage .slot{width:17.6%!important;min-width:58px!important;max-width:126px!important}
#matchPage .playerTile{width:100%!important;overflow:hidden!important}
#matchPage .positionBar{display:grid!important;grid-template-columns:minmax(26px,1fr) auto!important;gap:2px!important;padding:0 2px 0 4px!important;overflow:hidden!important}
#matchPage .positionName{display:block!important;width:100%!important;min-width:0!important;max-width:42px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#matchPage .posIcons{min-width:31px!important;justify-self:end!important}
#matchPage .tileBody,#matchPage .tileBody *{box-sizing:border-box!important}
#matchPage .combinedNameRow,#matchPage .combinedNameInput{width:100%!important;min-width:0!important;max-width:100%!important}
#matchPage .combinedNameInput{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:9.6px!important;padding:0 2px!important}
#matchPage .refInput,#matchPage .refSelect{width:100%!important;min-width:0!important;max-width:100%!important}

/* Opinion and Potential are intentionally NOT rendered on the match sheet. */
#matchPage .ratingRow,#matchPage .ratingInput,#matchPage .potentialRow,#matchPage .potentialInput{display:none!important}

/* NFU: unmistakable pastel red, while FU/SHXI keep their own styling. */
#matchPage .playerTile.nfu .positionBar{background:#f3c4ca!important;color:#5b2027!important;box-shadow:0 0 0 1.5px #e88f9a inset!important}
#matchPage .playerTile.nfu .tileBody{background:#f9e4e7!important;color:#5b2027!important;box-shadow:0 0 0 2px #e88f9a inset,0 3px 8px rgba(0,0,0,.15)!important}
#matchPage .playerTile.nfu input,#matchPage .playerTile.nfu select{color:#5b2027!important;background:transparent!important}
#matchPage .playerTile.nfu .positionName,#matchPage .playerTile.nfu .miniIcon{color:#5b2027!important}

/* Drag handle must remain obvious and usable. */
#matchPage .moveHandle{display:grid!important;place-items:center!important;width:16px!important;min-width:16px!important;height:16px!important;touch-action:none!important;cursor:grab!important;background:rgba(255,255,255,.18)!important;border-radius:3px!important}

/* Profiles: make the information area genuinely compact so Bullets starts much higher. */
#reportPage .reportGrid,#playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 74px!important;gap:4px!important;padding:4px!important;margin-bottom:2px!important}
#reportPage .reportFields,#playersPage .playerDetailFields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px 3px!important}
#reportPage .reportFields .field,#playersPage .playerDetailFields .field{margin:0!important;gap:0!important;min-height:0!important}
#reportPage .reportFields label,#playersPage .playerDetailFields label{height:7px!important;min-height:7px!important;font-size:6.2px!important;line-height:7px!important;margin:0!important}
#reportPage .reportFields input,#reportPage .reportFields select,#playersPage .playerDetailFields input,#playersPage .playerDetailFields select{height:20px!important;min-height:20px!important;padding:0 4px!important;font-size:7.6px!important;line-height:20px!important;border-radius:4px!important}
#reportPage .reportPhotoBox,#playersPage .playerDetailPhoto.pdPhotoBox{width:74px!important;height:74px!important;min-height:74px!important;max-height:74px!important;font-size:6.7px!important}
#reportPage #photoPlaceholder,#playersPage #pdPhoto{font-size:6.7px!important;line-height:1.15!important}
#playersPage .pdViewedSection{margin:2px auto!important;padding:3px 4px!important}
#playersPage .pdViewedTableHead{min-height:11px!important;font-size:6px!important}
#playersPage .pdViewedRow{min-height:19px!important}
#playersPage .pdViewedRow>input,#playersPage .pdViewedDateWrap{height:19px!important;min-height:19px!important}
#playersPage .pdViewedDate{height:18px!important;font-size:7px!important}
#reportPage .tabs,#playersPage .pdTabs{margin-top:2px!important;margin-bottom:2px!important}
#reportPage .tabs button,#playersPage .pdTabs button{height:24px!important;min-height:24px!important;font-size:7.2px!important}
#reportPage .bullets,#playersPage .pdBullets{margin-top:0!important;min-height:290px!important}

@media(max-width:480px){
  #matchPage .slot{width:18.2%!important;min-width:56px!important;max-width:86px!important}
  #matchPage .combinedNameInput{font-size:8.2px!important}
  #matchPage .positionName{max-width:34px!important;font-size:7px!important}
  #matchPage .posIcons{min-width:29px!important}
  #reportPage .reportGrid,#playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr) 64px!important;gap:3px!important;padding:3px!important}
  #reportPage .reportPhotoBox,#playersPage .playerDetailPhoto.pdPhotoBox{width:64px!important;height:64px!important;min-height:64px!important;max-height:64px!important}
  #reportPage .reportFields input,#reportPage .reportFields select,#playersPage .playerDetailFields input,#playersPage .playerDetailFields select{height:19px!important;min-height:19px!important;font-size:7.2px!important;line-height:19px!important}
  #reportPage .tabs button,#playersPage .pdTabs button{height:23px!important;min-height:23px!important}
}


/* =========================================================
   TALENTFINDER31 REBUILD v8 — directional positions + clean drag/NFU
   ========================================================= */
/* The position strip itself is the drag handle. No separate drag icon. */
#matchPage .positionBar{cursor:grab!important;touch-action:none!important}
#matchPage .positionBar:active{cursor:grabbing!important}
body.playerDragging #matchPage .positionBar{cursor:grabbing!important}
#matchPage .moveHandle{display:none!important}
#matchPage .posIcons{min-width:16px!important;width:16px!important;right:-7px!important}
#matchPage .positionBar{grid-template-columns:minmax(0,1fr) 16px!important}
#matchPage .positionName{max-width:none!important}

/* DOB - VOE - MAT: muted while empty, white as soon as a value exists. */
#matchPage .metaRow .emptyValue{color:rgba(255,255,255,.42)!important;-webkit-text-fill-color:rgba(255,255,255,.42)!important}
#matchPage .metaRow .hasValue{color:#fff!important;-webkit-text-fill-color:#fff!important}
#matchPage .metaRow .refInput::placeholder{color:rgba(255,255,255,.42)!important;opacity:1!important}

/* NFU changes ONLY the thin outer line. Keep the existing shirt/card design intact. */
#matchPage .playerTile.nfu{outline:1.5px solid #e36f79!important;outline-offset:1px!important;border-radius:5px!important;box-shadow:none!important}
#matchPage .playerTile.nfu .positionBar{background:var(--shirt-light,#829ab7)!important;color:#fff!important;box-shadow:0 2px 5px rgba(0,0,0,.16)!important}
#matchPage .playerTile.nfu .tileBody{background:var(--shirt-dark,#425b77)!important;color:inherit!important;box-shadow:0 5px 13px rgba(0,0,0,.31)!important}
#matchPage .playerTile.nfu input,#matchPage .playerTile.nfu select{background:transparent!important}
#matchPage .playerTile.nfu .positionName,#matchPage .playerTile.nfu .miniIcon{color:#fff!important}
#matchPage .playerTile.nfu input.hasValue,#matchPage .playerTile.nfu select.hasValue{color:#fff!important;-webkit-text-fill-color:#fff!important}
#matchPage .playerTile.nfu input.emptyValue,#matchPage .playerTile.nfu select.emptyValue{color:rgba(255,255,255,.42)!important;-webkit-text-fill-color:rgba(255,255,255,.42)!important}

@media(max-width:480px){
  #matchPage .posIcons{min-width:14px!important;width:14px!important;right:-6px!important}
  #matchPage .positionBar{grid-template-columns:minmax(0,1fr) 14px!important}
}


/* =========================================================
   TALENTFINDER31 REBUILD v9 — sub icon, card spacing, photo picker
   ========================================================= */
/* Keep the substitute button fully visible outside the top-right corner. */
#matchPage .playerTile{overflow:visible!important}
#matchPage .positionBar{overflow:visible!important}
#matchPage .posIcons{display:block!important;min-width:16px!important;width:16px!important;right:-8px!important;top:-8px!important;z-index:8!important}
#matchPage .subIcon{display:grid!important;visibility:visible!important;opacity:1!important;width:16px!important;height:16px!important;font-size:9px!important;line-height:16px!important}
#matchPage .subIcon.used{display:grid!important}

/* A few extra pixels below DOB - VOE - MAT, without changing the overall card language. */
#matchPage .tileBody{height:54px!important;padding-bottom:7px!important}
#matchPage .metaRow{margin-top:1px!important;height:11px!important;padding-bottom:3px!important}

/* Photo areas are real interactive controls; JS opens the file picker explicitly. */
#reportPage #reportPhotoBox,#playersPage #pdPhotoBox{cursor:pointer!important}
#reportPage #reportPhotoBox:focus-visible,#playersPage #pdPhotoBox:focus-visible{outline:2px solid #53b8ff!important;outline-offset:2px!important}

@media(max-width:480px){
  #matchPage .tileBody{height:47px!important;padding-bottom:5px!important}
  #matchPage .metaRow{height:9px!important;margin-top:1px!important;padding-bottom:2px!important}
  #matchPage .posIcons{right:-7px!important;top:-7px!important}
  #matchPage .subIcon{width:14px!important;height:14px!important;font-size:7.5px!important;line-height:14px!important}
}

/* =========================================================
   TALENTFINDER31 REBUILD v10 — readable report fields
   ========================================================= */
/* Match the upper player-data typography to the 12px Bullets text. */
#reportPage .reportFields label,
#playersPage .playerDetailFields label{
  height:auto!important;
  min-height:14px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:14px!important;
}
#reportPage .reportFields input,
#reportPage .reportFields select,
#playersPage .playerDetailFields input,
#playersPage .playerDetailFields select{
  height:34px!important;
  min-height:34px!important;
  padding:0 7px!important;
  font-size:12px!important;
  line-height:34px!important;
}
@media(max-width:480px){
  #reportPage .reportFields label,
  #playersPage .playerDetailFields label{font-size:12px!important;line-height:14px!important}
  #reportPage .reportFields input,
  #reportPage .reportFields select,
  #playersPage .playerDetailFields input,
  #playersPage .playerDetailFields select{height:34px!important;min-height:34px!important;font-size:12px!important;line-height:34px!important}
}

/* =========================================================
   TALENTFINDER31 REBUILD v11 — report typography and photos
   ========================================================= */
/* Regular-weight labels and values throughout both player-report forms. */
#reportPage .reportFields label,
#playersPage .playerDetailFields label,
#reportPage .reportFields input,
#reportPage .reportFields select,
#playersPage .playerDetailFields input,
#playersPage .playerDetailFields select{
  font-family:inherit!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Viewed matches uses the same 12px regular typography as the report fields. */
#playersPage .pdViewedSection label,
#playersPage .pdViewedTableHead,
#playersPage .pdViewedRow>input,
#playersPage .pdViewedDate{
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#playersPage .pdViewedSection label{line-height:14px!important;margin-bottom:4px!important}
#playersPage .pdViewedTableHead{min-height:17px!important;line-height:14px!important}
#playersPage .pdViewedRow{min-height:34px!important}
#playersPage .pdViewedRow>input,
#playersPage .pdViewedDateWrap{height:34px!important;min-height:34px!important}
#playersPage .pdViewedDate{height:32px!important;line-height:32px!important}
#playersPage .pdViewedRow>input{padding:0 7px!important;line-height:34px!important}

/* Photo upload is temporarily hidden while preserving any stored photo data. */
#reportPage #reportPhotoBox,
#playersPage #pdPhotoBox{display:none!important}
#reportPage .reportGrid,
#playersPage .playerDetailInfo{grid-template-columns:minmax(0,1fr)!important}
