/* Mobile refinements shared by every public and administration page. */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:hidden}
main,main>section{width:100%;max-width:100%;min-width:0}
img,svg,video,iframe{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
input,select,textarea{font-size:16px}
@media(max-width:850px){
  .topbar{position:absolute;padding-inline:16px;gap:14px}.topbar nav{max-height:calc(100vh - 64px);overflow-y:auto;box-shadow:0 18px 35px #0005}.topbar nav a{min-height:46px;display:flex;align-items:center}.menu{min-width:44px;min-height:44px;padding:8px}
  .hero{height:auto;min-height:100svh;padding:104px 20px 56px;overflow:hidden;background-image:linear-gradient(90deg,#061326f2 0%,#071529d9 58%,#07152970 100%),linear-gradient(0deg,#061326a8,transparent 45%),url('/assets/volleyball-hero.png')}.hero-content{width:100%;max-width:520px;min-width:0}.hero h1{max-width:100%;font-size:clamp(54px,17vw,82px)}.hero .lead{font-size:15px;line-height:1.55}
  .section,.competition-center{padding:64px 16px}.center-panel{width:100%;min-width:0}footer{padding:44px 20px}dialog{max-height:calc(100dvh - 24px);overflow:auto;padding:30px 20px}
}
@media(max-width:600px){
  .primary{width:100%;justify-content:space-between;gap:16px}.center-intro{padding-top:0}.center-intro h2{font-size:50px;margin:18px 0}.center-selection h3{font-size:26px}.center-tabs{scrollbar-width:none}.center-tabs::-webkit-scrollbar{display:none}
  .center-row{grid-template-columns:26px minmax(0,1fr) repeat(3,30px);font-size:9px}.center-row .club{gap:7px;min-width:0}.center-row .club i{width:25px;height:25px;flex:0 0 25px}.center-row .club b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fixture{grid-template-columns:52px minmax(0,1fr) 28px}.fixture-teams{min-width:0;gap:5px;padding-inline:5px}.fixture-teams>span{min-width:0;gap:5px}.fixture-teams b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixture-teams i{width:24px;height:24px;flex:0 0 24px}
  .competition{min-height:145px;padding:22px}.cta{padding:72px 20px}.cta h2{font-size:48px}footer div{flex-direction:column;gap:14px}#map-dialog iframe{width:100%;min-height:260px}
}
@media(max-width:720px){
  .login-visual{min-height:300px;padding:30px 22px}.login-visual h1{font-size:58px;margin:24px 0 12px}.login-form{padding:42px 20px;align-items:start}.login-box h2{font-size:36px}
  .dash-main{width:100%;min-width:0;padding:24px 14px 44px}.page-head{flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-head>div{min-width:0;flex:1 1 220px}.head-actions{width:100%}.head-actions .primary-btn{width:100%;min-height:44px}.panel{min-width:0;padding:16px}.panel-head{gap:12px;align-items:flex-start}
  .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px}.activity-item{grid-template-columns:36px minmax(0,1fr)}.activity-item time{grid-column:2}.round-head{padding:14px 12px;gap:10px}.match-row{grid-template-columns:50px minmax(0,1fr) auto minmax(0,1fr);font-size:9px}.match-row .home,.match-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .toolbar>*{width:100%;min-height:42px}.drill-actions,.player-level-tabs{padding-bottom:4px;-webkit-overflow-scrolling:touch}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:28px 18px}#toast{left:14px;right:14px;bottom:14px;text-align:center}
}
@media(max-width:600px){
  body>header{height:64px;padding-inline:14px}body>header>a:last-child{font-size:0}body>header>a:last-child::after{content:'\2190  VOLTAR';font-size:9px}.game-top-layout{margin-top:22px;padding-inline:12px}.game-meta{gap:10px;align-items:center}
  .public-score{min-height:330px;column-gap:6px}.public-score img,.public-score article>i{width:62px;height:62px}.public-score article>strong{font-size:55px}.public-sets{margin:12px 0}.public-sets b{font-size:54px}.set-strip{justify-content:flex-start;overflow-x:auto;padding-inline:12px}.set-strip span{flex:0 0 auto}
  .game-top-layout>article{padding:22px 18px;min-height:260px}.event-list div{grid-template-columns:58px 10px minmax(0,1fr)!important}.game-details{margin-bottom:35px!important;padding-inline:12px!important}.game-details>aside{padding:20px 18px!important}.match-gallery{margin-bottom:40px;padding:18px 12px}.match-gallery button{height:150px}
}
@media(max-width:380px){.brand{font-size:13px}.brand-ball{width:34px;height:34px}.hero h1{font-size:51px}.hero .eyebrow{letter-spacing:1.5px}.stats{grid-template-columns:1fr}.score-teams{gap:10px}.real-score section strong{font-size:58px}.real-score section div{grid-template-columns:32px 55px 32px}.real-score section button{width:32px}}

/* Competition centre: purpose-built mobile layout. */
@media(max-width:700px){
  .competition-center{display:block;width:100%;max-width:100%;min-width:0;padding:48px 14px 56px;overflow:hidden}
  .center-intro{margin-bottom:28px}
  .center-intro .eyebrow{margin:0 0 14px;font-size:9px}
  .center-intro h2{max-width:330px;margin:0 0 16px;font-size:clamp(44px,14vw,58px);line-height:.88}
  .center-intro h2 br{display:block}
  .center-intro>p:last-child{max-width:340px;margin:0;font-size:12px;line-height:1.6}
  .center-panel{width:100%;max-width:100%;min-width:0;border-radius:8px;overflow:hidden;box-shadow:0 18px 45px #020a1266}
  .center-filters{display:grid;grid-template-columns:1fr;padding:8px 14px;background:#10263c;gap:0}
  .center-filters label{min-width:0;min-height:60px;padding:10px 2px;border:0;border-bottom:1px solid #ffffff16}
  .center-filters label:last-child{border-bottom:0}
  .center-filters label span{font-size:8px;letter-spacing:1.25px}
  .center-filters select{height:27px;padding:0 28px 0 0;font-size:15px;white-space:nowrap;text-overflow:ellipsis}
  .center-selection{min-width:0;min-height:94px;padding:20px 18px}
  .center-selection>div{min-width:0}
  .center-selection small{font-size:7px;line-height:1.4}
  .center-selection h3{margin-top:7px;font-size:29px;line-height:1}
  .center-tabs{width:100%;max-width:100%;gap:24px;padding:0 18px;overflow-x:auto;overscroll-behavior-inline:contain}
  .center-tab{flex:0 0 auto;min-height:49px;padding:15px 0;font-size:8px;letter-spacing:.65px}
  .center-content,.center-table{width:100%;max-width:100%;min-width:0}
  .center-content{min-height:0}
  .center-table{padding:7px 12px 0}
  .center-row{grid-template-columns:28px minmax(0,1fr) 34px 34px;min-height:58px;gap:4px;padding:0 2px}
  .center-row>*:nth-child(4),.center-row>*:nth-child(5),.center-row>*:nth-child(6){display:none}
  .center-row.table-head{min-height:34px;font-size:7px}
  .center-row .club{gap:9px}
  .center-row .club .team-logo,.center-row .club i{width:32px;height:32px;flex:0 0 32px}
  .center-row .club b{font-size:13px}
  .center-note{padding:13px 14px 18px;font-size:7px;line-height:1.5}
  .round-title{padding:15px 18px;gap:10px;flex-wrap:wrap}
  .round-title b{font-size:19px}.round-title small{font-size:7px}
}

@media(max-width:370px){
  .competition-center{padding-inline:10px}
  .center-intro{padding-inline:4px}
  .center-tabs{gap:18px;padding-inline:14px}
  .center-selection{padding-inline:15px}
  .center-table{padding-inline:8px}
  .center-row{grid-template-columns:24px minmax(0,1fr) 28px 30px}
  .center-row .club{gap:6px}
  .center-row .club .team-logo,.center-row .club i{width:28px;height:28px;flex-basis:28px}
}
