:root{--red:#d90712;--ink:#111;--muted:#555b64;--line:#e1e3e7;--bg:#f4f5f7;--nav:14rem;color:var(--ink);background:var(--bg);font:16px/1.5 system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0}
a{color:#ad0912}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #111;outline-offset:3px}
aside{position:fixed;inset:0 auto 0 0;width:var(--nav);background:white;border-right:1px solid var(--line);padding:1.25rem;z-index:2}
.brand{display:grid;justify-items:center;gap:.5rem;color:var(--ink);text-decoration:none;font-size:1.35rem;margin-bottom:2rem}
.brand img{width:4.5rem}
nav{display:grid;gap:.4rem}
nav a{color:var(--ink);font-weight:650;text-decoration:none;padding:.75rem;border-radius:.6rem}
nav a[aria-current=page]{background:var(--red);color:white}
.signed main{margin-left:var(--nav)}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem clamp(1rem,3vw,2.5rem);border-bottom:3px solid var(--red);background:repeating-linear-gradient(135deg,#fff 0 14px,#f7f7fa 14px 26px)}
header strong{font-size:clamp(1rem,2.5vw,1.75rem)}
.content{max-width:80rem;margin:auto;padding:clamp(1rem,3vw,2.5rem)}
.heading,.buttons{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.heading{justify-content:space-between;margin-bottom:1rem}
h1,h2,h3{line-height:1.15;margin:0 0 .8rem;font-weight:850}
h1{font-size:clamp(1.85rem,4vw,2.6rem);text-transform:uppercase}
.heading h1{margin:0}
h3{font-size:1.5rem}
small{color:var(--muted)}
.card{min-width:0;background:white;border:1px solid var(--line);border-radius:1rem;padding:1.2rem;margin-bottom:1rem;box-shadow:0 4px 16px #11111108;overflow-wrap:anywhere}
.grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.bar{background:var(--red);color:white;margin:-1.2rem -1.2rem 1.1rem;padding:.85rem 1.2rem;border-radius:.9rem .9rem 0 0}
.tag{display:inline-block;background:#f1f2f4;border-radius:99px;padding:.2rem .7rem;font-weight:650;margin:.2rem 0 .75rem}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;margin:1.4rem 0;gap:.35rem;font-size:.85rem}
.stats strong{display:block;font-size:2rem}
form{display:grid;gap:.8rem;margin-top:.85rem}
form+form{margin-top:1rem}
label{display:grid;gap:.3rem;font-weight:650;min-width:0}
input,select,textarea{width:100%;min-width:0;border:1px solid #afb3ba;border-radius:.55rem;background:white;color:var(--ink);padding:.7rem;font:inherit}
textarea{resize:vertical}
.check{display:flex;align-items:center}
.check input{width:auto}
button,.button{display:inline-block;width:fit-content;min-height:44px;padding:.58rem .85rem;background:var(--red);color:white;border:1px solid var(--red);border-radius:.55rem;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}
button:hover,.button:hover{filter:brightness(.92)}
.secondary{background:white;color:var(--ink);border-color:#aeb2b9}
.rows{list-style:none;padding:0;margin:0}
.rows li{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:.7rem 0}
.rows form{margin:0}
.rows input{width:8rem}
.notice{background:#e5f5e9;border-radius:.6rem;padding:.8rem}
.error{background:#ffebeb;color:#9d0710}
.guest{min-height:100vh;display:grid;align-items:center;background:repeating-linear-gradient(135deg,#fff 0 18px,#f4f5f7 18px 34px)}
.login{max-width:28rem;margin:auto;padding:2rem;border-top:4px solid var(--red)}
.login img{display:block;width:6.5rem;margin:0 auto 1rem}
.login h1{text-align:center}
.login button{width:100%;margin-top:.4rem}
@media(max-width:850px){.grid{grid-template-columns:1fr;gap:0}}
@media(max-width:640px){
.signed main{margin-left:0;padding-bottom:calc(4.6rem + env(safe-area-inset-bottom))}
aside{inset:auto 0 0;width:auto;padding:.25rem .2rem calc(.25rem + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line)}
.brand{display:none}
nav{display:flex;justify-content:space-around;gap:.1rem}
nav a{font-size:clamp(.61rem,2.5vw,.84rem);padding:.75rem .25rem;text-align:center}
.form-grid{grid-template-columns:1fr}
header span{font-size:.83rem;text-align:right}
}
.icon{display:inline-block;vertical-align:-.2em;flex:none}
nav a{display:flex;align-items:center;gap:.65rem}
button .icon,.button .icon,h2 .icon{margin-right:.15rem}
.password-field{display:block;position:relative}
.password-field input{padding-right:3.2rem}
button.password-toggle,.login button.password-toggle{position:absolute;right:0;top:0;bottom:0;width:3rem;min-height:0;margin:0;padding:0;border:0;background:transparent;color:var(--ink)}
.password-toggle .icon{margin:0}
.remember{font-weight:500}
.charge-members{grid-column:1/-1;margin:0;min-width:0;border:1px solid var(--line);border-radius:.65rem;padding:.75rem}
.charge-members legend{font-weight:750}
.member-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem;padding-top:.55rem}
.member-list label{font-weight:500}
@media(max-width:640px){nav a{flex-direction:column;gap:.2rem;padding:.35rem .15rem}nav .icon{width:18px;height:18px}}
.position-picker,.bench{min-width:0;margin:0;border:1px solid var(--line);border-radius:.75rem;padding:.75rem}
.position-picker{grid-column:1/-1;max-width:34rem;width:100%}
.position-picker legend,.bench legend{font-weight:750}
.pitch{isolation:isolate;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(4.75rem,1fr));gap:.25rem;align-items:center;padding:1rem .55rem;max-width:42rem;width:100%;border:3px solid #fff;border-radius:.85rem;outline:1px solid #b7c3ba;background:repeating-linear-gradient(0deg,#146537 0 24%,#1c7242 24% 50%);color:#fff}
.pitch::before,.pitch::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.pitch::before{inset:.45rem;border:1px solid #ffffff80;background:linear-gradient(transparent calc(50% - .5px),#ffffff80 calc(50% - .5px),#ffffff80 calc(50% + .5px),transparent calc(50% + .5px))}
.pitch::after{top:50%;left:50%;width:18%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #ffffff80;border-radius:50%}
.pitch-r1{grid-row:1}.pitch-r2{grid-row:2}.pitch-r3{grid-row:3}.pitch-r4{grid-row:4}
.pitch-c1{grid-column:1}.pitch-c2{grid-column:2}.pitch-c3{grid-column:3}
.pitch-slot{text-align:center;min-width:0}
.pitch-slot label,.pitch label{justify-items:center}
.pitch-slot select{font-size:.8rem;padding:.4rem .2rem}
.pitch-badge{display:inline-grid;place-items:center;min-width:2.6rem;min-height:2.6rem;border-radius:50%;background:#fff;color:#111;font-size:.82rem;font-weight:850;border:2px solid transparent}
.pitch-name{display:block;font-size:.83rem;font-weight:750;margin-top:.25rem}
.pitch input[type=radio],.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pitch label:has(input[type=radio]){cursor:pointer}
.pitch input:checked + .pitch-badge{background:var(--red);color:#fff;border-color:white}
.pitch input:focus-visible + .pitch-badge{outline:3px solid white;outline-offset:3px}
.position-options{display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;margin-top:.5rem}
.position-options p,.bench p{margin:.35rem 0}
.bench{max-width:42rem}
.bench label:has(input:disabled){opacity:.65}

.formation-picker{width:min(100%,14rem)}

/* Compact layout and persistent access to the profile. */
:root{--nav:12rem;font-size:15px}
aside{padding:.85rem;display:flex;flex-direction:column}
.brand{font-size:1.1rem;margin-bottom:1.15rem}
.brand img{width:3.75rem}
nav a{padding:.55rem .65rem;min-height:40px}
header{padding:.7rem clamp(.8rem,2vw,1.55rem)}
.content{padding:clamp(.75rem,2vw,1.5rem)}
.heading{margin-bottom:.7rem}
h1{font-size:clamp(1.55rem,3vw,2.1rem)}
h2{font-size:1.3rem}
.card{padding:.9rem;margin-bottom:.75rem}
.grid,.form-grid{gap:.65rem}
.bar{margin:-.9rem -.9rem .7rem;padding:.6rem .9rem}
form{gap:.55rem;margin-top:.65rem}
input,select,textarea{padding:.5rem .6rem}
button,.button{padding:.4rem .65rem}
.rows li{padding:.5rem 0}
.login{padding:1.3rem}
.login img{width:5.25rem}
.profile-link{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;color:var(--ink);font-weight:650;padding:.35rem;border-radius:.4rem;min-height:40px}
.profile-link:hover,.profile-link[aria-current=page]{background:#f3e8e9}
.app-version{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.sidebar-version{margin-top:auto;padding:.6rem 0 0}
.bottom-version{display:none}
.guest .bottom-version{display:block;margin-top:.65rem}

#alineacion{background:#20252a;color:#f6f8f9;border-color:#30383e}
#alineacion .notice{color:#162b20}
#alineacion .notice.error{color:#9d0710}
.lineup-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:end;flex-wrap:wrap;gap:.45rem .75rem;background:#20252a;padding:.35rem 0 .55rem}
.lineup-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.75rem;align-items:start}
.lineup-layout .pitch{max-width:none;grid-template-rows:repeat(4,minmax(3.7rem,1fr));padding:.45rem;border-color:#456f57;outline:none}
.lineup-layout .pitch-badge{min-width:2rem;min-height:2rem}
.lineup-layout .pitch-name,.lineup-layout .pitch-slot select{background:rgba(15,22,20,.44);color:#fff;border-radius:.4rem;text-shadow:0 1px 3px #111;font-weight:650}
.lineup-layout .pitch-slot select{border-color:#ffffff70;padding:.22rem}
.lineup-layout .pitch-slot option{background:#242b29;color:white}
.lineup-layout .pitch-name{display:inline-block;padding:.15rem .4rem}
.lineup-layout .pitch-slot>.pitch-badge{display:grid;width:fit-content;margin:auto}
.lineup-layout .bench{border-color:#596168}
.lineup-layout .member-list{grid-template-columns:1fr}
@media(max-width:850px){.lineup-layout{grid-template-columns:1fr}}
@media(max-width:640px){
aside{padding:.2rem .25rem calc(.2rem + env(safe-area-inset-bottom))}
nav a{padding:.25rem .4rem;min-height:44px}
.sidebar-version{display:none}
.bottom-version{display:block;margin-top:.6rem}
.lineup-layout .pitch-slot select{min-height:40px}
}
.match-share{background:#f4f5f7;border-radius:.55rem;padding:.6rem .75rem}
.match-share small{display:block;margin-top:.15rem}

.studio-credit{display:flex;align-items:center;justify-content:center;gap:.35rem;color:var(--muted);font-size:.75rem;text-decoration:none;margin:0 auto .2rem;width:fit-content}
.studio-credit:hover{text-decoration:underline}
.studio-mark{display:block;width:1.5rem;height:1.5rem;flex:none;background:center/contain no-repeat url("data:image/png;base64,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")}

/* Compact actions and lighter match cards. */
button:not(.password-toggle),.button{min-height:34px;padding:.32rem .58rem;font-size:.86rem;font-weight:700;border-radius:.45rem}
button .icon,.button .icon{width:15px;height:15px;margin-right:.12rem}
.buttons{gap:.4rem}
.bar{background:#fbf8f8;color:var(--ink);border-bottom:1px solid var(--line);padding:.52rem .9rem;font-size:1.12rem}
.bar .icon{color:var(--red);width:17px;height:17px}
.stats{margin:.7rem 0;gap:.45rem}
.stats>div{background:var(--bg);padding:.3rem .15rem;border-radius:.45rem}
.stats strong{font-size:1.55rem;line-height:1.2}
.lineup-toolbar{align-items:flex-end}
.formation-picker{width:min(100%,8rem)}
.formation-picker select{min-height:34px;padding:.32rem .48rem;font-size:.9rem}
.lineup-layout .pitch-slot select{max-width:12rem}
@media(max-width:640px),(pointer:coarse){
button:not(.password-toggle),.button,.formation-picker select{min-height:44px}
}
.callup{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}
.callup th,.callup td{padding:.38rem .25rem;border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:center}
.callup thead th{color:var(--muted);font-size:.76rem}
.callup th:first-child{text-align:left;width:42%}
.callup th:last-child,.callup td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.callup td:last-child{font-weight:700}
.status{display:inline-block;padding:.1rem .35rem;border-radius:.45rem;background:#fff0ca;color:#654700}
.status-yes{background:#e0f3e7;color:#175b34}
.status-no{background:#fce5e6;color:#8b2029}
.lineup-layout .bench button{margin-top:.65rem}
.meeting-time{min-width:0;margin:0;padding:0;border:0;display:flex;gap:.35rem;align-items:end}
.meeting-time legend{font-weight:650;margin-bottom:.3rem;padding:0}
.meeting-time select{min-width:4.5rem}
.minute-choice{position:relative}
.minute-choice input{position:absolute;width:1px;height:1px;opacity:0}
.minute-choice span{padding:.5rem .6rem;border:1px solid var(--line);border-radius:.5rem;cursor:pointer}
.minute-choice input:checked+span{color:white;background:var(--red);border-color:var(--red)}
.minute-choice input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.date-control{position:relative;display:block}
.date-caption{display:none}
.has-calendar .date-caption{display:block;position:absolute;inset:1px 2.5rem 1px 1px;padding:0 .6rem;align-content:center;background:white;border-radius:.5rem;pointer-events:none}

.profile-layout{max-width:68rem}
.profile-grid{align-items:start}
.profile-grid .card{margin-bottom:.65rem}
.profile-layout h2{margin-bottom:.6rem}
.profile-layout label{font-size:.86rem;gap:.2rem}
.profile-layout input,.profile-layout select{font-size:.9rem}
.profile-inline{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.profile-password{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);padding-top:.65rem}
.profile-password button{grid-column:1/-1}
.profile-colors{display:flex;gap:.65rem;align-items:center}
.profile-colors input{width:100%;height:2.15rem;padding:.15rem}
.profile-layout input[type=file]{min-width:0;width:100%}
.profile-layout ::file-selector-button{border:0;border-radius:.3rem;padding:.22rem .45rem;margin-right:.4rem;background:#eceef0;font:inherit}
.studio-credit{display:grid;justify-items:center;gap:.12rem;line-height:1.2;margin-bottom:.4rem}
.studio-credit strong{font-size:.85rem;color:var(--ink);white-space:nowrap}
.studio-mark{width:2.65rem;height:2.65rem;margin-bottom:.2rem}
.sidebar-version{border-top:1px solid var(--line);padding-top:.7rem}
@media(max-width:640px){.profile-password{grid-template-columns:1fr}.profile-layout input,.profile-layout select{font-size:16px}}
.lineup-layout .pitch-slot select{text-align:center;text-align-last:center}
.profile-link{max-width:64%;gap:.5rem}
.profile-avatar{display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;width:2.05rem;height:2.05rem;flex:none;font-size:.75rem;font-weight:800;text-transform:uppercase}
.profile-label{display:grid;min-width:0;text-align:left;line-height:1.15;gap:.12rem}
header .profile-label strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-label small{font-size:.7rem}
.profile-display-form{border:0;padding:0}
.callup th:first-child{width:30%}
.callup th:nth-child(3),.callup .callup-amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.callup th:last-child,.callup td:last-child{text-align:center;width:29%}
.callup td:last-child small{display:block;font-weight:500}
.court-payment{display:flex;flex-wrap:wrap;justify-content:center;gap:.22rem;margin-top:.2rem}
.court-payment button{min-height:28px;padding:.16rem .3rem;font-size:.72rem}
@media(pointer:coarse){.court-payment button{min-height:44px}}

.footer-logout{margin:0 0 .55rem;justify-items:center}
.sidebar-version{border-top:0;padding-top:0}
.sidebar-version .footer-logout,.bottom-version .footer-logout{border-bottom:1px solid var(--line);padding-bottom:.65rem;margin-bottom:.65rem}
.court-payment-row{display:flex;align-items:center;justify-content:center;gap:.25rem;flex-wrap:wrap}
.court-payment-row .status{display:inline-flex;align-items:center;gap:.18rem;font-weight:700}
.court-payment-row .icon{width:.8rem;height:.8rem;margin:0}
.court-payment-row .court-payment{margin:0}
.court-payment-row .court-payment button{display:grid;place-items:center;min-width:26px;min-height:26px;padding:.15rem}
.court-payment .court-mark{background:#e0f3e7;border-color:#b8ddc7;color:#175b34}
.court-payment .court-undo{background:transparent;border-color:transparent;color:#59616b}
.court-payment .court-undo:hover{background:#fce5e6;color:#8b2029}
@media(pointer:coarse){.court-payment-row .court-payment button{min-width:44px;min-height:44px}}
.invite-actions{display:flex;align-items:center;gap:.4rem}
.invite-actions form{margin:0}
button.invite-copy{display:grid;place-items:center;min-width:36px;padding:.3rem}
.invite-copy .icon{margin:0}
.invite-feedback,.account-status{font-size:.78rem;color:var(--muted)}
.account-status{flex-basis:100%}
@media(pointer:coarse){button.invite-copy{min-width:44px}}

/* Phone layout */
@media(max-width:640px){
:root{font-size:15px}
body.guest{min-height:100dvh;background:#f4f5f7}
.guest main{width:100%;padding-top:env(safe-area-inset-top)}
.guest .content{max-width:29rem}
.signed header{padding:.46rem max(.85rem,env(safe-area-inset-right)) .46rem max(.85rem,env(safe-area-inset-left));padding-top:calc(.46rem + env(safe-area-inset-top));gap:.45rem;background:#fff;border-bottom:1px solid var(--line)}
.signed header>strong{font-size:1.08rem;min-width:0;overflow-wrap:anywhere}
.profile-link{max-width:53%;background:#f4f5f7;border-radius:2rem;padding:.25rem .55rem .25rem .28rem;min-height:44px}
header .profile-label strong{font-size:.79rem}
.profile-avatar{width:1.8rem;height:1.8rem}
.signed .content{padding:.8rem max(.75rem,env(safe-area-inset-right)) .85rem max(.75rem,env(safe-area-inset-left))}
.signed main{padding-bottom:calc(4.6rem + env(safe-area-inset-bottom))}
aside{padding:0 max(.4rem,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(.4rem,env(safe-area-inset-left));box-shadow:0 -3px 16px #1111110e}
nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:.3rem 0;gap:.2rem}
nav a{justify-content:center;gap:.18rem;min-height:48px;font-size:.73rem}
nav a[aria-current=page]{background:#fce7e9;color:#a10a14}
.heading{gap:.45rem;margin-bottom:.65rem}
.heading h1{font-size:1.55rem;letter-spacing:-.025em}
.card{padding:.8rem;margin-bottom:.65rem;border-radius:.82rem;box-shadow:0 2px 8px #11111108}
.grid{gap:0}
.card h2{font-size:1.12rem}
.card h3{font-size:1.16rem}
.bar{margin:-.8rem -.8rem .65rem;padding:.56rem .8rem}
.card p{margin:.5rem 0}
.stats>div{padding:.4rem .18rem;font-size:.73rem}
.stats strong{font-size:1.38rem}
button:not(.password-toggle),.button{min-height:44px}
form.buttons:has([name=response]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}
form.buttons:has([name=response]) button{width:100%;padding:.25rem .1rem;font-size:.77rem}
form.buttons:has([name=response]) .icon{width:.8rem;height:.8rem;margin:0}
.callup,.callup tbody{display:block}
.callup thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.callup tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name amount" "attendance payment";align-items:center;gap:.12rem .5rem;padding:.42rem .5rem;margin-top:.35rem;border:1px solid var(--line);border-radius:.6rem;background:#fafbfc}
.callup tbody tr>*{display:block;border:0;padding:0;width:auto!important;text-align:left}
.callup tbody th{grid-area:name;font-size:.9rem;line-height:1.2}
.callup tbody td:nth-child(2){grid-area:attendance}
.callup tbody .callup-amount{grid-area:amount;text-align:right;font-size:.91rem}
.callup tbody td:last-child{grid-area:payment;text-align:right}
.callup .status{font-size:.72rem;white-space:nowrap}
.court-payment-row{justify-content:flex-end;flex-wrap:nowrap}
.court-payment-row .court-payment button{min-width:44px;min-height:44px}
.lineup-layout .pitch{grid-template-rows:repeat(4,minmax(4rem,auto));gap:.2rem;padding:.38rem}
.lineup-layout .pitch-slot select{min-height:44px;font-size:16px}
.lineup-layout .pitch-name{font-size:.75rem}
.lineup-layout .bench{padding:.6rem}
.form-grid{gap:.55rem}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
.form-grid label{gap:.22rem}
.rows li{padding:.52rem 0;gap:.25rem .55rem;align-items:center}
.rows li span{overflow-wrap:anywhere}
.profile-inline{grid-template-columns:1fr}
.profile-layout .card{margin-bottom:.65rem}
.profile-password{gap:.5rem}
.footer-logout{padding-top:.25rem}
.login{padding:1.2rem;max-width:none}
.login img{width:4.5rem}
}
