:root{
  --bg:#07071a;
  --surf:#0d0d24;
  --card:#13132e;
  --card2:#1a1a3a;
  --brd:#1e1e44;
  --brd2:#3344cc;
  --red:#e8293a;
  --red2:rgba(232,41,58,.13);
  --org:#FF6A00;
  --org2:rgba(255,106,0,.13);
  --grn:#2ecc71;
  --grn2:rgba(46,204,113,.13);
  --txt:#e4e4f4;
  --sub:#9090b8;
  --mut:#44447a;
  --whi:#fff
}

*{margin:0;padding:0;box-sizing:border-box}

html,body{height:100%;overflow:hidden}

body{
  background:var(--bg);
  color:var(--txt);
  font-family:'Inter',system-ui,sans-serif;
  display:flex;
  flex-direction:column
}

/* HEADER */
header{
  background:linear-gradient(145deg,#1c0610 0%,#0a0a20 70%,var(--bg) 100%);
  border-bottom:1px solid rgba(232,41,58,.2);
  flex-shrink:0
}

.h-top{
  display:flex;
  align-items:center;
  gap:7px;
  padding:10px 13px 0;
  flex-wrap:nowrap;
  min-height:38px;
  overflow:hidden
}

body.capacitor .h-top{
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none
}

body.capacitor .h-top::-webkit-scrollbar{
  display:none
}

.badge{
  background:var(--red);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:2px;
  padding:3px 9px;
  border-radius:4px;
  text-transform:uppercase;
  flex-shrink:0;
  cursor:pointer
}

.badge:hover{opacity:.85}

h1{
  font-size:clamp(12px,2vw,17px);
  font-weight:900;
  letter-spacing:-.5px;
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.btn-sm{
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--sub);
  padding:4px 9px;
  border-radius:7px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  transition:all .15s;
  white-space:nowrap;
  flex-shrink:0
}

.btn-sm:hover{
  border-color:var(--sub);
  color:var(--txt)
}

.btn-home{
  background:none;
  border:1px solid var(--brd);
  color:var(--sub);
  padding:4px 8px;
  border-radius:7px;
  font-size:12px;
  cursor:pointer;
  flex-shrink:0;
  transition:all .15s
}

.btn-home:hover{
  color:var(--txt);
  border-color:var(--sub)
}

.btn-org{
  background:var(--org);
  border-color:var(--org);
  color:#1a0800;
  font-weight:800
}

.btn-org:hover{opacity:.85}

/* COMPETITION DROPDOWN */
.comp-dd{
  position:relative;
  flex-shrink:0
}

.comp-dd-btn{
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:4px 10px;
  border-radius:7px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  transition:border-color .15s
}

.comp-dd-btn:hover,
.comp-dd-btn.open{
  border-color:var(--org)
}

.season-dd{
  position:relative;
  flex-shrink:0
}

.season-dd-btn{
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:4px 10px;
  border-radius:7px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  transition:border-color .15s
}

.season-dd-btn:hover,
.season-dd-btn.open{
  border-color:var(--org)
}

.dd-panel{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  background:var(--surf);
  border:1px solid var(--brd);
  border-radius:10px;
  padding:6px;
  min-width:230px;
  z-index:99;
  box-shadow:0 8px 24px rgba(0,0,0,.5)
}

.season-dd-panel{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  background:var(--surf);
  border:1px solid var(--brd);
  border-radius:10px;
  padding:6px;
  min-width:230px;
  z-index:99;
  box-shadow:0 8px 24px rgba(0,0,0,.5)
}

.dd-grp{
  font-size:9px;
  font-weight:800;
  color:var(--mut);
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:4px 8px 2px
}

.dd-btn{
  display:block;
  width:100%;
  background:none;
  border:none;
  color:var(--txt);
  padding:7px 10px;
  border-radius:6px;
  font-size:11.5px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  text-align:left;
  transition:background .1s
}

.dd-btn:hover{background:rgba(255,255,255,.06)}

.dd-btn.on{
  color:var(--org);
  font-weight:800
}

.dd-sep{
  height:1px;
  background:var(--brd);
  margin:5px 0
}

/* STATUS DOT */
.sdot{
  width:6px;
  height:6px;
  border-radius:50%;
  flex-shrink:0;
  transition:background .3s
}

.sdot.online{background:var(--grn)}

.sdot.offline{
  background:var(--red);
  animation:sdp 2s infinite
}

.sdot.loading{
  background:var(--org);
  animation:sdp .8s infinite
}

@keyframes sdp{
  0%,100%{opacity:1}
  50%{opacity:.3}
}

/* FILTER BAR */
.fbar{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:7px 12px;
  scrollbar-width:none;
  border-bottom:1px solid var(--brd);
  background:var(--surf);
  flex-shrink:0
}

.fbar::-webkit-scrollbar{display:none}

.fc{
  background:none;
  border:1px solid var(--brd);
  color:var(--mut);
  padding:4px 11px;
  border-radius:100px;
  font-size:10px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  font-family:inherit;
  transition:all .15s;
  flex-shrink:0
}

.fc:hover{
  color:var(--txt);
  border-color:var(--sub)
}

.fc.on{
  background:var(--org);
  border-color:var(--org);
  color:#1a0800;
  font-weight:800
}

.fc.all.on{
  background:rgba(255,255,255,.08);
  border-color:var(--sub);
  color:var(--txt)
}

/* TABS */
.tabs{display:flex;flex-shrink:0}

.tab{
  flex:1;
  padding:8px 4px;
  font-size:10.5px;
  font-weight:700;
  color:var(--mut);
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  cursor:pointer;
  transition:all .15s;
  font-family:inherit
}

.tab:hover{color:var(--sub)}

.tab.on{
  color:var(--txt);
  border-color:var(--org)
}

/* MAIN */
main{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  padding:12px 13px 56px
}

main::-webkit-scrollbar{width:3px}

main::-webkit-scrollbar-thumb{
  background:var(--brd)
}

/* LANDING */
.landing{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:65vh;
  text-align:center;
  padding:20px
}

.landing-ico{
  font-size:60px;
  margin-bottom:10px
}

.landing-ttl{
  font-size:clamp(22px,5vw,34px);
  font-weight:900;
  letter-spacing:-1.5px;
  margin-bottom:6px;
  background:linear-gradient(135deg,var(--txt) 40%,var(--sub));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text
}

.landing-sub{
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--sub);
  margin-bottom:28px
}
.dist-card{
  background:linear-gradient(135deg,rgba(255,106,0,.16) 0%,var(--card2) 100%);
  border:1px solid rgba(255,106,0,.35);
  border-radius:16px;
  padding:28px 36px;
  cursor:pointer;
  transition:all .2s;
  text-align:center;
  max-width:320px;
  width:100%
}

.dist-card:hover{
  border-color:var(--org);
  transform:translateY(-3px);
  box-shadow:0 10px 40px var(--org2)
}

.dist-card-ico{
  font-size:36px;
  margin-bottom:10px;
  background:transparent
}

.dist-card-name{
  font-size:20px;
  font-weight:900;
  margin-bottom:4px
}

.dist-card-info{
  font-size:12px;
  color:var(--sub)
}

.dist-card-stats{
  font-size:11px;
  color:var(--grn);
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--grn2)
}

/* COMPETITIONS */
.c-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:12px
}

.c-card{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:12px;
  padding:18px;
  cursor:pointer;
  transition:all .15s
}

.c-card:hover{
  border-color:var(--org);
  transform:translateY(-2px);
  box-shadow:0 6px 24px var(--org2)
}

.c-ico{
  font-size:26px;
  margin-bottom:8px
}

.c-name{
  font-size:14px;
  font-weight:800;
  margin-bottom:4px
}

.c-info{
  font-size:11px;
  color:var(--sub);
  line-height:1.5
}

.c-pill{
  display:inline-block;
  font-size:9px;
  font-weight:800;
  padding:2px 8px;
  border-radius:3px;
  margin-top:10px;
  letter-spacing:1px;
  text-transform:uppercase;
  background:var(--grn);
  color:#fff
}

.c-pill.user-role-admin{
  background:var(--org);
  color:#1a0800
}

.c-pill.user-role-editor{
  background:#facc15;
  color:#211900
}

.c-pill.user-role-viewer{
  background:#168246;
  color:#fff
}

.c-pill.user-role-special{
  background:#dc2626;
  color:#fff
}

/* HUB */
.hub-sec{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:11px
}

.hub-jnav{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-bottom:1px solid var(--brd);
  background:rgba(255,255,255,.022)
}

.jnav-btn{
  background:none;
  border:1px solid var(--brd);
  color:var(--sub);
  padding:5px 10px;
  border-radius:7px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  transition:all .15s;
  white-space:nowrap
}

.jnav-btn:hover:not(:disabled){
  border-color:var(--txt);
  color:var(--txt)
}

.jnav-btn:disabled{
  opacity:.25;
  cursor:not-allowed
}

.jnav-center{
  flex:1;
  text-align:center
}

.jnav-num{
  font-size:15px;
  font-weight:900;
  display:block;
  letter-spacing:-.5px
}

.jnav-date{
  font-size:10px;
  color:var(--sub);
  display:block;
  margin-top:1px
}

.jnav-st{
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.5px;
  display:block;
  margin-top:3px
}

.jnav-st.upcoming{color:var(--sub)}
.jnav-st.today{color:var(--org)}
.jnav-st.done{color:var(--grn)}

.hub-team-inner{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  vertical-align:middle
}

.hub-match{
  display:grid;
  grid-template-columns:1fr 72px 1fr;
  align-items:center;
  padding:5px 12px;
  gap:4px;
  transition:background .1s
}

.hub-match:hover{
  background:rgba(255,255,255,.025)
}

.hub-t{
  background:none;
  border:none;
  color:var(--txt);
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  padding:0;
  transition:color .1s;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  width:100%;
  display:flex;
  align-items:center;
  gap:6px
}

.hub-t.h{
  justify-content:flex-end;
  text-align:right
}

.hub-t.a{
  justify-content:flex-start;
  text-align:left
}

.hub-t:hover{
  color:var(--org)
}

.hub-team-inner{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  min-width:0
}

.hub-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  width:28px;
  height:28px
}

.hub-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.hub-sw{
  display:flex;
  justify-content:center
}

.hub-score{
  min-width:64px;
  text-align:center;
  padding:4px 6px;
  border-radius:6px;
  font-size:12px;
  font-weight:800;
  color:var(--mut);
  border:1px solid transparent;
  transition:all .15s
}

.hub-score.played{
  color:var(--grn);
  background:var(--grn2);
  border-color:rgba(46,204,113,.2)
}

.hub-score.timeslot{
  font-size:10px;
  font-weight:700;
  color:var(--sub);
  letter-spacing:.3px
}

.hub-score.editable{cursor:pointer}

.hub-score.editable:hover{
  background:var(--card2);
  border-color:var(--brd2)
}

.hub-bye{
  padding:3px 12px 7px;
  font-size:9.5px;
  color:var(--sub);
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center
}

.hub-bye-lbl{
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  opacity:.5;
  letter-spacing:.5px
}

.hub-t-folga{
  background:none;
  border:none;
  color:var(--sub);
  font-size:9.5px;
  cursor:pointer;
  font-family:inherit;
  padding:0;
  transition:color .1s
}

.hub-t-folga:hover{
  color:var(--org);
  text-decoration:underline
}

.hub-sec-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px 6px
}

.hub-sec-lbl{
  font-size:9.5px;
  font-weight:800;
  color:var(--sub);
  text-transform:uppercase;
  letter-spacing:2px
}

/* MINI STANDINGS */
.mini-st{
  padding:0 6px 8px
}

.mini-row{
  display:grid;
  grid-template-columns:24px 1fr 22px 22px 22px 22px 36px;
  align-items:center;
  gap:3px;
  padding:4px 6px;
  border-radius:6px;
  transition:background .1s
}

.mini-row:hover{
  background:rgba(255,255,255,.025)
}

.mini-hd{
  font-size:8px;
  font-weight:800;
  color:var(--mut);
  text-transform:uppercase;
  letter-spacing:1px
}

.mini-pos{
  font-size:10px;
  font-weight:800;
  color:var(--mut);
  text-align:center
}

.mini-c{
  font-size:10px;
  color:var(--sub);
  text-align:center;
  font-weight:600
}

.mini-pts{
  font-size:13px;
  font-weight:800;
  color:var(--whi);
  text-align:center
}

.mini-sep{
  height:1px;
  background:var(--brd);
  margin:3px 0
}

/* HUB STAT CARDS */
.scards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:11px
}

.scard{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:11px;
  overflow:hidden
}

.scard-hd{
  padding:8px 11px 5px;
  border-bottom:1px solid var(--brd)
}

.scard-lbl{
  font-size:9px;
  font-weight:800;
  color:var(--sub);
  text-transform:uppercase;
  letter-spacing:1.5px
}

.scard-row{
  display:flex;
  align-items:center;
  gap:5px;
  padding:4px 11px;
  transition:background .1s
}

.scard-row:hover{
  background:rgba(255,255,255,.025)
}

.scard-p{
  font-size:9.5px;
  font-weight:800;
  color:var(--mut);
  width:14px;
  flex-shrink:0;
  text-align:center
}

.scard-n{
  font-size:10.5px;
  font-weight:600;
  flex:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.scard-nb{
  background:none;
  border:none;
  color:var(--txt);
  font-size:10.5px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  flex:1;
  min-width:0;
  text-align:left;
  white-space:normal;
  padding:0;
  line-height:1.25;
}

.scard-nb:hover{color:var(--org)}

.scard-v{
  font-size:11px;
  font-weight:800;
  color:var(--grn);
  flex-shrink:0
}

.scard-block{
  padding:6px 11px;
  display:flex;
  flex-direction:column;
  gap:5px
}

.scard-bl{font-size:10px}

.scard-bl-l{
  font-size:8.5px;
  color:var(--mut);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  display:block;
  margin-bottom:1px
}

@media(max-width:400px){
  .scards{grid-template-columns:1fr}
}

.admin-task-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  margin-left:5px;
  border-radius:999px;
  background:#e53935;
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
}

/* NEXT JORNADA PREVIEW */
.next-match{
  display:grid;
  grid-template-columns:1fr 28px 1fr;
  align-items:center;
  padding:4px 12px;
  gap:4px
}

.next-vs{
  text-align:center;
  font-size:9px;
  font-weight:700;
  color:var(--sub)
}

/* CALENDAR */
.m-grp{margin-bottom:18px}

.m-hd{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px
}

.m-title{
  font-size:9px;
  font-weight:800;
  color:var(--sub);
  letter-spacing:2.5px;
  text-transform:uppercase;
  white-space:nowrap
}

.m-line{
  flex:1;
  height:1px;
  background:var(--brd)
}

.j-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(248px,1fr));
  gap:8px
}

.j-card{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:10px;
  overflow:hidden;
  transition:border-color .15s,transform .15s
}

.j-card:hover{
  border-color:var(--org);
  transform:translateY(-1px)
}

.j-card.is-today{
  border-color:var(--org);
  box-shadow:0 0 16px var(--org2)
}

.j-card.has-team{
  border-color:var(--org);
  box-shadow:0 0 12px var(--org2)
}

.j-card.no-team{opacity:.35}

.j-hd{
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  background:rgba(255,255,255,.022);
  border-bottom:1px solid var(--brd);
  flex-wrap:wrap
}

.j-num{
  font-size:9px;
  font-weight:800;
  color:var(--mut);
  letter-spacing:2px;
  white-space:nowrap;
  cursor:pointer
}

.j-num:hover{color:var(--txt)}

.j-num b{
  color:var(--org);
  font-size:13px;
  letter-spacing:-.5px
}

.j-dt{
  font-size:10px;
  font-weight:600;
  color:var(--sub);
  flex:1;
  text-align:right;
  cursor:default
}

.j-dt.ed{cursor:pointer}

.j-dt.ed:hover{
  color:var(--txt);
  text-decoration:underline dotted
}

.j-time{
  font-size:10px;
  font-weight:700;
  color:var(--sub);
  cursor:default;
  flex-shrink:0
}

.j-time.ed{cursor:pointer}

.j-time.ed:hover{
  color:var(--org);
  text-decoration:underline dotted
}

.j-dinp{
  font-size:10px;
  background:var(--card2);
  border:1px solid var(--brd2);
  color:var(--txt);
  padding:2px 6px;
  border-radius:4px;
  font-family:inherit;
  width:106px
}

.j-tinp{
  font-size:10px;
  background:var(--card2);
  border:1px solid var(--brd2);
  color:var(--txt);
  padding:2px 4px;
  border-radius:4px;
  font-family:inherit;
  width:70px
}

.j-st-pill{
  font-size:8px;
  font-weight:800;
  letter-spacing:.8px;
  padding:2px 7px;
  border-radius:100px;
  white-space:nowrap;
  flex-shrink:0;
  text-transform:uppercase
}

.j-st-pill.upcoming{
  background:rgba(255,255,255,.06);
  color:var(--sub)
}

.j-st-pill.today{
  background:var(--org);
  color:#1a0800
}

.j-st-pill.done{
  background:var(--grn2);
  color:var(--grn)
}

.j-body{padding:3px 0}

.mrow{
  display:grid;
  grid-template-columns:1fr 52px 1fr;
  align-items:center;
  padding:3px 9px;
  border-radius:4px;
  margin:0 2px;
  transition:background .1s
}

.mrow.click{cursor:pointer}

.mrow.click:hover{
  background:rgba(255,255,255,.04)
}

.mrow.hl{background:var(--red2)}
.mrow.dim{opacity:.2}

.tm{
  font-size:10.5px;
  font-weight:500;
  color:var(--txt);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:pointer;
  background:none;
  border:none;
  font-family:inherit;
  padding:0;
  width:100%
}

.tm:hover{color:var(--org)}

.tm.h{text-align:right}
.tm.a{text-align:left}

.tm.star{
  color:var(--org);
  font-weight:800
}

.scell{
  text-align:center;
  font-size:10.5px;
  font-weight:700;
  color:var(--mut)
}

.scell.played{color:var(--grn)}

.scell.timeslot{
  font-size:10px;
  color:var(--sub);
  font-weight:600
}

.scell .sd{
  color:var(--brd2);
  font-size:9px;
  margin:0 1px
}

.scell.editable{cursor:pointer}

.bye-row{
  padding:2px 9px 5px;
  font-size:9px;
  color:var(--sub);
  display:flex;
  gap:4px;
  align-items:center;
  flex-wrap:wrap
}

.bye-row.hl .bye-t{
  color:var(--org);
  font-weight:700
}

.tm-folga{
  background:none;
  border:none;
  color:var(--sub);
  font-size:9px;
  cursor:pointer;
  font-family:inherit;
  padding:0;
  transition:color .1s
}

.tm-folga:hover{
  color:var(--org)
}

/* STANDINGS */
.sw{overflow-x:auto}

.st th:first-child,
.st td:first-child{
  width:32px;
  min-width:32px;
  max-width:32px;
  padding-left:4px;
  padding-right:4px
}

.st{
  width:100%;
  border-collapse:collapse;
  min-width:480px;
  table-layout:auto
}

.st td:nth-child(2),
.st th:nth-child(2){
  width:1%;
  white-space:nowrap
}

.st th{
  text-align:left;
  font-size:9px;
  font-weight:800;
  color:var(--mut);
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:9px 7px;
  border-bottom:1px solid var(--brd);
  white-space:nowrap
}

.st th:not(:first-child):not(:nth-child(2)){text-align:center}

.st td{
  padding:7px 7px;
  border-bottom:1px solid rgba(30,30,68,.5);
  font-size:11.5px;
  vertical-align:middle
}

.st td:nth-child(2){
  padding-left:2px;
  padding-right:2px
}

.st td:nth-child(2) .t-btn{
  display:block;
  width:auto
}

.st td:nth-child(2) .t-btn > span{
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  white-space:nowrap
}

.st td:not(:first-child):not(:nth-child(2)){
  text-align:center;
  font-weight:600;
  color:var(--sub)
}

.st td.pts{
  color:var(--whi);
  font-weight:800;
  font-size:14px
}

.st tr:hover td{
  background:rgba(255,255,255,.02)
}

.pos{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:50%;
  font-size:10px;
  font-weight:800;
  background:var(--card2)
}

.p1{
  background:rgba(184,150,0,.1);
  color:#ffd700;
  border:1px solid rgba(184,150,0,.4)
}

.p2{
  background:rgba(136,136,136,.1);
  color:#c0c0c0;
  border:1px solid rgba(136,136,136,.4)
}

.p3{
  background:rgba(123,56,0,.1);
  color:#cd7f32;
  border:1px solid rgba(123,56,0,.4)
}

.prel{
  background:rgba(232,41,58,.1);
  color:var(--red);
  border:1px solid rgba(232,41,58,.3)
}

.t-btn{
  background:none;
  border:none;
  color:var(--txt);
  font-size:11.5px;
  font-weight:600;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  padding:0;
  overflow:hidden;
  min-width:0
}

.t-btn .hub-team-inner{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
  min-width:0;
  overflow:hidden
}

.t-btn .hub-team-inner .tl-wrap{
  flex:0 0 auto
}

.t-btn .hub-team-inner > span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.t-btn:hover{
  color:var(--org);
  text-decoration:underline
}

/* TEAM LOGO */
.tl-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  overflow:hidden;
  background:var(--card2);
  flex-shrink:0
}

.tl-img{
  object-fit:contain;
  width:100%;
  height:100%;
  display:block
}

.tl-fb{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:inherit
}

/* ============================================================
   FICHA DE JOGO · GOLOS
   ============================================================ */

.match-sheet-goals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  width:100%;
}

.match-sheet-goals-home,
.match-sheet-goals-away{
  min-width:0;
}

.match-sheet-goals ul{
  list-style:none;
  margin:0;
  padding:0;
}

.match-sheet-goals-home ul{
  text-align:left;
}

.match-sheet-goals-away ul{
  text-align:right;
}

.match-sheet-goals li{
  padding:4px 0;
  line-height:1.35;
}

.match-sheet-goals-away li{
  text-align:right;
}

/* TEAMS GRID */
.t-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  gap:9px
}

.t-card{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:10px;
  padding:14px 10px;
  cursor:pointer;
  transition:all .15s;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center
}

.t-card:hover{
  border-color:var(--org);
  background:var(--card2);
  transform:translateY(-2px)
}

.t-card-logo{
  width:44px;
  height:44px;
  margin-bottom:8px
}

.t-name{
  font-size:11px;
  font-weight:700;
  color:var(--txt);
  margin-bottom:4px;
  line-height:1.3
}

.t-stats{
  font-size:10px;
  color:var(--sub);
  display:flex;
  justify-content:center;
  gap:5px;
  flex-wrap:wrap
}

/* TEAM DETAIL */
.td-hd{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding-bottom:11px;
  border-bottom:1px solid var(--brd)
}

.td-logo{
  width:48px;
  height:48px;
  flex-shrink:0
}

.back{
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--sub);
  padding:6px 11px;
  border-radius:7px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit
}

.back:hover{color:var(--txt)}

.td-title{
  font-size:17px;
  font-weight:900;
  flex:1
}

.tsbar{
  display:flex;
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:9px;
  overflow:hidden;
  margin-bottom:11px
}

.ts{
  flex:1;
  padding:8px 5px;
  text-align:center;
  border-right:1px solid var(--brd)
}

.ts:last-child{border-right:none}

.tsv{
  font-size:14px;
  font-weight:800;
  color:var(--whi);
  display:block
}

.tsl{
  font-size:8px;
  font-weight:700;
  color:var(--mut);
  text-transform:uppercase;
  letter-spacing:1.2px
}

.t-tabs{
  display:flex;
  border-bottom:1px solid var(--brd);
  margin-bottom:12px
}

.t-tab{
  padding:7px 14px;
  font-size:11px;
  font-weight:700;
  color:var(--mut);
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  cursor:pointer;
  font-family:inherit;
  transition:all .15s
}

.t-tab.on{
  color:var(--txt);
  border-color:var(--org)
}

.ml{
  display:flex;
  flex-direction:column;
  gap:5px
}

.mr{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:7px;
  padding:7px 10px;
  display:grid;
  grid-template-columns:28px 1fr 62px 1fr;
  align-items:center;
  gap:6px
}

.mr.played{
  border-color:rgba(46,204,113,.25)
}

.mr .jt{
  font-size:9px;
  font-weight:800;
  color:var(--mut);
  white-space:nowrap
}

.mr .th,
.mr .ta{
  font-size:10.5px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:pointer;
  background:none;
  border:none;
  font-family:inherit;
  padding:0;
  color:var(--txt)
}

.mr .th{
  text-align:right;
  width:100%
}

.mr .ta{
  text-align:left;
  width:100%
}

.mr .th.me,
.mr .ta.me{
  color:var(--org);
  font-weight:800
}

.mr .th:hover,
.mr .ta:hover{
  color:var(--org)
}

.mr .sc{
  text-align:center;
  font-size:12px;
  font-weight:800;
  color:var(--grn)
}

.mr .sc.pend{
  color:var(--mut);
  font-weight:500;
  font-size:10px
}

/* CROMO CARDS */
.cromo-grp-hd{
  font-size:9px;
  font-weight:800;
  color:var(--sub);
  letter-spacing:2px;
  text-transform:uppercase;
  margin:12px 0 6px;
  display:flex;
  align-items:center;
  gap:8px
}

.cromo-grp-hd::after{
  content:'';
  flex:1;
  height:1px;
  background:var(--brd)
}

.cromo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(76px,1fr));
  gap:7px;
  margin-bottom:4px
}

.cromo{
  background:linear-gradient(180deg,#1a1a3a 0%,var(--card) 100%);
  border:1px solid var(--brd);
  border-radius:9px;
  padding:8px 5px 7px;
  text-align:center;
  position:relative;
  overflow:hidden;
  transition:border-color .15s,transform .15s
}

.cromo:hover{
  border-color:var(--org);
  transform:translateY(-2px)
}

.cromo-n{
  position:absolute;
  top:4px;
  right:5px;
  font-size:9px;
  font-weight:900;
  color:var(--org)
}

.cromo-ph{
  width:44px;
  height:44px;
  border-radius:50%;
  margin:0 auto 5px;
  overflow:hidden;
  background:var(--card2);
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--brd);
  font-size:16px;
  font-weight:900;
  color:var(--sub)
}

.cromo-ph img{
  width:100%;
  height:100%;
  object-fit:cover
}

.cromo-nm{
  font-size:8.5px;
  font-weight:900;
  color:var(--whi);
  letter-spacing:.5px;
  margin-bottom:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.2
}

.cromo-ps{
  font-size:7px;
  font-weight:800;
  color:var(--org);
  background:rgba(255,106,0,.12);
  border:1px solid rgba(255,106,0,.25);
  border-radius:3px;
  padding:1px 4px;
  display:inline-block;
  margin-bottom:3px;
  text-transform:uppercase;
  letter-spacing:.3px
}

.cromo-mt{
  font-size:7px;
  color:var(--mut);
  line-height:1.4
}

.cromo-gl{
  font-size:9px;
  font-weight:800;
  color:var(--grn);
  margin-top:2px
}

/* PLAYER INFO */
.plantel-info{
  padding:8px 0;
  border-bottom:1px solid rgba(30,30,68,.4);
  display:flex;
  align-items:center;
  gap:8px
}

.plantel-num{
  width:28px;
  text-align:center;
  font-size:11px;
  font-weight:800;
  color:var(--org);
  flex-shrink:0
}

.plantel-data{flex:1}

.plantel-name{
  font-size:12px;
  font-weight:700
}

.plantel-sub{
  font-size:10px;
  color:var(--sub)
}

.plantel-pos{
  font-size:10px;
  color:var(--sub);
  background:var(--card2);
  padding:2px 7px;
  border-radius:10px;
  flex-shrink:0
}

.plantel-goals{
  font-size:10px;
  font-weight:800;
  color:var(--grn);
  flex-shrink:0
}

/* INFO ROWS */
.info-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(30,30,68,.4);
  font-size:12px
}

.info-lbl{
  color:var(--mut);
  font-weight:700;
  min-width:90px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.5px
}

.info-val{
  color:var(--txt);
  word-break:break-all
}

/* TEAM STATS IN INFO */
.team-stats-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:14px
}

/* CUP */
.cup-phase{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:11px
}

.cup-admin-tools{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  padding:10px 12px;
  margin-bottom:12px;
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:10px
}

.cup-draw-status{
  font-size:11px;
  color:var(--sub)
}

.cup-draw-edit-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  width:100%
}

.cup-draw-box{max-width:620px}

.cup-draw-help{
  font-size:12px;
  line-height:1.5;
  color:var(--sub);
  margin:8px 0 14px
}

.cup-draw-actions{
  display:flex;
  justify-content:flex-end;
  margin:10px 0
}

.cup-draw-pairs{
  display:grid;
  gap:8px
}

.cup-draw-pair{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 24px minmax(0,1fr);
  align-items:center;
  gap:8px
}

.cup-draw-pair>span{
  font-size:11px;
  color:var(--mut);
  text-align:center
}

.cup-draw-pair>b{
  text-align:center;
  color:var(--mut);
  font-size:10px
}

.cup-draw-tie,
.cup-draw-bye{
  display:grid;
  gap:6px;
  margin:12px 0;
  padding:10px;
  border:1px solid var(--brd);
  border-radius:8px;
  font-size:11px;
  color:var(--sub)
}

.cup-phase-qualified{
  padding:8px 14px;
  border-top:1px solid var(--brd);
  font-size:10px;
  line-height:1.6;
  color:var(--sub)
}

.cup-phase-qualified strong{color:var(--grn)}

@media(max-width:520px){
  .cup-draw-pair{
    grid-template-columns:18px minmax(0,1fr) 18px minmax(0,1fr);
    gap:4px
  }

  .cup-draw-pair .login-inp{
    padding:8px 4px;
    font-size:10px
  }
}

.cup-ph-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
  background:rgba(255,255,255,.022);
  border-bottom:1px solid var(--brd);
  cursor:pointer
}

.cup-ph-name{
  font-size:13px;
  font-weight:800
}

.cup-ph-date{
  font-size:12px;
  color:var(--sub)
}

.cup-ph-st{
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px
}

.cup-ph-st.upcoming{color:var(--sub)}
.cup-ph-st.today{color:var(--org)}
.cup-ph-st.done{color:var(--grn)}
.cup-ph-st.tbd{color:var(--mut)}

.cup-folgas{
  padding:4px 12px 8px;
  font-size:9.5px;
  color:var(--sub);
  border-top:1px solid var(--brd);
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  align-items:center
}

/* MODALS */
.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.78);
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px
}

.mbox{
  background:var(--surf);
  border:1px solid var(--brd);
  border-radius:14px;
  padding:20px;
  width:100%;
  max-width:400px;
  position:relative;
  max-height:90vh;
  overflow-y:auto
}

.mbox::-webkit-scrollbar{width:3px}

.mbox::-webkit-scrollbar-thumb{
  background:var(--brd)
}

.mx{
  position:absolute;
  top:10px;
  right:12px;
  background:none;
  border:none;
  color:var(--mut);
  font-size:16px;
  cursor:pointer;
  padding:4px;
  line-height:1
}

.mt{
  font-size:13px;
  font-weight:800;
  color:var(--txt);
  margin-bottom:14px;
  text-align:center
}

.sgrid{
  display:grid;
  grid-template-columns:1fr 50px 18px 50px 1fr;
  align-items:center;
  gap:6px;
  margin-bottom:14px
}

.stn{
  font-size:10.5px;
  font-weight:700;
  line-height:1.3;
  overflow:hidden;
  text-overflow:ellipsis
}

.stn.sh{text-align:right}
.stn.sa{text-align:left}

.sinp{
  background:var(--card);
  border:2px solid var(--brd2);
  color:var(--whi);
  font-size:26px;
  font-weight:900;
  text-align:center;
  padding:8px 0;
  border-radius:9px;
  width:100%;
  font-family:inherit;
  -moz-appearance:textfield
}

.sinp::-webkit-outer-spin-button,
.sinp::-webkit-inner-spin-button{
  -webkit-appearance:none
}

.sinp:focus{
  outline:none;
  border-color:var(--red)
}

.sdash{
  text-align:center;
  font-size:20px;
  font-weight:900;
  color:var(--mut)
}

.sc-sect{
  border-top:1px solid var(--brd);
  padding-top:11px;
  margin-top:2px
}

.sc-head{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px
}

.sc-lbl{
  font-size:10px;
  font-weight:700;
  color:var(--sub);
  text-transform:uppercase;
  letter-spacing:1px;
  flex:1
}

.sc-add{
  background:none;
  border:1px solid var(--brd);
  color:var(--mut);
  padding:3px 8px;
  border-radius:5px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit
}

.sc-add:hover{
  border-color:var(--grn);
  color:var(--grn)
}

.sc-warn{
  font-size:10px;
  color:var(--org);
  margin-top:4px;
  min-height:14px
}

.sr{
  display:grid;
  grid-template-columns:1fr 42px 1fr 20px;
  gap:5px;
  align-items:center;
  margin-bottom:5px
}

.sr-inp{
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:5px 7px;
  border-radius:5px;
  font-size:10.5px;
  font-family:inherit;
  width:100%
}

.sr-inp:focus{
  outline:none;
  border-color:var(--brd2)
}

.sr-g{
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--grn);
  padding:5px 4px;
  border-radius:5px;
  font-size:10.5px;
  font-family:inherit;
  text-align:center;
  width:100%;
  font-weight:800;
  -moz-appearance:textfield
}

.sr-g::-webkit-outer-spin-button,
.sr-g::-webkit-inner-spin-button{
  -webkit-appearance:none
}

.sr-rm{
  background:none;
  border:none;
  color:var(--mut);
  cursor:pointer;
  padding:0;
  font-size:13px;
  line-height:1
}

.sr-rm:hover{color:var(--red)}

.mbtns{
  display:flex;
  gap:7px;
  margin-top:12px
}

.mbtn{
  flex:1;
  padding:9px;
  border-radius:7px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  border:1px solid var(--brd);
  font-family:inherit
}

.mbtn.sv{
  background:var(--grn);
  border-color:var(--grn);
  color:#fff
}

.mbtn.dl{
  background:var(--card2);
  color:var(--sub)
}

.mbtn.cx{
  background:var(--card2);
  color:var(--sub)
}

/* LOGIN */
.login-ico{
  font-size:36px;
  text-align:center;
  margin-bottom:8px
}

.login-inp{
  width:100%;
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:10px 12px;
  border-radius:8px;
  font-size:13px;
  font-family:inherit;
  margin-bottom:8px
}

.login-inp:focus{
  outline:none;
  border-color:var(--brd2)
}

.login-err{
  color:var(--red);
  font-size:11px;
  text-align:center;
  min-height:16px;
  margin-bottom:6px
}

.login-ok{
  color:var(--grn);
  font-size:12px;
  text-align:center;
  margin-bottom:10px;
  font-weight:600
}

/* TEAM EDIT */
.te-tabs{
  display:flex;
  border-bottom:1px solid var(--brd);
  margin-bottom:14px
}

.te-tab{
  padding:8px 16px;
  font-size:11px;
  font-weight:700;
  color:var(--mut);
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  cursor:pointer;
  font-family:inherit
}

.te-tab.on{
  color:var(--txt);
  border-color:var(--red)
}

.te-f{margin-bottom:10px}

.te-lbl{
  font-size:10px;
  font-weight:700;
  color:var(--mut);
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:4px;
  display:block
}

.te-inp{
  width:100%;
  background:var(--card);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:7px 10px;
  border-radius:7px;
  font-size:12px;
  font-family:inherit
}

.te-inp:focus{
  outline:none;
  border-color:var(--brd2)
}

.logo-upload-row{
  display:flex;
  align-items:center;
  gap:10px
}

.logo-prv{
  width:50px;
  height:50px;
  border-radius:6px;
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--brd);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px
}

.logo-prv img{
  width:100%;
  height:100%;
  object-fit:contain
}

/* PLAYER EDIT CARD */
.pec{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:8px;
  padding:8px;
  margin-bottom:6px
}

.pec-r1{
  display:flex;
  gap:5px;
  align-items:center;
  margin-bottom:5px;
  flex-wrap:nowrap
}

.pec-r2{
  display:flex;
  gap:5px;
  align-items:center;
  flex-wrap:wrap
}

.pe-inp{
  background:var(--surf);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:5px 7px;
  border-radius:5px;
  font-size:11px;
  font-family:inherit
}

.pe-inp:focus{
  outline:none;
  border-color:var(--brd2)
}

.pe-sel{
  background:var(--surf);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:5px 4px;
  border-radius:5px;
  font-size:10px;
  font-family:inherit
}

.pe-sel:focus{
  outline:none;
  border-color:var(--brd2)
}

.pe-rm{
  background:none;
  border:none;
  color:var(--mut);
  cursor:pointer;
  font-size:13px;
  padding:0;
  flex-shrink:0
}

.pe-rm:hover{color:var(--red)}

/* AI */
.ai-box{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:9px;
  padding:12px;
  margin-bottom:12px
}

.ai-row{
  display:flex;
  gap:8px
}

.ai-inp{
  flex:1;
  background:var(--surf);
  border:1px solid var(--brd);
  color:var(--txt);
  padding:7px 10px;
  border-radius:7px;
  font-size:11.5px;
  font-family:inherit
}

.ai-inp:focus{
  outline:none;
  border-color:var(--brd2)
}

.ai-resp{
  margin-top:10px;
  font-size:12px;
  color:var(--sub);
  line-height:1.6;
  white-space:pre-wrap;
  border-top:1px solid var(--brd);
  padding-top:10px
}

/* TOAST / LOADER */
.toast{
  position:fixed;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  background:var(--card2);
  border:1px solid var(--brd2);
  color:var(--txt);
  padding:8px 16px;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  z-index:300;
  transition:opacity .3s;
  pointer-events:none;
  white-space:nowrap;
  max-width:92vw;
  text-align:center;
  opacity:0
}

.toast.err{
  background:rgba(232,41,58,.15);
  border-color:var(--red);
  color:var(--red)
}

.loader{
  position:fixed;
  inset:0;
  background:var(--bg);
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px
}

.spin{
  width:28px;
  height:28px;
  border:3px solid var(--brd);
  border-top-color:var(--red);
  border-radius:50%;
  animation:spin 1s linear infinite
}

@keyframes spin{
  to{transform:rotate(360deg)}
}

.offline-bar{
  background:rgba(232,41,58,.1);
  border-bottom:1px solid rgba(232,41,58,.3);
  color:var(--red);
  font-size:10px;
  font-weight:700;
  text-align:center;
  padding:5px;
  flex-shrink:0
}

.hid{display:none!important}

@media(max-width:540px){
  main{padding:10px 10px 54px}
  .j-grid,.t-grid{grid-template-columns:1fr}
  .mr{grid-template-columns:24px 1fr 52px 1fr}
  .sgrid{grid-template-columns:1fr 44px 16px 44px 1fr}
  .hub-match{grid-template-columns:1fr 56px 1fr;padding:4px 10px}
  .mini-row{grid-template-columns:22px 1fr 20px 20px 20px 20px 32px}
  .scards,.team-stats-cards{grid-template-columns:1fr}
}

/* Readable sizing shared by the match hub, calendar and competition tabs. */
.hub-match{
  grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr);
  padding-top:8px;
  padding-bottom:8px
}

.hub-t,.tm{font-size:13px}

.hub-score{
  font-size:14px;
  min-width:76px;
  padding:6px 8px
}

.hub-score.timeslot,.j-time,.scell.timeslot{font-size:12px}

.hub-sec-lbl,.m-title{font-size:11px}

.j-grid{
  grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
  gap:12px
}

.j-card{padding:10px}

.j-num{font-size:11px}

.j-num b{
  font-size:15px
}

.j-dt{font-size:9px}
.j-st-pill{font-size:11px}

.mrow{
  grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr);
  padding:6px 10px;
  min-height:38px
}

.tm{
  font-size:12.5px
}

.scell{font-size:13px}

.st{
  table-layout:fixed;
  min-width:700px
}

.st td:nth-child(2),
.st th:nth-child(2){
  width:auto;
  min-width:190px;
  white-space:normal
}

.st th:not(:first-child):not(:nth-child(2)),
.st td:not(:first-child):not(:nth-child(2)){
  text-align:right;
  padding-right:16px
}

.st td:nth-child(2){
  padding-left:10px;
  padding-right:10px
}

.st th{
  font-size:11px;
  padding:11px 10px
}

.st td{
  font-size:13px;
  padding:9px 10px
}

.st td.pts{font-size:15px}

.mini-row{
  grid-template-columns:28px minmax(140px,1fr) repeat(5,minmax(30px,42px));
  gap:7px;
  padding:7px 10px
}

.mini-c,.mini-pos{font-size:12px}

.mini-pts{font-size:14px}

.mini-c,.mini-pos{text-align:right}

.match-edit-btn{
  border:1px solid var(--brd);
  background:var(--card2);
  color:var(--sub);
  border-radius:5px;
  padding:4px 6px;
  font:inherit;
  font-size:10px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  margin-top:4px
}

.match-edit-btn:hover{
  border-color:var(--org);
  color:var(--org)
}

.time-edit-btn{
  border:0;
  background:none;
  padding:0;
  cursor:pointer;
  font-family:inherit
}

.scell.timeslot,
.scell.played{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px
}

.scell .j-time{font-size:12px}

.j-grid .j-time{font-size:12px}

@media(max-width:540px){
  .j-grid{grid-template-columns:1fr}

  .hub-match{
    grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)
  }

  .mrow{
    grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)
  }

  .st{min-width:700px}

  .mini-row{
    grid-template-columns:26px minmax(130px,1fr) repeat(5,32px);
    gap:5px
  }

  .match-edit-btn{font-size:10px}
}

.account-box{max-width:480px}

.favorite-list{
  max-height:45vh;
  overflow:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:12px 0
}

.favorite-team{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:7px;
  font-size:12px
}

.favorite-team input{accent-color:var(--red)}

.j-time.ed{color:var(--org)}

.tab{
  font-size:13px;
  padding:11px 6px
}

.fc{
  font-size:12px;
  padding:6px 13px
}

.btn-sm{
  font-size:12px;
  padding:6px 11px
}

.c-name{font-size:17px}
.c-info{font-size:13px}
.t-name{font-size:13px}
.t-stats{font-size:12px}
.next-vs{font-size:12px}
.scard-lbl{font-size:11px}
.scard-n,.scard-nb{font-size:12px}
.scard-v{font-size:13px}

.hub-sec-hd{
  padding:12px 14px 8px
}

.manual-history-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto auto;
  gap:8px;
  align-items:center;
  padding:9px 0;
  border-top:1px solid var(--brd);
  font-size:11px;
  color:var(--sub)
}

@media(max-width:540px){
  .manual-history-row{grid-template-columns:1fr 1fr}
  .favorite-list{grid-template-columns:1fr}
}

/* Compacta e alinha as vistas de todas as competições. */
.standings-wrap{
  max-width:1200px;
  margin:0 auto
}

table.standings-main{
  width:100%;
  min-width:820px;
  max-width:1200px;
  margin:0 auto;
  table-layout:fixed
}

.standings-main th:first-child,
.standings-main td:first-child{
  width:4%;
  text-align:center
}

.standings-main th:nth-child(2),
.standings-main td:nth-child(2){
  width:42%;
  min-width:0;
  text-align:left;
  white-space:normal
}

.standings-main th:nth-child(n+3),
.standings-main td:nth-child(n+3){
  width:6.75%;
  text-align:right;
  padding-right:14px
}

.standings-main td:nth-child(2) .t-btn{
  max-width:100%;
  white-space:normal;
  text-align:left
}

.standings-main td:nth-child(2) .t-btn>span{
  white-space:normal!important
}

.next-match{
  grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr);
  padding:7px 14px;
  gap:10px;
  min-height:46px
}

.next-match .hub-t{
  min-width:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip
}

.next-team{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  line-height:1.35;
  overflow-wrap:anywhere
}

.next-team.home{
  justify-content:flex-end;
  text-align:right
}

.next-team.away{
  justify-content:flex-start;
  text-align:left
}

.next-vs{
  font-size:12px;
  white-space:nowrap
}

.j-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px
}

.j-card{
  padding:12px
}

.mrow{
  grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr);
  gap:8px;
  min-height:42px
}

.tm{
  font-size:13px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.25
}

.match-edit-btn{
  font-size:11px;
  padding:5px 8px
}

.hub-sw{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  min-width:0
}

.hub-sw .match-edit-btn{
  max-width:100%;
  margin-top:0
}

.cromo-grid{
  grid-template-columns:repeat(auto-fill,minmax(116px,1fr));
  gap:10px
}

.cromo{
  padding:10px 7px 9px
}

.cromo-ph{
  width:60px;
  height:60px;
  font-size:21px
}

.cromo-nm{font-size:10px;letter-spacing:.35px}

.cromo-ps,
.cromo-mt{font-size:8px}

.time-editor-box label,
.mbox label{
  display:block;
  margin:12px 0 6px;
  font-size:11px;
  font-weight:700;
  color:var(--sub)
}

.time-editor-box input[type=time]{
  margin-top:6px;
  font-size:16px
}

.time-editor-note{
  font-size:10px;
  color:var(--mut);
  margin-top:4px
}

@media(max-width:760px){
  .j-grid{grid-template-columns:1fr}

  .next-match{
    grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);
    padding:7px 8px
  }

  .mrow{
    grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)
  }

  .standings-main{min-width:820px}

  .cromo-grid{
    grid-template-columns:repeat(auto-fill,minmax(105px,1fr))
  }
}

/* Apresentação dos cromos, jornadas e linhas de jogos. */
.cromo-grid{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:12px
}

.cromo{
  padding:14px 10px 12px;
  min-height:168px
}

.cromo-ph{
  width:92px;
  height:92px;
  font-size:30px;
  margin-bottom:9px
}

.cromo-nm{
  font-size:13px;
  letter-spacing:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
  line-height:1.25;
  min-height:2.5em
}

.cromo-ps{
  font-size:10px;
  padding:3px 7px
}

.cromo-grid .cromo-mt,
.cromo-grid .cromo-gl,
.cromo-grid .cromo-n{
  display:none
}

.j-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px
}

.j-card{
  width:100%;
  min-width:0;
  padding:10px
}

.mrow{
  grid-template-columns:26px minmax(0,1fr) 76px minmax(0,1fr);
  gap:4px;
  padding:6px 5px;
  min-height:38px
}

.mrow>.match-edit-icon{
  grid-column:1;
  justify-self:center;
  align-self:center
}

.mrow>.tm.h{grid-column:2}
.mrow>.scell{grid-column:3}
.mrow>.tm.a{grid-column:4}

.tm{
  font-size:11px;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.2
}

.scell{font-size:11px}

.scell .j-time{font-size:10px}

.match-edit-btn{
  font-size:11px;
  padding:2px;
  border:0;
  background:transparent;
  color:var(--org);
  cursor:pointer
}

.match-edit-icon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:5px;
  margin:0;
  white-space:nowrap
}

.match-edit-icon:hover{
  background:var(--card2);
  color:var(--whi)
}

.hub-match,
.next-match{
  box-sizing:border-box;
  width:min(100%,1080px);
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:26px minmax(0,1fr) 76px minmax(0,1fr) 58px;
  padding:7px 10px;
  gap:5px;
  min-height:42px
}

.hub-match>.match-edit-icon{
  grid-column:1;
  justify-self:center;
  align-self:center
}

.hub-match>.hub-t.h{grid-column:2}
.hub-match>.hub-sw{grid-column:3}
.hub-match>.hub-t.a{grid-column:4}
.hub-match>.match-date{grid-column:5}

.hub-sw{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  min-width:0
}

.hub-sw .hub-score{
  min-width:0;
  padding:3px 2px;
  font-size:12px
}

.hub-sw .j-time{
  font-size:12px;
  white-space:nowrap
}

.hub-sw .match-edit-btn{margin:0}

.next-match{
  min-height:38px;
  padding-top:5px;
  padding-bottom:5px
}

.next-match .match-action-spacer{grid-column:1}
.next-match>.hub-t.h{grid-column:2}
.next-match>.next-vs{grid-column:3}
.next-match>.hub-t.a{grid-column:4}
.next-match>.match-date{grid-column:5}

.next-team{
  gap:5px;
  font-size:11px
}

.next-vs{
  font-size:10px;
  white-space:nowrap
}

.mini-st{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 6px 8px
}

.mini-row{
  grid-template-columns:26px minmax(0,1fr) repeat(5,minmax(38px,56px));
  gap:6px;
  padding:6px 8px
}

.mini-c,
.mini-pts,
.mini-row>.mini-hd:nth-child(n+3){
  width:100%;
  justify-self:end;
  text-align:right;
  padding-right:10px;
  box-sizing:border-box
}

.mini-pts{font-size:13px}

.official-sync-tools{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid var(--brd);
  border-radius:8px;
  background:var(--card)
}

.official-sync-tools a,
.official-sync-tools span{
  font-size:10px;
  color:var(--sub)
}

.official-sync-tools span{
  flex-basis:100%;
  margin-left:2px
}

.match-date{
  justify-self:end;
  text-align:right;
  white-space:nowrap;
  font-size:9px;
  font-weight:700;
  color:var(--sub);
  font-variant-numeric:tabular-nums
}

.match-date.ed{
  border:0;
  background:transparent;
  padding:3px 0;
  cursor:pointer;
  font-family:inherit;
  color:var(--org)
}

.match-date.ed:hover{text-decoration:underline dotted}

.j-card .match-date{font-size:9px}

.mrow{
  grid-template-columns:24px minmax(0,1fr) 68px minmax(0,1fr) 48px
}

.mrow>.match-edit-icon{grid-column:1}
.mrow>.tm.h{grid-column:2}
.mrow>.scell{grid-column:3}
.mrow>.tm.a{grid-column:4}
.mrow>.match-date{grid-column:5}

.cup-match-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:0
}

.cup-match-center .hub-score.timeslot{
  min-width:0;
  padding:2px 0;
  border:0;
  background:transparent
}

.cup-match-center .j-time{font-size:12px}

@media(max-width:1200px){
  .j-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .j-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .hub-match,
  .next-match{
    grid-template-columns:24px minmax(0,1fr) 68px minmax(0,1fr) 48px;
    padding:6px 6px;
    gap:3px
  }

  .mrow{
    grid-template-columns:22px minmax(0,1fr) 62px minmax(0,1fr) 44px
  }

  .mini-row{
    grid-template-columns:22px minmax(100px,1fr) repeat(5,34px);
    gap:4px
  }

  .mini-st{overflow-x:auto}

  .cromo-grid{
    grid-template-columns:repeat(auto-fill,minmax(132px,1fr))
  }

  .cromo-ph{
    width:82px;
    height:82px
  }
}

@media(max-width:600px){
  .j-grid{grid-template-columns:1fr}
}

/* Ficha de jogo e meta comuns a todas as competicoes. */
.hub-match{
  grid-template-columns:26px minmax(0,1fr) 76px minmax(0,1fr) 122px
}

.hub-match>.match-meta,
.mrow>.match-meta,
.next-match>.match-meta{
  grid-column:5;
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  min-width:0
}

.mrow{
  grid-template-columns:24px minmax(0,1fr) 68px minmax(0,1fr) 122px
}

.mrow>.match-meta{grid-column:5}

.next-match{
  grid-template-columns:26px minmax(0,1fr) 76px minmax(0,1fr) 122px
}

.hub-match>.match-meta .match-date{
  justify-self:end;
  font-size:12px
}
.match-sheet-btn{
  border:1px solid var(--brd);
  border-radius:5px;
  background:var(--card2);
  color:var(--sub);
  padding:3px 6px;
  font-size:9px;
  font-weight:700;
  font-family:inherit;
  cursor:pointer;
  white-space:nowrap
}

.match-sheet-btn:hover{
  color:var(--whi);
  border-color:var(--org)
}

.match-sheet-box{
  width:min(640px,94vw);
  max-height:88vh;
  overflow:auto
}

.match-sheet-sub{
  margin:-8px 0 14px;
  text-align:center;
  color:var(--sub);
  font-size:11px
}

.match-sheet-score{
  display:grid;
  grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);
  align-items:center;
  padding:14px 8px;
  margin-bottom:12px;
  border-radius:8px;
  background:var(--card2);
  font-weight:700;
  text-align:center;
  column-gap:8px
}

.match-sheet-score span{
  min-width:0;
  width:auto;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.25
}

.match-sheet-score span:first-child{text-align:right}
.match-sheet-score span:last-child{text-align:left}

.match-sheet-score strong{
  position:static;
  transform:none;
  min-width:0;
  width:70px;
  text-align:center;
  font-size:20px;
  color:var(--whi);
  white-space:nowrap;
  z-index:auto
}

.match-sheet-box section{
  padding:10px 12px;
  border:1px solid var(--brd);
  border-radius:8px;
  margin:8px 0
}

.match-sheet-box h4{
  margin:0 0 8px;
  color:var(--sub);
  font-size:11px
}

.match-sheet-box ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:5px;
  font-size:12px
}

.match-sheet-squads{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}

.sheet-empty{
  margin:0;
  color:var(--mut);
  font-size:11px
}

@media(max-width:760px){
  .hub-match,
  .next-match{
    grid-template-columns:22px minmax(0,1fr) 62px minmax(0,1fr) 94px
  }

  .mrow{
    grid-template-columns:22px minmax(0,1fr) 58px minmax(0,1fr) 94px
  }

  .match-sheet-squads{grid-template-columns:1fr}

  .match-sheet-score{
    gap:8px;
    font-size:11px
  }

  .match-sheet-score strong{font-size:16px}
  .hub-match > .hub-sw .j-time,
  .cup-match-center .j-time{
    font-size:12px !important
  }
}

/* Candidaturas de colaboração dentro de cada associação. */
.association-comps-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding:11px 13px;
  border:1px solid var(--brd);
  border-radius:9px;
  background:var(--card)
}

.association-comps-head>div:first-child{
  display:grid;
  gap:3px
}

.association-comps-head strong{font-size:13px}

.association-comps-head span,
.collab-intro{
  font-size:11px;
  color:var(--sub)
}

.association-comps-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap
}

.collab-scope{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  margin:10px 0 14px;
  padding:10px;
  border:1px solid var(--brd);
  border-radius:8px;
  background:var(--card2);
  font-size:11px
}

.collab-scope strong{
  color:var(--mut);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.07em
}

.collab-scope span{
  margin-bottom:5px;
  color:var(--whi)
}

.collaborator-box{
  width:min(520px,94vw);
  max-height:90vh;
  overflow:auto
}

.collaborator-box label{
  display:block;
  margin:8px 0;
  font-size:11px;
  font-weight:700;
  color:var(--sub)
}

.collaborator-box .login-inp{
  width:100%;
  margin-top:4px
}

.collaborator-box textarea{
  resize:vertical;
  min-height:82px
}

.email-alert-optin{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:10px 0;
  padding:10px;
  border-radius:8px;
  background:var(--card2);
  font-size:11px;
  color:var(--sub)
}

.email-alert-optin input{
  margin:2px 0 0;
  accent-color:var(--org)
}

.collab-admin-section{
  margin:0 0 14px;
  padding:12px;
  border:1px solid var(--brd);
  border-radius:10px;
  background:var(--card)
}

.collab-admin-section h3{
  margin:0 0 10px;
  font-size:12px
}

.collab-application{
  padding:10px;
  margin:8px 0;
  border:1px solid var(--brd);
  border-radius:8px;
  background:var(--bg)
}

.collab-application header{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:12px
}

.collab-application header span,
.collab-app-details{
  font-size:10px;
  color:var(--mut)
}

.collab-app-details{
  display:grid;
  gap:3px;
  margin-top:7px
}

.collab-application p{
  font-size:11px;
  line-height:1.45;
  white-space:pre-wrap
}

.collab-application .mbtns{
  justify-content:flex-end
}

@media(max-width:600px){
  .association-comps-actions{
    width:100%
  }

  .collab-application .mbtns{
    flex-wrap:wrap
  }
}

/* =========================================================
   ANDROID / CAPACITOR
   Compensa a área da status bar sem alterar a versão Web.
   ========================================================= */
@media(display-mode:standalone){
  header{
    padding-top:env(safe-area-inset-top)
  }
}

/* =========================================================
   CAPACITOR / ANDROID
   Apenas quando a aplicação corre como App.
   A versão Web permanece inalterada.
   ========================================================= */
.app-body.capacitor header{
  padding-top:env(safe-area-inset-top)
}

/* ================================================================
   BOTÃO APOIAR O PROJETO
   ================================================================ */
.support-section{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:28px 0 18px
}

.support-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  color:var(--txt);
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.2s ease
}

.support-btn:hover{
  background:rgba(255,255,255,.09);
  transform:translateY(-1px)
}

.support-btn:active{
  transform:scale(.98)
}

.legal-links,
.login-legal-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--mut);
  font-size:11px;
  line-height:1.5
}

.legal-links a,
.login-legal-links a{
  color:var(--mut);
  text-decoration:underline;
  text-underline-offset:2px
}

.legal-links a:hover,
.login-legal-links a:hover{
  color:var(--txt)
}

.login-legal-links{
  margin-top:12px;
  font-size:12px
}

.account-delete-link{
  display:block;
  margin:14px auto 0;
  padding:4px;
  border:0;
  background:none;
  color:var(--mut);
  font:inherit;
  font-size:11px;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer
}

.account-delete-link:hover{color:var(--red)}

.account-delete-box p,
.account-delete-box label{
  color:var(--sub);
  font-size:12px;
  line-height:1.6
}

.account-delete-confirm{
  background:var(--red);
  border-color:var(--red);
  color:#fff
}

.account-delete-confirm:disabled{opacity:.65;cursor:wait}

/* =========================================================
   MOBILE — NOMES DAS EQUIPAS NA JORNADA ATUAL
   ========================================================= */
@media(max-width:600px){

  .hub-match .hub-t{
    min-width:0;
    white-space:normal;
    overflow:visible;
    text-overflow:clip
  }

  .hub-match .hub-team-inner{
    display:flex;
    align-items:center;
    gap:6px;
    width:100%;
    min-width:0;
    max-width:100%
  }

  .hub-match .hub-name{
    display:block;
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere;
    word-break:normal;
    line-height:1.25
  }

  .hub-match > .hub-t > span > span{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere;
    line-height:1.25
  }
}

/* =========================================================
   MATCH CARD
   EQUIPA + LOGO | RESULTADO | LOGO + EQUIPA
   ÚLTIMA ALTERAÇÃO EM LINHA ABAIXO
   ========================================================= */

.hub-match{
  position:relative !important
}

/* =========================================================
   EQUIPA CASA
   ========================================================= */

.hub-match > .hub-t.h{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-width:0 !important
}

/* =========================================================
   CENTRO
   ========================================================= */

.hub-match > .hub-sw{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important
}

/* Container resultado */
.hub-score-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important
}

/* =========================================================
   RESULTADO
   ========================================================= */

.hub-score-wrap > .hub-score.played{
  display:block !important;
  font-size:15px !important;
  width:max-content !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:4px 8px !important;
  box-sizing:border-box !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1.2 !important
}

/* =========================================================
   ÚLTIMA ALTERAÇÃO
   ========================================================= */

.hub-score-wrap > .last-edit-label{
  position:absolute !important;
  top:calc(100% + 7px) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  display:block !important;
  width:max-content !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  font-size:9px !important;
  line-height:1 !important;
  text-align:center !important;
  white-space:nowrap !important;
  color:#d6d6d6 !important;
  opacity:.75 !important;
  z-index:20 !important
}

.hub-score-wrap > .last-edit-label strong{
  font-weight:600 !important
}

/* =========================================================
   EQUIPA FORA
   ========================================================= */

.hub-match > .hub-t.a{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important
}

/* =========================================================
   ESPAÇO PARA "ÚLTIMA ALTERAÇÃO"
   ========================================================= */

.hub-match{
  padding-bottom:22px !important
}

/* =========================================================
   MOBILE — MATCH CARD
   ========================================================= */

@media(max-width:760px){

  .hub-match{
    padding-bottom:20px !important
  }

  .hub-score-wrap > .hub-score.played{
    padding:4px 6px !important;
    font-size:13px !important
  }

  .hub-score-wrap > .last-edit-label{
    top:calc(100% + 7px) !important;
    font-size:8.5px !important;
    color:#d6d6d6 !important;
    white-space:nowrap !important
  }
}

/* =========================================================
   FICHA DE JOGO — RESULTADO
   EQUIPA | RESULTADO | EQUIPA
   ========================================================= */

.match-sheet-score{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  gap:10px !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important
}

.match-sheet-score span{
  display:block !important;
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  text-align:center !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important
}

.match-sheet-score strong{
  display:block !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
  text-align:center !important;
  white-space:nowrap !important
}

/* =========================================================
   MOBILE — FICHA DE JOGO
   ========================================================= */

@media(max-width:600px){

  .match-sheet-score{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items:center !important;
    justify-items:center !important;
    width:100% !important;
    max-width:100% !important;
    gap:6px !important;
    padding:0 8px !important;
    box-sizing:border-box !important
  }

  .match-sheet-score span{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    font-size:11px !important;
    line-height:1.2 !important;
    text-align:center !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important
  }

  .match-sheet-score strong{
    display:block !important;
    width:auto !important;
    min-width:max-content !important;
    font-size:15px !important;
    line-height:1.2 !important;
    text-align:center !important;
    white-space:nowrap !important
  }
}

/* =========================================================
   CALENDÁRIO — RESULTADO NUMA ÚNICA LINHA
   ========================================================= */

.scell.played{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:4px !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  min-width:0 !important
}

.scell.played .sd{
  display:inline-block !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important
}

/* =========================================================
   CLASSIFICAÇÃO — TOP MELHORES MARCADORES
   Alinhamento fixo entre cabeçalho e resultados
   ========================================================= */

.top-scorers-table{
  width:100% !important;
  table-layout:fixed !important
}

.top-scorers-table th:nth-child(1),
.top-scorers-table td:nth-child(1){
  width:42px !important;
  text-align:center !important
}

.top-scorers-table th:nth-child(2),
.top-scorers-table td:nth-child(2){
  width:auto !important;
  text-align:left !important
}

.top-scorers-table th:nth-child(3),
.top-scorers-table td:nth-child(3){
  width:auto !important;
  text-align:left !important
}

.top-scorers-table th:nth-child(4),
.top-scorers-table td:nth-child(4){
  width:50px !important;
  text-align:center !important
}

/* =========================================================
   SPECIAL · BOTÃO DOCUMENTO INTERNO
   ========================================================= */

.hub-team-cell{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px
}

.hub-team-cell .hub-t{
  flex:1;
  min-width:0
}

.home-cell{justify-content:flex-end}

.home-cell .hub-t{order:1}

.home-cell .special-internal-btn{order:0}

.away-cell{justify-content:flex-start}

.away-cell .hub-t{order:0}

.away-cell .special-internal-btn{order:1}

.special-internal-btn{
  flex:0 0 auto;
  white-space:nowrap
}

.match-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0
}

.match-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-shrink:0
}

@media(max-width:600px){

  .match-meta{flex-wrap:wrap}

  .match-actions{
    width:100%;
    justify-content:flex-end
  }

  .match-actions .match-sheet-btn{
    white-space:nowrap
  }
}

.special-home-action{
  grid-column:1;
  grid-row:1;
  align-self:center;
  justify-self:start
}

/* ================================================================
   MARCA — logo novo (bola dividida + FUTSALSCORE)
   ================================================================ */

.brand-mark{
  display:block;
  flex-shrink:0;
  object-fit:contain
}

.landing-h1{
  margin:0 0 18px;
  line-height:0;
  font-size:0
}

.brand-lockup{
  display:block;
  width:min(440px,84vw);
  height:auto;
  margin:160px auto 0;
  filter:drop-shadow(0 6px 28px rgba(255,106,0,.16))
}

.ldr-logo{
  width:64px;
  height:64px;
  animation:ldr-pulse 1.6s ease-in-out infinite
}

@keyframes ldr-pulse{
  0%,100%{
    opacity:.5;
    transform:scale(.93)
  }

  50%{
    opacity:1;
    transform:scale(1)
  }
}

@media(prefers-reduced-motion:reduce){
  .ldr-logo{animation:none}
}
