:root{--bg:#f5f6f8;--ink:#17191c;--muted:#7b828c;--line:#e7e9ee;--card:#fff;--blue:#176bd7;--blue2:#eaf2ff;--green:#1f8f5f;--orange:#d88426;--red:#c43d3d;--shadow:0 10px 30px rgba(20,28,38,.08);font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}.hide{display:none!important}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);display:grid;grid-template-columns:280px 1fr}button,input,select,textarea{font:inherit}button,a{border:0;text-decoration:none;cursor:pointer}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px 18px;min-height:100vh;position:sticky;top:0}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.brandLogo{width:46px;height:46px;border-radius:12px;object-fit:contain;background:#fff;box-shadow:0 3px 10px rgba(20,28,38,.1);padding:2px}.brand h1{font-size:18px;margin:0}.brand p{margin:3px 0 0;color:var(--muted);font-size:13px}.sideNav{display:grid;gap:8px}.sideNav button{min-height:44px;border-radius:10px;background:transparent;color:var(--ink);text-align:left;padding:0 12px;font-weight:750}.sideNav button.on{background:var(--blue2);color:var(--blue)}.app{width:100%;max-width:1120px;margin:0 auto;padding:22px 26px 40px}.topbar{height:44px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:18px}.topbar strong{text-align:center;font-size:17px}.iconBtn{width:40px;height:40px;border-radius:12px;background:transparent;color:var(--ink);font-size:22px}.iconBtn:hover,.filterBtn:hover{background:#eceff4}.view{display:none}.view.on{display:block}.pageTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pageTitle h2{font-size:32px;line-height:1;margin:0}.primary,.secondary{min-height:42px;border-radius:16px;padding:0 16px;font-weight:850;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--blue);color:#fff}.secondary{background:#eef2f7;color:var(--ink)}.searchRow{display:grid;grid-template-columns:1fr 46px;gap:8px;margin-bottom:22px}.searchBox{height:44px;background:#eceef2;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#9aa1aa}.searchBox input{border:0;background:transparent;outline:0;width:100%;font-size:16px}.filterBtn{height:44px;border-radius:10px;background:#eceef2;color:#747b84;font-size:22px}.tableHead{display:grid;grid-template-columns:1fr minmax(130px,.85fr);padding:0 8px 10px;border-bottom:1px solid var(--line);color:#575d66;font-size:12px;font-weight:850;text-transform:uppercase}.list{background:#fff;border-radius:0 0 18px 18px;overflow:hidden}.personRow{min-height:58px;display:grid;grid-template-columns:1fr minmax(130px,.85fr);gap:10px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}.personMain{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:38px;height:38px;border-radius:9px;background:linear-gradient(140deg,#d8e7ff,#dff4e9);display:grid;place-items:center;color:#176bd7;font-weight:900;flex:0 0 auto}.avatar.photo{object-fit:cover;border:1px solid var(--line);background:#fff}.personName{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.personMeta{color:#30343a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subline{font-size:12px;color:var(--muted);margin-top:2px}.stack{display:grid;gap:14px}.split{display:grid;grid-template-columns:minmax(300px,.85fr) 1.15fr;gap:14px;align-items:start}.card,.stat,.drawer{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:16px}.card h3{margin:0 0 12px;font-size:17px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.stat b{display:block;font-size:27px}.stat span,.muted,p{color:var(--muted)}.item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0}.top{display:flex;justify-content:space-between;gap:10px}.chip{display:inline-block;border-radius:999px;background:#eef2f7;padding:5px 8px;margin:3px;color:#4e5661;font-size:12px;font-weight:850}.green{background:#e2f5ea;color:#147145}.orange{background:#fff0dd;color:#a15811}.blue{background:#e7f0ff;color:#176bd7}.red{background:#ffe8e8;color:#a42a2a}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.actions button,.red{border-radius:11px;padding:8px 10px;font-weight:850;background:#eef2f7;color:var(--ink)}button.red{background:#ffe8e8;color:#a42a2a}.form{display:grid;gap:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 10px;outline:0}textarea{min-height:82px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,107,215,.12)}.drawer{margin-top:14px}.drawer summary{font-weight:850;cursor:pointer}.drawer .form{margin-top:14px}.qrCard{text-align:center}.qrCard img{width:min(320px,100%);border:1px solid var(--line);border-radius:18px;background:#fff;padding:10px}.url{word-break:break-all;font-weight:750;color:#176bd7}.narrow{max-width:620px}#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#17191c;color:#fff;border-radius:12px;padding:10px 14px;font-weight:850;display:none;z-index:20}#toast.on{display:block}@media(max-width:900px){body{display:block;background:#fff}.sidebar{display:none}.app{max-width:430px;min-height:100vh;padding:18px 16px 92px}.topbar{margin-bottom:20px}.pageTitle h2{font-size:24px}.split,.stats{grid-template-columns:1fr}.card,.stat,.drawer{box-shadow:none;border-radius:16px}.listCard{padding:0;border:0;box-shadow:none}.listCard h3{display:none}.formCard{order:2}.tableHead{grid-template-columns:1fr minmax(136px,.82fr)}.personRow{grid-template-columns:1fr minmax(136px,.82fr)}}@media(max-width:420px){.app{padding-left:14px;padding-right:14px}.two{grid-template-columns:1fr}.personRow,.tableHead{grid-template-columns:1fr 142px}.personMeta{font-size:14px}.primary{padding:0 14px}}

input[type=file]{padding:8px;background:#f8fafc}
.titleActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.regIdentity{display:flex;align-items:center;gap:10px;min-width:0}.regPhoto{width:52px;height:52px;border-radius:12px;object-fit:cover;border:1px solid var(--line);background:#fff;flex:0 0 auto}.regPhoto.placeholder{display:grid;place-items:center;background:linear-gradient(140deg,#d8e7ff,#dff4e9);color:#176bd7;font-weight:900}.docArea{margin:8px 0}.docLink{min-height:36px;border-radius:11px;background:#eef5ff;color:#176bd7;font-weight:850;padding:8px 10px;display:inline-flex;align-items:center}.registration p{margin-bottom:6px}
.fileGroup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.docArea{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:700px){.fileGroup{grid-template-columns:1fr}}
.filterRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-12px 0 18px}.filterRow select{min-height:40px;background:#fff}.debt{font-weight:850}.debt.bad{color:#a42a2a}.debt.ok{color:#147145}@media(max-width:700px){.filterRow{grid-template-columns:1fr}}
.phonePreview{width:100%;max-width:390px;margin:0 auto;border:10px solid #111;border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 16px 40px rgba(20,28,38,.22)}.phonePreview iframe{width:100%;height:690px;border:0;display:block}.parentSplit{grid-template-columns:minmax(320px,.9fr) 1.1fr}.parentMode{display:block;background:#fff}.parentMode .sidebar,.parentMode .bottomNav,.parentMode .bottomTabs,.parentMode .topbar,.parentMode .quickMenu{display:none!important}.parentMode .app{max-width:430px;min-height:100vh;padding:14px 16px 36px}.parentMode #inscripciones .pageTitle{margin-top:10px}.parentMode #inscripciones .pageTitle h2{font-size:25px}.parentMode #inscripciones .split{display:block}.parentMode #inscripciones .split>.card:nth-child(2){display:none}.parentMode #inscripciones .card{border:0;box-shadow:none;padding:0}.parentMode #inscripciones h3{font-size:18px;margin-bottom:16px}.parentMode .form{gap:12px}@media(max-width:900px){.parentSplit{grid-template-columns:1fr}.phonePreview iframe{height:650px}}
.paymentItem .docLink{margin-top:6px}.parentCard{max-width:520px;margin:0 auto}.parentMode #pagoPadres .card{border:0;box-shadow:none;padding:0}.parentMode #pagoPadres .pageTitle h2{font-size:25px}.parentMode #pagoPadres h3{font-size:18px;margin-bottom:16px}
.moduleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.moduleTile{min-height:132px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:var(--shadow);padding:16px;text-align:left;display:grid;align-content:start;gap:8px}.moduleTile:hover{border-color:#b9d4ff;background:#fbfdff}.tileIcon{width:42px;height:42px;border-radius:14px;background:#eef5ff;color:var(--blue);display:grid;place-items:center}.tileIcon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.moduleTile strong{font-size:16px}.moduleTile small{color:var(--muted);line-height:1.35;font-weight:650}.adminHomeGrid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}.adminHomeGrid .mainTile{grid-column:span 3;min-height:174px;padding:20px}.adminHomeGrid .mainTile strong{font-size:23px}.adminHomeGrid .smallTile{grid-column:span 2;min-height:118px}@media(max-width:900px){.app{padding-bottom:36px}.moduleGrid{grid-template-columns:1fr 1fr}.moduleTile{min-height:118px;box-shadow:none}.adminHomeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.adminHomeGrid .mainTile,.adminHomeGrid .smallTile{grid-column:span 1}.adminHomeGrid .mainTile{min-height:148px}.adminHomeGrid .smallTile{min-height:112px}}@media(max-width:520px){.adminHomeGrid{grid-template-columns:1fr}.adminHomeGrid .mainTile,.adminHomeGrid .smallTile{min-height:104px}.adminHomeGrid .mainTile strong{font-size:20px}}@media(max-width:420px){.moduleGrid{grid-template-columns:1fr}.moduleTile{min-height:104px}}
.launchScreen{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 22%,#ffffff 0,#eef5ff 42%,#e9f7f0 100%);display:grid;place-items:center;color:var(--ink);transition:opacity .25s ease,visibility .25s ease}.launchScreen.hide{opacity:0;visibility:hidden;pointer-events:none}.launchInner{text-align:center;display:grid;justify-items:center;gap:14px;padding:24px}.launchInner p{margin:0;color:var(--blue);font-weight:850}.launchInner h1{margin:0;font-size:clamp(36px,8vw,64px);line-height:1}.launchInner strong{font-size:15px;color:#4d5661}.crestButton{width:150px;height:150px;border:0;background:rgba(255,255,255,.88);display:grid;place-items:center;position:relative;border-radius:24px;padding:10px;box-shadow:0 16px 34px rgba(20,28,38,.16), inset 0 0 0 1px rgba(255,255,255,.9);filter:drop-shadow(0 12px 22px rgba(20,28,38,.18));transition:transform .18s ease}.crestButton:hover{transform:translateY(-3px) scale(1.02)}.crestButton img{width:124px;height:124px;object-fit:contain}.enterArrow{position:absolute;right:-6px;bottom:-6px;width:34px;height:34px;border-radius:50%;background:#d0182f;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900;box-shadow:0 6px 16px rgba(208,24,47,.28)}.crestIntro h1{max-width:720px}.crestIntro small{color:#d0182f;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.parentMode .launchScreen{display:none}
.launchLogo{display:none}.parentBrand{display:none}.parentMode .parentBrand{display:grid;justify-items:center;text-align:center;gap:4px;margin-bottom:18px}.parentBrand img{width:76px;height:76px;object-fit:contain;border-radius:16px;background:#fff;padding:4px;box-shadow:0 4px 14px rgba(20,28,38,.1)}.parentBrand strong{font-size:22px}.parentBrand span{color:var(--muted);font-size:13px;font-weight:750}
@media(max-width:520px){.crestButton{width:136px;height:136px;padding:9px}.crestButton img{width:112px;height:112px}.enterArrow{width:38px;height:38px;font-size:22px;right:8px;bottom:12px}.launchInner h1{font-size:38px}}
.launchScreen::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(208,24,47,.08),rgba(23,107,215,.08));pointer-events:none}.launchInner{position:relative;z-index:1}.crestIntro h1{color:#111;font-weight:950}.crestIntro p{color:#d0182f}.enterArrow{background:#d0182f}
.helpText{display:block;color:var(--muted);font-size:12px;font-weight:650;text-transform:none;line-height:1.35;margin-top:-2px}
.bottomTabs{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:30;width:min(1180px,calc(100% - 24px));display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;padding:8px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -8px 24px rgba(20,28,38,.1);backdrop-filter:blur(10px)}.bottomTabs button{min-height:46px;border-radius:13px;background:#f2f5f9;color:#4f5965;font-weight:850;padding:0 8px;white-space:normal;line-height:1.05}.bottomTabs button.on{background:#eaf2ff;color:var(--blue)}.app{padding-bottom:92px}.parentMode .bottomTabs{display:none}@media(max-width:900px){.bottomTabs{width:100%;border-radius:16px 16px 0 0;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:hidden;gap:7px}.bottomTabs button{min-width:0;min-height:52px;font-size:11px;padding:0 5px}.bottomTabs button span{display:block;width:100%;text-align:center;overflow-wrap:anywhere}.app{padding-bottom:148px}}
.reviewTitle{margin:12px 0 8px;font-weight:950;color:var(--ink);font-size:14px;text-transform:uppercase}.payFilters{margin-top:0}.paymentItem{border-left:4px solid #e7f0ff}
.scoreDate{margin:12px 0 16px}.scoreDate h4{margin:0 0 8px;font-size:15px;color:#30343a}.scoreboard{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:10px 0;background:#fff}.scoreHead{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f7f9fc;padding:10px 12px;border-bottom:1px solid var(--line)}.scoreHead span{font-size:12px;color:var(--muted);font-weight:850}.scoreTable{width:100%;border-collapse:collapse;font-size:13px}.scoreTable th,.scoreTable td{padding:8px 7px;text-align:center;border-bottom:1px solid var(--line)}.scoreTable th{background:#fbfcfe;color:#59616c;text-transform:uppercase;font-size:11px}.scoreTable td:first-child,.scoreTable th:first-child{text-align:left;font-weight:900}.scoreTable tfoot td{background:#f7f9fc;font-weight:900}.scoreTable tr.empty td{color:#9aa1aa}.resultLetter{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:8px;font-weight:950;margin-right:4px}.resultLetter.green{background:#e2f5ea;color:#147145}.resultLetter.orange{background:#fff0dd;color:#a15811}.resultLetter.red{background:#ffe8e8;color:#a42a2a}.parentBrand.always{display:grid}.parentMode #resultadosPublicos .card{border:0;box-shadow:none;padding:0}@media(max-width:520px){.scoreTable{font-size:12px}.scoreTable th,.scoreTable td{padding:7px 5px}.scoreHead{align-items:flex-start;flex-direction:column}}

.roundGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin:2px 0 14px}.roundChip{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:9px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.roundChip strong{font-size:13px}.roundChip span{min-width:24px;height:24px;border-radius:999px;background:#eef2f7;color:#59616c;display:grid;place-items:center;font-size:12px;font-weight:900}.roundChip.on{border-color:#176bd7;background:#eaf2ff;color:#176bd7}.roundChip.on span{background:#176bd7;color:#fff}

.resultCard{max-width:920px}.resultSetup{display:grid;gap:10px}.resultSheetWrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.resultInputTable{width:100%;border-collapse:collapse;font-size:13px}.resultInputTable th,.resultInputTable td{padding:8px 7px;text-align:center;border-bottom:1px solid var(--line)}.resultInputTable th{background:#f7f9fc;color:#59616c;text-transform:uppercase;font-size:11px}.resultInputTable .catCell{text-align:left;font-weight:950;color:#30343a}.scoreInput{min-height:36px;max-width:78px;text-align:center;padding:6px;border-radius:10px}.resultPreview{display:inline-grid;place-items:center;min-width:54px;height:30px;border-radius:9px;background:#eef2f7;color:#59616c;font-weight:950}.resultPreview.green{background:#e2f5ea;color:#147145}.resultPreview.orange{background:#fff0dd;color:#a15811}.resultPreview.red{background:#ffe8e8;color:#a42a2a}@media(max-width:560px){.resultInputTable{font-size:12px}.resultInputTable th,.resultInputTable td{padding:7px 5px}.scoreInput{max-width:62px}.resultPreview{min-width:46px}}

.resultInputTable tfoot td{background:#f7f9fc;font-weight:950;color:#30343a}.resultInputTable tfoot td:first-child{text-align:right;color:#59616c;text-transform:uppercase;font-size:12px}.sheetTotalRow span{display:inline-grid;place-items:center;min-width:34px;height:30px;border-radius:10px;background:#eaf2ff;color:#176bd7;font-weight:950}

.resultPreview.green{background:#e2f5ea;color:#147145}.resultPreview.orange{background:#fff0dd;color:#a15811}

.codeInput{text-transform:uppercase}.codeLegend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#59616c;font-size:12px;font-weight:850;margin-top:-2px}.codeLegend b{color:#176bd7}.codeLegend span{width:8px}

.resultInputTable .resultPreview{display:none}

.resultInputTable td span[data-local-points],.resultInputTable td span[data-visitor-points]{font-weight:950}.resultInputTable td span[data-local-points]:not(:empty),.resultInputTable td span[data-visitor-points]:not(:empty){color:#30343a}

.resultInputTable select.scoreInput{max-width:92px;text-align:center;text-align-last:center}.resultInputTable .codeInput{font-weight:850}


/* Tema oscuro RIO */
:root{--bg:#24282f;--ink:#f4f6fb;--muted:#b7bec9;--line:#343a45;--card:#151a21;--blue:#d71932;--blue2:#30151a;--green:#31c27c;--orange:#ffb454;--red:#ff5a67;--shadow:0 18px 44px rgba(0,0,0,.3)}
body{background:linear-gradient(145deg,#292e36 0%,#20242a 58%,#2c3037 100%);color:var(--ink)}
.sidebar{background:#0a0d12;border-right-color:#242934}.brand p,.muted,p,.subline,label{color:var(--muted)}.brand h1,.pageTitle h2,.card h3,.personName,.topbar strong,.drawer summary{color:var(--ink)}
.sideNav button{color:#dce2ec}.sideNav button.on{background:#251014;color:#ff6b7a}.iconBtn{color:#f4f6fb}.iconBtn:hover,.filterBtn:hover{background:#171c25}
.card,.stat,.drawer,.item,.list,.moduleTile,.scoreboard,.resultSheetWrap,.phonePreview{background:var(--card);border-color:var(--line);box-shadow:var(--shadow)}.moduleTile:hover{background:#141922;border-color:#4a2630}.tileIcon{background:#251014;color:#ff6b7a}.moduleTile small{color:var(--muted)}
input,select,textarea,.searchBox,.filterBtn{background:#0b0f15;border-color:#2a303b;color:#f4f6fb}.searchBox input{color:#f4f6fb}.searchBox input::placeholder,textarea::placeholder,input::placeholder{color:#778293}input[type=file]{background:#0b0f15;color:#dce2ec}
.tableHead{border-bottom-color:var(--line);color:#aeb7c5}.personRow{border-bottom-color:var(--line)}.personMeta{color:#e6ebf3}.avatar{background:#251014;color:#ff6b7a}.secondary{background:#202632;color:#f4f6fb}.primary{background:#d71932;color:#fff}.bottomTabs{background:rgba(8,10,14,.96);border-color:#252b35;box-shadow:0 -10px 30px rgba(0,0,0,.42)}.bottomTabs button{background:#151a22;color:#c7ceda}.bottomTabs button.on{background:#d71932;color:#fff}
.chip{background:#202632;color:#dce2ec}.chip.blue,.blue{background:#251014;color:#ff6b7a}.chip.green,.green{background:#10291e;color:#58d797}.chip.orange,.orange{background:#2b2112;color:#ffbd66}.chip.red,.red{background:#2b1217;color:#ff7b87}.actions button{background:#202632;color:#f4f6fb}button.red{background:#2b1217;color:#ff7b87}.url{color:#ff6b7a}.docLink{background:#251014;color:#ff6b7a}
.scoreHead,.scoreTable th,.scoreTable tfoot td,.resultInputTable th,.resultInputTable tfoot td{background:#151a22;color:#dce2ec;border-color:var(--line)}.scoreTable td,.scoreTable th,.resultInputTable td,.resultInputTable th{border-bottom-color:var(--line)}.scoreDate h4,.resultInputTable .catCell,.reviewTitle{color:#f4f6fb}.scoreTable tr.empty td{color:#778293}.resultSheetWrap{background:#10141b}.sheetTotalRow span{background:#251014;color:#ff6b7a}.roundChip{background:#10141b;border-color:var(--line);color:#f4f6fb}.roundChip span{background:#202632;color:#c7ceda}.roundChip.on{background:#251014;border-color:#d71932;color:#ff6b7a}.roundChip.on span{background:#d71932;color:#fff}
.qrCard img{background:#fff;border-color:#fff}.parentMode{background:#24282f}.parentMode .app{background:#24282f}.parentBrand strong{color:#f4f6fb}.parentBrand img,.brandLogo{background:#fff}.parentMode #inscripciones .card,.parentMode #pagoPadres .card,.parentMode #pagoIndumentariaPadres .card,.parentMode #resultadosPublicos .card,.parentMode #fixturePublico .card{background:#24282f;border:0;box-shadow:none}.launchScreen{background:radial-gradient(circle at 50% 22%,#303640 0,#20242a 50%,#171a1f 100%);color:#f4f6fb}.launchScreen::before{background:linear-gradient(140deg,rgba(215,25,50,.22),rgba(255,255,255,.03))}.crestIntro h1{color:#fff}.launchInner strong{color:#dce2ec}.crestButton{background:#fff;box-shadow:0 20px 48px rgba(0,0,0,.4)}
.areaStats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 12px}.miniStat{padding:12px}.miniStat b{font-size:18px}@media(max-width:900px){body{background:#24282f}.areaStats{grid-template-columns:1fr 1fr}.card,.stat,.drawer{box-shadow:none}}@media(max-width:420px){.areaStats{grid-template-columns:1fr}}

.aliasBox{border:1px solid rgba(215,25,50,.45);background:linear-gradient(135deg,rgba(215,25,50,.18),rgba(255,255,255,.04));border-radius:16px;padding:14px;display:grid;gap:4px;margin-bottom:4px}.aliasBox span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.aliasBox strong{font-size:24px;color:#fff;letter-spacing:.02em}.aliasBox small{color:var(--muted);font-weight:700}


.playerSelect{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.playerSelect.on{background:rgba(215,25,50,.12)}.playerSelect:hover{background:rgba(215,25,50,.08)}.playerProfile{margin:14px 0}.profileCard{padding:18px}.profileHero{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center}.profilePhotoBox{width:132px;aspect-ratio:1;border-radius:18px;background:#fff;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;color:#d71932;font-weight:950;font-size:34px}.profilePhotoBox img{width:100%;height:100%;object-fit:cover}.profileTitle span,.profileLine span,.profileMoney span,.profileNote span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.profileTitle h3{font-size:28px;margin:4px 0 8px}.profileChips{display:flex;flex-wrap:wrap;gap:4px}.profileGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.profileLine{border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(255,255,255,.03);display:grid;gap:3px}.profileLine b{font-size:14px;color:var(--ink);word-break:break-word}.profileMoney{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:14px;padding:12px;margin-top:12px;background:#10291e;color:#58d797}.profileMoney.bad{background:#2b1217;color:#ff7b87}.profileMoney b{font-size:18px}.profileNote{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.profileNote p{margin:4px 0 0}.profileDocs{margin-top:12px}.emptyProfile{background:rgba(255,255,255,.03)}@media(max-width:700px){.profileHero{grid-template-columns:94px 1fr}.profilePhotoBox{width:94px;border-radius:16px}.profileTitle h3{font-size:21px}.profileGrid{grid-template-columns:1fr}.playerProfile{margin-bottom:16px}}
.playerProfileOverlay{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.8);display:grid;place-items:center;padding:18px}.playerProfileOverlay.hide{display:none}.playerProfilePanel{position:relative;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:20px}.playerProfileOverlay .playerProfile{margin:0}.playerProfileOverlay .profileCard{margin:0;border-color:#d71932;box-shadow:0 28px 80px rgba(0,0,0,.65);padding-top:26px}.playerProfileClose{position:absolute;right:10px;top:10px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#d71932;color:#fff;font-size:28px;font-weight:900;line-height:1;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.4)}body.modalOpen{overflow:hidden}@media(max-width:560px){.playerProfileOverlay{padding:10px}.playerProfilePanel{max-height:calc(100vh - 20px)}.playerProfileOverlay .profileCard{padding:58px 14px 16px}.playerProfileClose{right:12px;top:12px}}
.playerDocsPanel{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);padding:12px}.playerDocsTitle{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:10px}.playerDocsTitle span{color:#ff6b7a;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.playerDocsTitle strong{font-size:16px}.playerDocTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.playerDocTab{position:relative;text-align:left;border:1px solid var(--line);border-radius:14px;background:#0d1219;color:var(--ink);padding:12px;min-height:72px;display:grid;align-content:center;gap:4px;cursor:pointer}.playerDocTab.ready{border-color:#d71932;box-shadow:inset 0 0 0 1px rgba(215,25,50,.35)}.playerDocTab.missing{opacity:.65;cursor:not-allowed}.playerDocTab span{font-size:14px;font-weight:950}.playerDocTab small,.playerDocsHelp{color:var(--muted);font-weight:850}.docHoverPreview{position:absolute;left:0;bottom:calc(100% + 12px);width:min(320px,72vw);height:230px;padding:8px;border-radius:16px;background:#fff;border:2px solid #d71932;box-shadow:0 20px 45px rgba(0,0,0,.45);opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s;z-index:10}.docHoverPreview img{width:100%;height:100%;object-fit:contain;border:0;border-radius:10px;background:#fff}.docHoverPreview b{display:grid;place-items:center;height:150px;color:#111;font-size:22px}.docHoverPreview small{display:block;text-align:center;color:#333}.playerDocTab:hover .docHoverPreview,.playerDocTab:focus-visible .docHoverPreview{opacity:1;transform:translateY(0)}@media(max-width:700px){.playerDocTabs{grid-template-columns:1fr}.docHoverPreview{display:none}.playerDocsTitle{display:block}.playerDocsTitle strong{display:block;margin-top:3px}}

.playerFilters{grid-template-columns:repeat(6,minmax(0,1fr));margin:-8px 0 16px}.playerFilters select{background:#0b0f15;color:#f4f6fb;border-color:#2a303b}@media(max-width:900px){.playerFilters{grid-template-columns:1fr 1fr}}@media(max-width:520px){.playerFilters{grid-template-columns:1fr}}

.moduleScreen{position:fixed;inset:0;z-index:90;background:radial-gradient(circle at 50% 18%,#1b1f29 0,#090b10 46%,#020306 100%);display:grid;place-items:center;padding:22px;color:#f4f6fb}.moduleScreen.hide{display:none}.moduleChoice{width:min(720px,100%);display:grid;justify-items:center;text-align:center;gap:12px}.moduleChoice img{width:98px;height:98px;object-fit:contain;border-radius:18px;background:#fff;padding:5px}.moduleChoice p{margin:0;color:#ff6b7a;font-weight:900;text-transform:uppercase}.moduleChoice h2{margin:0 0 8px;font-size:clamp(30px,6vw,54px);line-height:1}.moduleChoiceGrid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.moduleChoiceGrid button{min-height:154px;border:1px solid #2a303b;border-radius:20px;background:#10141b;color:#f4f6fb;padding:20px;text-align:left;display:grid;align-content:center;gap:8px;box-shadow:0 18px 44px rgba(0,0,0,.36)}.moduleChoiceGrid button:hover{border-color:#d71932;background:#161922}.moduleChoiceGrid strong{font-size:24px}.moduleChoiceGrid span{color:#aab2c0;font-weight:750;line-height:1.35}
.moduleChoiceGrid button{text-align:center;justify-items:center;grid-template-rows:auto 4.1em}
.moduleChoiceGrid span{width:100%;height:100%;display:grid;place-items:center;text-align:center}.moduleHidden{display:none!important}.parentMode .moduleScreen{display:none}@media(max-width:620px){.moduleChoiceGrid{grid-template-columns:1fr}.moduleChoiceGrid button{min-height:128px}.moduleChoice img{width:84px;height:84px}}

.qrMenu{display:grid;gap:14px;margin:0 0 14px}.qrMenuColumns{grid-template-columns:1fr 1fr;align-items:start}.qrColumn{border:1px solid var(--line);border-radius:18px;background:#10141b;padding:14px;display:grid;gap:10px}.qrColumn h3{margin:0 0 2px;color:#f4f6fb;font-size:16px}.qrMenu button{min-height:64px;border:1px solid var(--line);border-radius:16px;background:#151a22;color:#f4f6fb;font-weight:900;padding:12px;text-align:left}.qrMenu button.on,.qrMenu button:hover{background:#251014;border-color:#d71932;color:#ff7b87}.qrCards{display:grid;grid-template-columns:minmax(280px,440px);gap:14px}.qrCards .qrCard{display:none}.qrCards .qrCard.on{display:block}.qrHelp.hide{display:none}@media(max-width:720px){.qrMenuColumns{grid-template-columns:1fr}.qrMenu button{min-height:60px}}

.qrOverlay{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.78);display:grid;place-items:center;padding:18px}.qrOverlay.hide{display:none}.qrOverlayPanel{width:min(520px,100%);position:relative}.qrOverlayPanel .qrCards{display:block}.qrOverlayPanel .qrCard{width:100%;box-shadow:0 24px 70px rgba(0,0,0,.55);border-color:#d71932}.qrOverlayPanel .qrCard img{width:min(390px,100%)}.qrClose{position:absolute;right:-10px;top:-10px;z-index:2;width:42px;height:42px;border-radius:50%;background:#d71932;color:#fff;font-size:28px;font-weight:900;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.35)}.qrHelp{max-width:680px}.qrCards{display:none}@media(max-width:560px){.qrOverlay{padding:12px}.qrClose{right:4px;top:4px}.qrOverlayPanel .qrCard{padding-top:48px}.qrOverlayPanel .qrCard img{width:100%}}
.docOverlay{position:fixed;inset:0;z-index:85;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:18px}.docOverlay.hide{display:none}.docOverlayPanel{width:min(900px,100%);max-height:92vh;position:relative;background:#10141b;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 24px 70px rgba(0,0,0,.55);display:grid;gap:12px}.docOverlayPanel h3{margin:0;color:#f4f6fb;font-size:18px}.docPreview{min-height:280px;max-height:72vh;overflow:auto;border-radius:14px;background:#05070a;display:grid;place-items:center}.docPreview img{max-width:100%;height:auto;display:block}.docPreview iframe{width:100%;height:72vh;border:0;background:#fff}.docOverlayPanel .secondary{justify-self:start}@media(max-width:560px){.docOverlay{padding:10px}.docOverlayPanel{max-height:94vh;padding:12px;padding-top:48px}.docPreview{max-height:70vh}.docPreview iframe{height:70vh}}
.successOverlay{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:18px}.successOverlay.hide{display:none}.successPanel{width:min(420px,100%);background:#10141b;border:1px solid #2a303b;border-radius:20px;padding:24px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.55);display:grid;gap:12px;justify-items:center}.successIcon{width:62px;height:62px;border-radius:50%;background:#10291e;color:#58d797;display:grid;place-items:center;font-weight:950;font-size:20px;border:1px solid rgba(88,215,151,.4)}.successPanel h3{margin:0;color:#f4f6fb;font-size:24px}.successPanel p{margin:0;color:#c7ceda;line-height:1.4}.successPanel button{width:100%;margin-top:6px}
.attendanceRoster{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0c1016}.attendanceHead,.attendanceRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.attendanceHead{background:#151a22;color:#f4f6fb}.attendanceHead span{color:#aab2c0;font-size:12px;font-weight:900}.attendanceLegend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:9px 12px;background:#11161e;border-bottom:1px solid var(--line)}.attendanceLegendItem{display:flex;align-items:center;justify-content:center;gap:5px;color:#c7ceda;font-size:10px;font-weight:900;text-align:center}.attendanceLegendItem i{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.attendanceLegendItem.red i{background:#e5484d}.attendanceLegendItem.yellow i{background:#f5c542}.attendanceLegendItem.green i{background:#3ecf8e}.attendanceLegendItem.blue i{background:#3b82f6}.attendanceRow{text-transform:none;color:#f4f6fb;font-size:14px}.attendanceRow:last-child{border-bottom:0}.attendancePlayer{flex:1;min-width:0;display:grid;gap:2px}.attendancePlayer small{color:#aab2c0;font-weight:800}.attendanceChoices{display:grid;grid-template-columns:repeat(4,34px);gap:7px;flex:0 0 auto}.attendanceChoice{position:relative;display:grid;place-items:center;cursor:pointer}.attendanceChoice input{position:absolute;opacity:0;pointer-events:none}.attendanceSquare{width:32px;height:32px;border-radius:7px;border:2px solid currentColor;display:grid;place-items:center;font-size:22px;font-weight:950;line-height:1;background:rgba(255,255,255,.03);transition:transform .12s,background .12s,color .12s}.attendanceChoice.red{color:#e5484d}.attendanceChoice.yellow{color:#f5c542}.attendanceChoice.green{color:#3ecf8e}.attendanceChoice.blue{color:#3b82f6}.attendanceChoice input:checked+.attendanceSquare{color:#071018;transform:scale(1.06);box-shadow:0 0 0 2px rgba(255,255,255,.18)}.attendanceChoice.red input:checked+.attendanceSquare{background:#e5484d}.attendanceChoice.yellow input:checked+.attendanceSquare{background:#f5c542}.attendanceChoice.green input:checked+.attendanceSquare{background:#3ecf8e}.attendanceChoice.blue input:checked+.attendanceSquare{background:#3b82f6}.attendanceChoice input:checked+.attendanceSquare:after{content:attr(data-mark)}.attendanceChoice input:focus-visible+.attendanceSquare{outline:3px solid #fff;outline-offset:2px}.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.attendanceStats{grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0}.attendanceStat.red{border-color:rgba(229,72,77,.5)}.attendanceStat.yellow{border-color:rgba(245,197,66,.5)}.attendanceStat.green{border-color:rgba(62,207,142,.5)}.attendanceStat.blue{border-color:rgba(59,130,246,.5)}.attendanceNames{border-left:4px solid;padding-left:9px}.attendanceNames.red{border-color:#e5484d}.attendanceNames.yellow{border-color:#f5c542}.attendanceNames.green{border-color:#3ecf8e}.attendanceNames.blue{border-color:#3b82f6}.attendanceCard p{margin:8px 0 0}@media(max-width:620px){.attendanceRow{align-items:flex-start;flex-direction:column}.attendanceChoices{width:100%;grid-template-columns:repeat(4,1fr)}.attendanceSquare{width:100%;height:38px}.attendanceLegend{grid-template-columns:1fr 1fr}.attendanceStats{grid-template-columns:1fr 1fr}}
.attendanceCategoryMenu{border:1px solid var(--line);border-radius:16px;background:#0c1016;overflow:hidden}.attendanceCategoryMenu summary{position:relative;padding:12px;display:grid;gap:3px;cursor:pointer;list-style:none;background:#151a22}.attendanceCategoryMenu summary::-webkit-details-marker{display:none}.attendanceCategoryMenu summary:after{content:'';position:absolute;right:14px;align-self:center;color:#ff7b87;font-size:22px;font-weight:950}.attendanceCategoryMenu[open] summary:after{content:''}.attendanceCategoryMenu summary b{color:#f4f6fb;padding-right:28px}.attendanceCategoryMenu summary small{color:#aab2c0;font-weight:750}.attendanceCategoryPicker{gap:7px;padding:12px}.attendanceCategoryPicker .checkPill{flex:1 1 72px;justify-content:center}.attendanceCategoryPicker .checkPill:has(input:checked){background:#251014;border-color:#d71932;color:#fff}.attendanceCategoryPicker input{accent-color:#d71932}
.attendanceHomeLink{display:none}.parentMode .attendanceHomeLink{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}@media(max-width:560px){.parentMode #asistencia .pageTitle{align-items:stretch}.parentMode .attendanceHomeLink{width:100%}}
.professorNav{display:none}.professorMode .professorNav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:8px;border:1px solid var(--line);border-radius:18px;background:#0c1016;position:sticky;top:8px;z-index:20}.professorNav a{min-height:44px;border-radius:12px;color:#c7ceda;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;font-weight:900}.professorNav a:hover{background:#1a202b;color:#fff}.professorMode[data-professor-view="inicio"] .professorNav a[href="/profes"],.professorMode[data-professor-view="asistencia"] .professorNav a[href="/profes/asistencia"],.professorMode[data-professor-view="resultados"] .professorNav a[href="/profes/resultados"],.professorMode[data-professor-view="fixture"] .professorNav a[href="/profes/fixture"]{background:#d71932;color:#fff}.professorHome{max-width:900px;margin:0 auto}.professorHero{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;padding:20px;margin-bottom:16px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#251014,#10141b)}.professorHero img{width:96px;height:96px;object-fit:contain;background:#fff;border-radius:20px;padding:6px}.professorHero span{color:#ff7b87;font-size:12px;font-weight:950;text-transform:uppercase}.professorHero h2{margin:4px 0;font-size:36px;color:#fff}.professorHero p{margin:0;color:#c7ceda;font-weight:750}.professorGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.professorTile{min-height:170px;border:1px solid var(--line);border-radius:20px;background:#10141b;color:#f4f6fb;padding:20px;display:grid;align-content:end;gap:8px;box-shadow:0 18px 44px rgba(0,0,0,.24)}.professorTile:hover{transform:translateY(-2px);border-color:#d71932}.professorTile strong{font-size:22px}.professorTile span{color:#aab2c0;font-weight:700;line-height:1.4}.professorTile.attendance{background:linear-gradient(160deg,#123525,#10141b 68%)}.professorTile.results{background:linear-gradient(160deg,#172a4b,#10141b 68%)}.professorTile.fixture{background:linear-gradient(160deg,#3a2910,#10141b 68%)}.professorNotice{margin-top:14px;padding:14px 16px;border-radius:16px;background:#10291e;color:#75e0ad;font-weight:850;text-align:center}.professorMode .topbar,.professorMode>.parentBrand{display:none!important}@media(max-width:680px){.professorNav{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.professorGrid{grid-template-columns:1fr}.professorTile{min-height:120px}.professorHero{grid-template-columns:72px 1fr;padding:16px}.professorHero img{width:72px;height:72px}.professorHero h2{font-size:28px}}

.settingsSplit{margin-bottom:14px}.settingsSplit textarea{min-height:130px}.coachCard{border-left:4px solid #d71932}.coachTop{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center}.coachInfo{min-width:0}.coachInfo>b{display:block;font-size:17px;line-height:1.15}.coachMeta{align-self:start;display:grid;gap:8px;justify-items:end;text-align:right;min-width:92px}.coachMeta strong{font-size:19px;line-height:1;color:#f4f6fb}.coachMeta strong+strong{color:#ff7b87}.coachSchedule{margin-top:8px;padding:8px 10px;border-radius:12px;background:#151a22;color:#dce2ec;font-size:13px;font-weight:800;line-height:1.35}.coachPhoto{width:62px;height:62px;border-radius:14px;object-fit:cover;background:#fff;border:1px solid var(--line);flex:0 0 auto}.coachPhoto.placeholder{display:grid;place-items:center;background:#251014;color:#ff7b87;font-weight:950}.coachCard .chip{margin-top:6px}@media(max-width:420px){.coachTop{grid-template-columns:54px 1fr auto;gap:10px}.coachPhoto{width:54px;height:54px}.coachMeta{min-width:78px}.coachMeta strong{font-size:16px}.coachInfo>b{font-size:16px}.coachSchedule{font-size:12px}}

.staffTabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.staffActivityTabs{grid-template-columns:minmax(0,1fr);width:100%;margin-bottom:8px}.staffActivityTabs button,.staffTeamControl,.staffTeamDropdown,.coachSortHint{width:100%;min-width:0}.staffActivityTabs button{min-height:50px}.staffActivityTabs button:only-child{grid-column:1 / -1;width:100%}.staffTabs button{min-height:58px;border:1px solid var(--line);border-radius:16px;background:#151a22;color:#f4f6fb;font-weight:950;text-align:center;padding:12px}.staffTabs button.on,.staffTabs button:hover{background:#251014;border-color:#d71932;color:#ff7b87}.staffList{display:grid;gap:10px;margin-bottom:14px}.coachManager{margin-top:14px}.coachModeButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.coachModeButtons button{min-height:52px;border-radius:16px;background:#151a22;color:#f4f6fb;border:1px solid var(--line);font-weight:950}.coachModeButtons button.on,.coachModeButtons button:hover{background:#d71932;color:#fff;border-color:#d71932}.coachManagePanel{margin-top:14px}.coachPickRow{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;background:#0b0f15;color:#f4f6fb;padding:12px;margin:8px 0;text-align:left;text-transform:none}.coachPickRow input{width:22px;min-height:22px;accent-color:#d71932}.coachPickRow span{display:grid;gap:3px;flex:1}.coachPickRow small{color:#aab2c0;font-weight:800}.coachPickRow strong{color:#ff7b87}.fullButton{width:100%;margin-top:10px}.crestConfig{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center}.crestConfig img{width:92px;height:92px;object-fit:contain;background:#fff;border-radius:18px;padding:6px;border:1px solid var(--line)}@media(max-width:520px){.crestConfig{grid-template-columns:1fr}.crestConfig img{width:86px;height:86px}.staffTabs{grid-template-columns:1fr 1fr}.coachModeButtons{grid-template-columns:repeat(3,minmax(0,1fr))}.coachModeButtons button{font-size:12px;padding:0 5px}}

.checkGroup{display:flex;flex-wrap:wrap;gap:8px}.checkPill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#151a22;color:#f4f6fb;padding:8px 10px;font-size:13px;font-weight:900;text-transform:none;cursor:pointer}.checkPill input{width:auto;min-height:0;accent-color:#d71932}.checkPill span{line-height:1}

.quickMenu{position:absolute;top:72px;left:26px;z-index:70;width:min(340px,calc(100% - 52px));display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 22px 60px rgba(0,0,0,.42)}.quickMenu.hide{display:none}.quickMenu button{min-height:48px;border-radius:14px;background:#151a22;color:#f4f6fb;text-align:left;padding:0 14px;font-weight:900;border:1px solid transparent;display:flex;align-items:center;gap:12px}.quickMenu .menuIcon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center}.quickMenu .menuIcon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.quickMenu button:hover{border-color:#d71932;background:#1a202b}.quickMenu .homeItem{background:#d71932;color:#fff}.quickMenu .configItem{background:#251014;color:#ff7b87}.app{position:relative}@media(max-width:900px){.quickMenu{top:68px;left:16px;right:16px;width:auto}.quickMenu button{min-height:50px}}

.quickMenu .sessionItem{margin-top:6px;background:#202632;color:#dce2ec;border-color:#2a303b}.loginCard{display:grid;gap:14px}.logoutBtn{width:100%}
.userPicker{margin-top:-8px;border:1px solid #d71932;border-radius:14px;background:#10141b;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.32)}.userPicker.hide{display:none}.userPicker button{width:100%;min-height:44px;background:#151a22;color:#f4f6fb;text-align:left;padding:0 14px;font-weight:950}.userPicker button:hover{background:#251014;color:#ff7b87}

.launchLink{min-height:40px;border-radius:999px;background:#251014;color:#ff7b87;border:1px solid #d71932;padding:0 16px;font-weight:950}.launchLink:hover{background:#d71932;color:#fff}

.authLocked .bottomTabs,.authLocked .sidebar{display:none!important}.authLocked .app{padding-bottom:36px}
.licenseBadge{display:grid;gap:3px;margin:8px 0 12px;padding:12px;border:1px solid #384253;border-radius:14px;background:#11161e;color:#f4f6fb}.licenseBadge b{font-size:16px}.licenseBadge span{color:#aeb7c6;font-size:13px}.licenseBadge.active{border-color:#1f8f5f;background:#10291e}.licenseBadge.invalid,.licenseBadge.expired{border-color:#d71932;background:#2b1217}.licenseBadge.demo{border-color:#d88426;background:#2b2112}.licenseDevHint{margin-top:10px;border:1px dashed #384253;border-radius:12px;padding:10px}.licenseDevHint summary{cursor:pointer;font-weight:900}.licenseDevHint code{display:block;margin-top:8px;padding:10px;border-radius:10px;background:#050607;color:#7ee787;word-break:break-all}.driveOpenLink{margin-top:10px;width:max-content}
.licenseNotice{display:none}.licenseNotice.on{position:fixed;left:50%;top:12px;z-index:700;transform:translateX(-50%);width:min(560px,calc(100vw - 24px));display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 14px;border:1px solid #d71932;border-radius:16px;background:#2b1217;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.45)}.licenseNotice b{font-size:15px}.licenseNotice span{color:#ffd5da;font-size:13px}.licenseNotice button{grid-row:1/3;grid-column:2;border-radius:12px;background:#e2122b;color:#fff;font-weight:900;padding:9px 12px}@media(max-width:560px){.licenseNotice.on{grid-template-columns:1fr;top:auto;bottom:12px}.licenseNotice button{grid-row:auto;grid-column:auto;width:100%}}

.launchActions{display:grid;gap:10px;justify-items:center;width:min(280px,100%)}.launchActions .launchLink{width:100%;justify-content:center}.launchLink.primaryLaunch{background:#d71932;color:#fff}.launchLink.primaryLaunch:hover{background:#ff304a}
.professorMode .professorNav{grid-template-columns:repeat(5,minmax(0,1fr))}.professorLocked .professorNav{display:none}.professorNav button{min-height:44px;border:0;border-radius:12px;background:transparent;color:#ff7b87;font-size:13px;font-weight:900;padding:6px}.professorNav button:hover{background:#1a202b;color:#fff}.professorLogin{min-height:calc(100vh - 48px);place-items:center}.professorLogin.view.on{display:grid}.professorLoginCard{width:min(430px,100%);padding:26px;border:1px solid var(--line);border-radius:24px;background:#10141b;box-shadow:0 24px 70px rgba(0,0,0,.48);text-align:center}.professorLoginCard>img{width:90px;height:90px;object-fit:contain;background:#fff;border-radius:20px;padding:6px}.professorLoginCard>span{display:block;margin-top:12px;color:#ff7b87;font-size:12px;font-weight:950;text-transform:uppercase}.professorLoginCard h2{margin:5px 0;color:#fff;font-size:30px}.professorLoginCard p{color:#aab2c0;line-height:1.45}.professorLoginCard .form{text-align:left;margin-top:18px}.professorLoginError{min-height:22px;margin-top:10px;color:#ff7b87;font-weight:850}.professorUsersCard{margin-top:14px}.professorUserList{display:grid;gap:8px;margin-top:16px}.professorUserRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#0c1016}.professorUserRow>div{display:grid;gap:3px}.professorUserRow span{color:#aab2c0;font-size:13px;font-weight:750}@media(max-width:680px){.professorMode .professorNav{grid-template-columns:repeat(2,minmax(0,1fr))}.professorNav button{grid-column:1/-1}.professorUserRow{align-items:stretch;flex-direction:column}.professorUserRow button{width:100%}}
.professorBrands{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.professorBrands>div{display:grid;justify-items:center;gap:7px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#0c1016}.professorBrands img{width:82px;height:82px;object-fit:contain;background:#fff;border-radius:16px;padding:5px}.professorBrands small{color:#c7ceda;font-size:10px;font-weight:900;line-height:1.2}.professorHeroLogos{display:flex;align-items:center}.professorHeroLogos img{width:82px;height:82px;margin-right:-12px;border:3px solid #fff}.professorHeroLogos img:last-child{transform:translateY(10px)}
.professorProductBrand{display:grid;justify-items:center;gap:6px;margin-bottom:22px}.professorProductBrand img{width:76px;height:76px;object-fit:contain}.professorProductBrand small{color:#c7ceda;font-size:11px;font-weight:950;letter-spacing:.08em}.professorClubMark{display:grid;justify-items:center;gap:7px;margin:0 auto 8px}.professorClubMark img{width:96px;height:96px;object-fit:contain}.professorClubMark small{color:#ff7b87;font-size:12px;font-weight:950;text-transform:uppercase}
.professorProductBrand img,
.professorHeroLogos img[data-professor-app-logo]{
  padding:6px;
  border:2px solid #3b8cff!important;
  border-radius:18px;
  background:#f7f9fc!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.16),0 10px 25px rgba(0,0,0,.42);
}
.installAppButton{
  border:0;
  border-radius:999px;
  padding:12px 20px;
  background:#e30613;
  color:#fff;
  font:inherit;
  font-weight:800;
  box-shadow:0 8px 20px rgba(227,6,19,.25);
  cursor:pointer;
}
.scoreMeta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px 14px;
  padding:14px 16px;
  background:rgba(255,255,255,.035);
  border-bottom:1px solid rgba(255,255,255,.1);
  font-size:.9rem;
}
.scoreMeta span{display:block}
.scoreMeta b{color:#fff}
.scoreMeta .scoreNote{grid-column:1/-1}
.missingRound{
  padding:14px 16px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.missingRound h4{margin:0 0 6px}
.missingRound p{margin:0;color:#9ca7ba}
.resultTabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:4px 0 14px;
  scrollbar-width:thin;
}
.resultTab{
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:10px 15px;
  background:#151a22;
  color:#c8d0df;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.resultTab.on{
  border-color:#e30613;
  background:#e30613;
  color:#fff;
  box-shadow:0 6px 18px rgba(227,6,19,.25);
}
.resultTabPanel{display:none}
.resultTabPanel.on{display:block}
.financeTabs{display:flex;gap:8px;margin:0 0 14px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#0c1016;overflow-x:auto}.financeTabs button{flex:1;min-width:145px;min-height:44px;border-radius:12px;background:#151a22;color:#c7ceda;font-weight:900}.financeTabs button.on{background:#d71932;color:#fff}.financeTabs span{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:6px;padding:0 6px;border-radius:999px;background:#252c37;color:#fff;font-size:12px}.financeTabs button.on span{background:#fff;color:#d71932}
.sharePaymentCard{display:grid;grid-template-columns:1fr 150px;gap:18px;align-items:center;margin-bottom:14px;background:linear-gradient(135deg,#10141b,#171d27)}.sharePaymentCard>div>span{color:#ff6b7a;font-size:11px;font-weight:900;text-transform:uppercase}.sharePaymentCard h3{font-size:22px;margin:5px 0}.sharePaymentCard .url{font-size:13px}.sharePaymentCard>img{width:150px;height:150px;border-radius:14px;background:#fff;padding:8px}@media(max-width:620px){.sharePaymentCard{grid-template-columns:1fr;text-align:center}.sharePaymentCard>img{grid-row:1;margin:auto}.sharePaymentCard .actions{justify-content:center}}
.developerCredit{position:fixed;right:14px;bottom:10px;z-index:110;display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(12,16,22,.86);color:#bbc3cf;font-family:"Trebuchet MS","Segoe UI",sans-serif;font-size:10px;font-style:italic;letter-spacing:.04em;backdrop-filter:blur(8px);pointer-events:none}.developerCredit img{display:block;width:138px;height:42px;object-fit:contain}@media(max-width:900px){.developerCredit{right:8px;bottom:7px;padding:4px 8px}.developerCredit>span{display:none}.developerCredit img{width:116px;height:36px}.professorMode .developerCredit,.parentMode .developerCredit{bottom:7px}}
.lockedField{min-height:42px;display:flex;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#202632;color:#fff}.feeCalculation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#0c1016}.feeCalculation>div{display:grid;gap:4px;padding:9px;border-radius:10px;background:#151a22}.feeCalculation span{color:#9ca7ba;font-size:11px;font-weight:900;text-transform:uppercase}.feeCalculation strong{font-size:17px}.feeCalculation.late{border-color:#f5c542}.feeCalculation.late .feeTotal{background:#3a3013;color:#ffe58a}.feeCalculation.ok .feeTotal{background:#10291e;color:#75e0ad}.feeConfigBox{padding:14px;border:1px solid #4b3d16;border-radius:14px;background:#27220f}.feeConfigBox h4{margin:0 0 12px;color:#ffe58a}@media(max-width:620px){.feeCalculation{grid-template-columns:1fr}}
.configSubheading{margin:12px 0 0;color:#fff}.fixtureLogos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fixtureSchedule{border:1px solid var(--line);border-radius:14px;overflow:hidden}.fixtureScheduleHead,.fixtureScheduleRow{display:grid;grid-template-columns:1fr 130px;gap:12px;align-items:center;padding:8px 11px;border-bottom:1px solid var(--line)}.fixtureScheduleHead{background:#151a22;color:#9ca7ba;font-size:11px;font-weight:900;text-transform:uppercase}.fixtureScheduleRow:last-child{border-bottom:0}.fixtureScheduleRow strong{color:#fff}.fixtureScheduleRow input{min-height:38px}.fixtureIdentity{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:12px;padding:12px;border-radius:14px;background:#0c1016}.fixtureIdentity>b{color:#ff6b7a}.fixtureClub{display:grid;justify-items:center;gap:6px;text-align:center;font-weight:900}.fixtureClub img,.fixtureCrestPlaceholder{width:58px;height:58px;border-radius:13px;object-fit:contain;background:#fff;padding:4px}.fixtureCrestPlaceholder{display:grid;place-items:center;color:#d71932;font-size:18px}.fixtureLeagueLogo{max-width:84px;max-height:50px;object-fit:contain;background:#fff;border-radius:10px;padding:4px;margin:9px 4px}.fixtureTimes{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px;margin-top:11px}.fixtureTimes>div{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:#151a22}.fixtureTimes span{color:#c7ceda}.fixtureNotice{margin-top:12px;padding:11px 13px;border-left:4px solid #f5c542;border-radius:10px;background:#2c2715;color:#ffe58a;font-weight:800}
.securityAuditCard{margin-top:18px}.securityAuditCard>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.securityAuditCard>summary::-webkit-details-marker{display:none}.securityAuditCard>summary:after{content:'+';font-size:25px;color:#ff5a6b}.securityAuditCard[open]>summary:after{content:'-'}.securityAuditCard summary span{display:grid;gap:4px}.securityAuditCard summary small{color:#aeb7c6;font-weight:600}.securityAuditList{display:grid;gap:8px;margin-top:16px;max-height:430px;overflow:auto}.securityAuditItem{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#10151d}.securityAuditItem>div{display:flex;justify-content:space-between;gap:10px}.securityAuditItem b{color:#6ee7a8;font-size:12px}.securityAuditItem span{color:#fff;font-weight:800}.securityAuditItem small{display:block;margin-top:5px;color:#aeb7c6}.securityAuditItem p{margin:6px 0 0;color:#cbd2dd}.emptyAudit{padding:16px;text-align:center;color:#aeb7c6}
.pageIntro{margin:-3px 0 14px;color:#9ca7ba}
#partidos .roundGrid{display:flex;overflow-x:auto;gap:8px;padding:2px 0 10px;margin-bottom:10px;scrollbar-width:thin}
#partidos .roundChip{flex:0 0 104px;min-height:48px}
.eventSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.eventSummary>div{display:grid;gap:4px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:#10141b}
.eventSummary span{color:#9ca7ba;font-size:11px;font-weight:900;text-transform:uppercase}
.eventSummary strong{font-size:20px;color:#fff}
.eventWorkspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:16px}
.eventFormCard{position:sticky;top:14px}
.cardHint{margin:-3px 0 14px;font-size:13px;line-height:1.45}
.sectionHeading span{display:block;color:#ff6b7a;font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:3px}
.sectionHeading h3{font-size:21px;margin:0 0 12px}
.eventResultsCard{min-width:0}.eventResultsCard .resultTabs{display:none}.eventResultsCard .resultTabPanel{display:block}
@media(min-width:901px){.bottomTabs{display:none}.app{padding-bottom:40px}}
@media(max-width:900px){.eventSummary{grid-template-columns:1fr 1fr}.eventSummary>div:first-child{grid-column:1/-1}.eventWorkspace{grid-template-columns:1fr}.eventFormCard{position:static;order:2}.eventResultsCard{order:1}#partidos .roundChip{flex-basis:96px}.fixtureLogos{grid-template-columns:1fr}.fixtureScheduleHead,.fixtureScheduleRow{grid-template-columns:1fr 115px}}
.resultLoadNotice{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:12px 14px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.13);
}
#resultLoadStatus{grid-column:1/-1}
.datePickerField{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
}
.datePickerField input[type="date"]{color-scheme:dark;min-width:0}
.calendarButton{
  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;
  padding:0 14px;
  background:#202733;
  color:#fff;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
@media(max-width:620px){
  .datePickerField{grid-template-columns:1fr}
  .calendarButton{min-height:46px}
}
.resultLoadNotice span{color:#aeb7c7}
.resultLoadNotice button{margin-left:auto}
.resultLoadNotice.available{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.08)}
.resultLoadNotice.locked{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.09)}
.resultLoadNotice.editing{border-color:rgba(59,130,246,.55);background:rgba(59,130,246,.1)}
.globalClubBrand{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0 auto 18px;padding:8px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}
.globalClubBrand img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.globalClubBrand div{display:grid;gap:2px}
.globalClubBrand small{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}
.globalClubBrand strong{font-size:15px;line-height:1.15}
.parentMode .globalClubBrand{display:none}
@media(max-width:900px){.globalClubBrand{margin-top:-8px;margin-bottom:16px;box-shadow:none}.globalClubBrand img{width:38px;height:38px}}
.launchScreen{overflow:auto}
.launchInner.crestIntro{gap:10px;width:min(520px,100%);padding:24px 18px}
.launchAppBrand{display:grid;justify-items:center;gap:6px}
.launchAppLogo{
  width:92px;
  height:92px;
  object-fit:contain;
  padding:7px;
  border:2px solid #3b8cff;
  border-radius:20px;
  background:#f7f9fc;
  box-shadow:0 0 0 3px rgba(255,255,255,.16),0 12px 28px rgba(0,0,0,.4);
}
.launchAppBrand h1{margin:0;font-size:clamp(30px,6vw,44px);line-height:1;color:#fff}
.launchAppBrand p{margin:0;color:#dce2ec;font-size:16px;font-weight:800}
.launchClubDivider{width:86px;height:3px;margin:5px 0;border-radius:999px;background:linear-gradient(90deg,#d0182f,#d5a72f)}
.launchClubLabel{margin:0!important;color:#aeb7c7!important;font-size:11px;font-weight:900!important;text-transform:uppercase;letter-spacing:.12em}
.crestIntro h2{margin:0;max-width:440px;color:#fff;font-size:clamp(22px,5vw,32px);line-height:1.1}
.launchInner .crestButton{width:132px;height:132px;margin-top:2px}
.launchInner .crestButton img{width:108px;height:108px}
@media(max-width:520px){.launchAppLogo{width:76px;height:76px}.launchInner.crestIntro{padding-top:18px;padding-bottom:18px}.launchAppBrand p{font-size:14px}.launchInner .crestButton{width:122px;height:122px}.launchInner .crestButton img{width:100px;height:100px}}
.professorMode .parentBrand{display:none!important}
.financeTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.financeTabs button{min-width:0;padding:6px 8px;line-height:1.1}
.payFilters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.payFilterField{display:grid;gap:7px;min-width:0}
.payFilterField>span{color:#aeb7c5;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.payFilterField select{min-width:0}
.payFilterField select{background:#0c1016;color:#f4f6fb;border-color:#343b47;font-weight:850;color-scheme:dark}
.payFilterField select:focus{border-color:#d71932;box-shadow:0 0 0 3px rgba(215,25,50,.18)}
.payFilterField select option{background:#0c1016;color:#f4f6fb}
@media(max-width:420px){.financeTabs{gap:5px;padding:5px}.financeTabs button{font-size:12px;padding:5px 4px}.financeTabs span{display:grid;margin:4px auto 0}.payFilters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media(max-width:680px){
  .professorHero{grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px;padding:20px 16px}
  .professorHeroLogos{justify-content:center;gap:10px}
  .professorHeroLogos img{width:72px;height:72px;margin:0;border:2px solid #fff}
  .professorHeroLogos img:last-child{transform:none}
  .professorHero h2{margin:6px 0;font-size:28px;line-height:1.08;overflow-wrap:anywhere}
  .professorHero p{max-width:280px;line-height:1.35}
}
.professorHero{grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px}
.professorHeroLogos{justify-content:center;gap:12px}
.professorHeroLogos img{margin:0}
.professorHeroLogos img:last-child{transform:none}
.professorHero h2{line-height:1.08;overflow-wrap:anywhere}
.fixtureTimes{grid-template-columns:1fr;gap:6px}
.fixtureTimes>div{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;padding:9px 12px}
.fixtureTimes>div strong{text-align:left}
.fixtureTimes>div span{text-align:right;min-width:72px}
.resultRoundPicker{margin:0 0 14px;border:1px solid var(--line);border-radius:15px;background:#0c1016;overflow:hidden}
.resultRoundPicker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:11px 14px;cursor:pointer;list-style:none;color:#c8d0df;font-weight:850}
.resultRoundPicker summary::-webkit-details-marker{display:none}
.resultRoundPicker summary::after{content:"";color:#ff6b7a;font-size:20px;line-height:1}
.resultRoundPicker[open] summary::after{transform:rotate(180deg)}
.resultRoundPicker summary span{flex:1}
.resultRoundPicker summary strong{color:#fff}
.resultRoundPicker .resultTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:260px;overflow-x:hidden;overflow-y:auto;padding:8px 10px 12px;border-top:1px solid var(--line)}
.resultRoundPicker .resultTab{width:100%;padding:10px 8px;border-radius:10px;text-align:center}
.resultRoundPicker .resultTab.played,.resultRoundPicker .resultTab.played.on{border-color:#1f9d65;background:#167548;color:#fff;box-shadow:0 6px 18px rgba(31,157,101,.2)}
.resultRoundPicker .resultTab.suspended,.resultRoundPicker .resultTab.suspended.on{border-color:#e13b4f;background:#a91f32;color:#fff;box-shadow:0 6px 18px rgba(225,59,79,.22)}
.resultRoundPicker .resultTab.pending,.resultRoundPicker .resultTab.pending.on{border-color:#e2ae24;background:#8a6511;color:#fff5c4;box-shadow:0 6px 18px rgba(226,174,36,.18)}
.suspendedRound{border-color:#a91f32;background:rgba(169,31,50,.1)}
.suspendedRound h4,.suspendedRound p{color:#ff7b87}
#partidos .roundGrid{display:block;overflow:visible;padding:0;margin:0 0 12px}
.roundPickerAdmin{border:1px solid var(--line);border-radius:15px;background:#0c1016;overflow:hidden}
.roundPickerAdmin summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:11px 14px;cursor:pointer;list-style:none;color:#c8d0df;font-weight:850}
.roundPickerAdmin summary::-webkit-details-marker{display:none}
.roundPickerAdmin summary::after{content:"";color:#ff6b7a;font-size:20px;line-height:1}
.roundPickerAdmin[open] summary::after{transform:rotate(180deg)}
.roundPickerAdmin summary span{flex:1}
.roundPickerAdmin summary strong{color:#fff}
.roundPickerGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:270px;overflow-y:auto;padding:9px 10px 12px;border-top:1px solid var(--line)}
#partidos .roundPickerGrid .roundChip{width:100%;min-height:46px;min-width:0;flex:none;padding:7px 8px}
#partidos .roundChip.played,#partidos .roundChip.played.on{border-color:#1f9d65;background:#167548;color:#fff}
#partidos .roundChip.suspended,#partidos .roundChip.suspended.on{border-color:#e13b4f;background:#a91f32;color:#fff}
#partidos .roundChip.pending,#partidos .roundChip.pending.on{border-color:#e2ae24;background:#8a6511;color:#fff5c4}
#partidos .roundChip.all.on{border-color:#d71932;background:#d71932;color:#fff}
@media(max-width:620px){.roundPickerGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.roundPickerBody{max-height:380px;overflow-y:auto;padding:10px;border-top:1px solid var(--line)}.roundAllRow{display:grid;grid-template-columns:minmax(150px,1fr);margin-bottom:12px}.roundAllRow .roundChip{width:100%}.roundMonthGroup{margin:0 0 16px}.roundMonthGroup:last-child{margin-bottom:0}.roundMonthGroup h4{margin:0 0 8px;padding:0 4px;color:#f4f6fb;font-size:15px;text-transform:capitalize}.roundPickerBody .roundPickerGrid{max-height:none;overflow:visible;padding:0;border-top:0}.roundPickerBody .roundChip strong{display:grid;gap:2px;text-align:left}.roundPickerBody .roundChip strong small{color:inherit;font-size:11px;font-weight:750;opacity:.82}
.developerCredit{left:50%;right:auto;bottom:10px;transform:translateX(-50%);width:min(512px,calc(100vw - 20px));height:152px;justify-content:center;padding:0;border:0;background:transparent;box-shadow:none;opacity:.72;backdrop-filter:none;pointer-events:auto;cursor:pointer;transition:all .22s ease}
.developerCredit img{width:min(464px,calc(100vw - 32px));height:144px;object-fit:contain}
.developerCredit>span{display:none}
.developerCredit.expanded{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 28px));height:min(520px,calc(100vh - 40px));padding:28px;background:#fff;border:4px solid #fff;border-radius:28px;box-shadow:0 24px 90px rgba(0,0,0,.75);opacity:1;z-index:500}
.developerCredit.expanded img{width:min(720px,calc(100vw - 70px));height:min(420px,calc(100vh - 90px))}
.developerCredit.mainOnlyHidden{display:none}
@media(max-width:900px){.developerCredit{left:50%;right:auto;bottom:82px;transform:translateX(-50%);width:calc(100vw - 20px);height:152px;padding:0;opacity:.68}.developerCredit img{width:calc(100vw - 32px);max-width:464px;height:144px}.professorMode .developerCredit,.parentMode .developerCredit{bottom:10px}.developerCredit.expanded,.professorMode .developerCredit.expanded,.parentMode .developerCredit.expanded{top:50%;bottom:auto;width:calc(100vw - 24px);height:min(440px,calc(100vh - 32px));padding:20px;opacity:1}.developerCredit.expanded img{width:calc(100vw - 64px);height:min(360px,calc(100vh - 80px))}}
@media(max-width:620px){.resultRoundPicker .resultTabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sideNav button{display:flex;align-items:center;gap:11px}.sideNav button::before{content:"";width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:8px;background:#171c25;font-size:15px;line-height:1}.sideNav button.on::before{background:#3a161d;color:#ff6b7a;box-shadow:inset 0 0 0 1px rgba(255,107,122,.22)}
.sideNav button::before{content:""!important;width:20px;height:20px;flex-basis:20px;border-radius:0;background-color:currentColor!important;box-shadow:none!important;filter:none;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:19px 19px;mask-position:center;mask-repeat:no-repeat;mask-size:19px 19px}.sideNav button[data-v="panel"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="jugadores"]::before,.sideNav button[data-v="cuerpoTecnico"]::before,.sideNav button[data-v="padres"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c0-4 2-6 6-6s6 2 6 6M16 5a3 3 0 0 1 0 6M17 14c3 0 4 2 4 5'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="asistencia"]::before,.sideNav button[data-v="inscripciones"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l2 2 4-4'/%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 3V1h6v2'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="cuotas"]::before,.sideNav button[data-v="pagosProfes"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="indumentaria"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4l4 2 4-2 5 3-3 5-2-1v10H8V11l-2 1-3-5 5-3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}.sideNav button[data-v="fichajes"]::before,.sideNav button[data-v="resultadoPadres"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 3h12v18H6zM9 8h6M9 12h6M9 16h4'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="pagosBaby"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9l3-2 3 2-1 4h-4L9 9zM5 9l4 0M15 9h4M8 17l2-4M14 13l2 4'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="partidos"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="qr"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h3v3h-3zM19 14h2v7h-7v-2'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="ajustes"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2 2M17 17l2 2M19 5l-2 2M7 17l-2 2'/%3E%3C/g%3E%3C/svg%3E")}
.sidebar{background:#090a0c;padding:20px 14px;border-right:1px solid #22252b}.sidebar .brand{padding:0 8px 18px;margin-bottom:8px;border-bottom:1px solid #22252b}.sideNav{gap:4px}.sideNav button{min-height:52px;padding:0 13px;border-radius:9px;color:#e4e5e9;font-size:15px;font-weight:800;gap:14px;transition:background .16s ease,color .16s ease,transform .16s ease}.sideNav button::before{width:23px;height:23px;flex-basis:23px;-webkit-mask-size:22px 22px;mask-size:22px 22px;opacity:.9}.sideNav button:hover{background:#202124;color:#fff;transform:translateX(2px)}.sideNav button.on{background:#e2122b;color:#fff}.sideNav button.on::before{opacity:1}.sideNav button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sideNav button[data-v="pagosBaby"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.25'/%3E%3Cpath d='M9.15 9.05 12 7l2.85 2.05-1.08 3.35h-3.54L9.15 9.05ZM12 7l-.55-4.18M9.15 9.05 5.1 7.75M10.23 12.4l-2.5 3.45M13.77 12.4l2.5 3.45M14.85 9.05l4.05-1.3M7.73 15.85l-3.48.15M16.27 15.85l3.48.15M7.73 15.85 9.3 20.4M16.27 15.85l-1.57 4.55'/%3E%3C/g%3E%3C/svg%3E")}
.sideNav button[data-v="fichajes"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M17 6.5c0-2-2-3-5-3s-5 1.3-5 3.5 2 3.2 5 3.8 5 1.5 5 3.8-2 4-5 4-5-1.2-5-3.5'/%3E%3C/g%3E%3C/svg%3E")}.sideNav button[data-v="asistencia"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V2h6v2M9 12l2 2 4-5'/%3E%3C/g%3E%3C/svg%3E")}
.sidebar .brand{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center}.sidebar .brandLogo{width:56px;height:56px;border-radius:50%;padding:3px}.sidebarBrandText{min-width:0}.sidebarBrandText h1{font-size:17px;line-height:1.2}.sidebarBrandText p{font-size:12px;color:#d6d8dd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebarHome{width:42px;height:42px;border-radius:10px;background:transparent;color:#d8dadd;position:relative}.sidebarHome::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");content:"";position:absolute;inset:9px;background:currentColor;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.sidebarHome:hover{background:#202124;color:#fff}
.adminHomeGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.adminHomeGrid .moduleTile{min-height:180px;padding:26px;border-radius:15px;background:#fff;border:1px solid #dddfe4;box-shadow:0 2px 4px rgba(0,0,0,.12);gap:12px}.adminHomeGrid .moduleTile:hover{background:#fff;border-color:#e2122b;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12)}.adminHomeGrid .tileIcon{width:55px;height:55px;border-radius:11px;background:#f9e7ea;color:#e2122b}.adminHomeGrid .tileIcon svg{width:28px;height:28px}.adminHomeGrid .moduleTile strong{font-size:20px;color:#111}.adminHomeGrid .moduleTile small{font-size:16px;color:#777;font-weight:500}@media(max-width:1100px){.adminHomeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.adminHomeGrid{grid-template-columns:1fr;gap:12px}.adminHomeGrid .moduleTile{min-height:130px;padding:18px}}
.sidebar{height:100vh;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#555 #090a0c}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background:#090a0c}.sidebar::-webkit-scrollbar-thumb{background:#4b4d52;border-radius:10px;border:2px solid #090a0c}.sidebar .sideNav{padding-bottom:22px}
.globalClubBrand{padding:14px 22px;gap:14px;background:#fff;border-color:#e1e3e7;box-shadow:0 5px 16px rgba(0,0,0,.16)}.globalClubBrand img{width:60px;height:60px}.globalClubBrand small{font-size:11px;color:#666}.globalClubBrand strong{font-size:19px;color:#111}.bottomTabs{background:#fff;border-color:#dfe2e7;box-shadow:0 -8px 24px rgba(0,0,0,.12)}.bottomTabs button{background:#f2f3f6;color:#30343a}.bottomTabs button.on{background:#e2122b;color:#fff}@media(max-width:900px){.globalClubBrand{margin-top:-4px;margin-bottom:20px;padding:13px 18px;border-radius:18px}.globalClubBrand img{width:56px;height:56px}.globalClubBrand strong{font-size:18px}.bottomTabs{background:#fff}}
:root{--club-accent:#e2122b;--club-background:#24282f;--club-sidebar:#090a0c}body{background:var(--club-background)}.sidebar{background:var(--club-sidebar)}.sideNav button.on,.bottomTabs button.on{background:var(--club-accent)}.primary,.quickMenu .homeItem{background:var(--club-accent)}.adminHomeGrid .tileIcon{color:var(--club-accent)}.adminHomeGrid .moduleTile:hover{border-color:var(--club-accent)}.themeColorGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.themeColorGrid label{padding:12px;border:1px solid var(--line);border-radius:14px;background:#0c1016}.themeColorGrid input[type="color"]{height:56px;padding:4px;cursor:pointer;background:#fff}.themeColorGrid span{color:#9ca7ba;font-size:11px;text-transform:none}@media(max-width:700px){.themeColorGrid{grid-template-columns:1fr}}@media(max-width:900px){body{background:var(--club-background)}}
.configTopics{display:grid;gap:12px}.configTopic{border:1px solid var(--line);border-radius:16px;background:#0c1016;overflow:hidden}.configTopic summary{min-height:62px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.configTopic summary::-webkit-details-marker{display:none}.configTopic summary strong{color:#fff;font-size:16px}.configTopic summary span{color:#9ca7ba;font-size:11px;font-weight:800}.configTopic summary::after{content:"";color:var(--club-accent);font-size:20px}.configTopic[open] summary::after{transform:rotate(180deg)}.configTopicBody{display:grid;gap:12px;padding:0 14px 16px;border-top:1px solid var(--line)}.configTopicBody>.feeConfigBox{margin:14px 0 0}.configTopicBody>.feeConfigBox>h4{display:none}@media(max-width:600px){.configTopic summary span{display:none}}
.globalClubBrand{width:min(620px,100%);min-height:150px;justify-content:center;padding:24px 38px;gap:24px;background:#050607;border-color:#24272d;border-radius:24px;box-shadow:0 10px 28px rgba(0,0,0,.32)}.globalClubBrand img{width:112px;height:112px}.globalClubBrand small{font-size:14px;color:#b9bec7}.globalClubBrand strong{font-size:28px;color:#fff}@media(max-width:900px){.globalClubBrand{width:100%;min-height:138px;padding:20px 24px;gap:18px;border-radius:22px}.globalClubBrand img{width:96px;height:96px}.globalClubBrand small{font-size:12px}.globalClubBrand strong{font-size:23px}}
:root{--club-background-text:#17191c}.topbar strong,.topbar .iconBtn,.pageTitle h2{color:var(--club-background-text)}
.sideNav .sidebarLogout{margin-top:12px;padding-top:2px;border-top:1px solid #2a2d33;color:#ff8a98}.sideNav .sidebarLogout::before{content:""!important;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5M14 8l4 4-4 4M18 12H8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor!important;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:22px 22px}.sideNav .sidebarLogout:hover{background:#2b1217;color:#fff}
:root{--club-background:#fff}body,.app{background:var(--club-background)}
#homeButton,.sidebarHome{width:42px;height:42px;border-radius:10px;background:transparent;color:var(--club-background-text);position:relative;font-size:0}#homeButton::before,.sidebarHome::before{content:"";position:absolute;inset:9px;background:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");mask-position:center;mask-repeat:no-repeat;mask-size:contain}.sidebarHome{color:#d8dadd}#homeButton:hover,.sidebarHome:hover{background:#202124;color:#fff}
#homeButton,.sidebarHome{width:42px;height:42px;border-radius:11px;background:#17191c;color:#f7f8fb;box-shadow:inset 0 0 0 1px #2b3038}#homeButton:hover,.sidebarHome:hover{background:#262b33;color:#fff;transform:translateY(-1px)}#homeButton::before,.sidebarHome::before{inset:10px}
.authLocked,.authLocked .app{background:#050607!important}.authLocked .topbar strong,.authLocked .topbar .iconBtn,.authLocked .pageTitle h2{color:#fff}.authLocked #login .card,.authLocked #crearUsuario .card{background:#11161e;border-color:#2b313b}.authLocked #login .card h3,.authLocked #crearUsuario .card h3{color:#fff}
#screenName{visibility:hidden!important}
.pageTitle{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:48px}.pageTitle h2{grid-column:2;text-align:center}.pageTitle>:not(h2){grid-column:3;justify-self:end}@media(max-width:560px){.pageTitle{grid-template-columns:1fr;gap:10px}.pageTitle h2{grid-column:1;text-align:center}.pageTitle>:not(h2){grid-column:1;justify-self:center}}
body:has(#jugadores.on),body:has(#jugadores.on) .app{background:#050607!important}body:has(#jugadores.on) .pageTitle h2,body:has(#jugadores.on) .topbar .iconBtn{color:#fff}
:root{--club-background:#050607;--club-background-text:#f7f8fb}body,.app{background:var(--club-background)}

/* La portada de Administracion es la unica pantalla clara. */
body:has(#panel.on),body:has(#panel.on) .app{background:#fff!important}
body:has(#panel.on) .topbar .iconBtn,body:has(#panel.on) .pageTitle h2{color:#17191c}
#panel .adminHomeGrid .moduleTile{background:var(--club-card-background,#fff)!important;border:2px solid var(--club-card-border,#e2122b)!important}
#panel .adminHomeGrid .moduleTile:hover{background:var(--club-card-background,#fff)!important;border-color:var(--club-card-border,#e2122b)!important}
#panel .adminHomeGrid .moduleTile strong,#panel .adminHomeGrid .moduleTile small{color:var(--club-card-text,#111)}
#panel .adminHomeGrid .tileIcon{background:var(--club-icon-background,#f9e7ea);border:2px solid var(--club-icon-border,#e2122b)}

/* Acerca la identidad del club a la barra superior. */
.topbar + .globalClubBrand{margin-top:10px}
@media(max-width:900px){.topbar + .globalClubBrand{margin-top:8px}}

/* Muestra completo el nombre del club en el encabezado lateral. */
.sidebarBrandText p{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}

/* Controles de apariencia proporcionados incluso dentro de paneles angostos. */
.themeColorGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}
.themeColorGrid label{display:grid;grid-template-columns:minmax(0,1fr) 64px;grid-template-areas:"title picker" "description picker";align-items:center;column-gap:14px;row-gap:5px;min-height:96px;padding:14px 16px;text-transform:none}
.themeColorGrid label b{grid-area:title;color:#f4f6fb;font-size:13px;line-height:1.25;text-transform:uppercase}
.themeColorGrid input[type="color"]{grid-area:picker;width:64px;height:54px;margin:0;padding:4px;border-radius:11px}
.themeColorGrid span{grid-area:description;line-height:1.35;font-size:12px}
.themeConfigBox>.helpText{display:block;margin-top:12px;line-height:1.4}

/* Pelota animada para volver al inicio desde el encabezado lateral. */
.sidebar .brand{grid-template-columns:56px minmax(0,1fr) 50px}
.sidebarHome{width:50px;height:50px;display:grid;place-items:center;background:transparent!important;overflow:visible}
.sidebarHome::before{content:"";position:static;inset:auto;width:auto;height:auto;background:none;-webkit-mask-image:none;mask-image:none;color:var(--club-sport-color,#fff);font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif;font-size:43px;line-height:1;animation:sidebarBallSpin 4s linear infinite;transform-origin:center}
.sidebarHome:hover::before{animation-duration:1.6s}
@keyframes sidebarBallSpin{to{transform:rotate(360deg)}}
.sidebarHome:has(.sportVisual)::before{display:none}.sidebarHome .sportVisual{width:48px;height:48px;display:block;background:transparent;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22));animation:sidebarBallSpin 10s linear infinite;transform-origin:center}.sidebarHome:hover .sportVisual{animation-duration:4s}
.sidebarHome .tablerFootball{padding:2px;border-radius:50%;background:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.32))}
.sportAppearanceRow:has(> .sportSelector:only-child){grid-template-columns:1fr}
.sportSelector{margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#0c1016;text-transform:none}.sportSelector b{color:#f4f6fb;font-size:13px;text-transform:uppercase}.sportSelector span{color:#9ca7ba;font-weight:650}
.sportAppearanceRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.55fr);gap:10px;margin-bottom:14px}.sportAppearanceRow .sportSelector{margin:0}.sportColorSelector{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#0c1016;text-transform:none}.sportColorSelector b{color:#f4f6fb;font-size:13px;text-transform:uppercase}.sportColorSelector input[type="color"]{width:64px;height:48px}.sportColorSelector span{color:#9ca7ba;text-transform:none}@media(max-width:560px){.sportAppearanceRow{grid-template-columns:1fr}}

/* La casita superior siempre permanece visible; la figura deportiva va solo en el lateral. */
#homeButton{background:#17191c!important;color:#fff!important}
#homeButton::before{content:"";position:absolute;inset:10px;background:#fff;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");mask-position:center;mask-repeat:no-repeat;mask-size:contain}
.paymentProofField{padding:12px;border:1px dashed #4b5565;border-radius:13px;background:#0c1016}.paymentProofField input[type="file"]{background:#fff;color:#17191c}.paymentProofField .helpText{text-transform:none;line-height:1.35}

/* Pantalla de sesiÃ³n centrada y proporcionada. */
body.authLocked{display:block!important}
.authLocked .app{width:100%!important;max-width:680px!important;margin:0 auto!important}
.authLocked #login{width:100%;max-width:460px;margin:0 auto}
.authLocked #login .pageTitle{display:grid;grid-template-columns:1fr;justify-items:center;gap:10px;margin-bottom:14px}
.authLocked #login .pageTitle h2{text-align:center}
.authLocked #login .pageTitle .primary{position:static;width:auto}
@media(max-width:360px){.globalClubBrand{min-height:112px;padding:14px 16px;gap:12px}.globalClubBrand img{width:72px;height:72px}.globalClubBrand strong{font-size:20px}.globalClubBrand small{font-size:10px}.authLocked .app{padding-left:12px;padding-right:12px}}

/* Mantiene la misma composiciÃ³n aunque SesiÃ³n se abra desde el menÃº. */
body:has(#login.on){display:block!important}
body:has(#login.on) .app{width:100%!important;max-width:680px!important;margin:0 auto!important}
#login.on{width:100%;max-width:460px;margin:0 auto}
#login.on .pageTitle{display:grid!important;grid-template-columns:1fr!important;justify-items:center;gap:10px;margin-bottom:14px}
#login.on .pageTitle h2{text-align:center}
#login.on .pageTitle .primary{position:static;width:auto}
body:has(#login.on) #menuButton,
body:has(#crearUsuario.on) #menuButton{display:none!important}
@media(max-width:500px){body:has(#login.on) .app{padding-left:14px!important;padding-right:14px!important}#login.on{max-width:100%}}

/* En la bienvenida, la marca del desarrollador queda como pie y no tapa el escudo. */
body:has(.launchScreen:not(.hide)) .developerCredit{left:50%;right:auto;bottom:4px;top:auto;transform:translateX(-50%);width:min(210px,calc(100vw - 24px));height:48px;padding:0;opacity:.78;background:transparent}
body:has(.launchScreen:not(.hide)) .developerCredit img{width:190px;max-width:100%;height:46px;object-fit:contain}
body:has(.launchScreen:not(.hide)) .developerCredit.expanded{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 28px));height:min(520px,calc(100vh - 40px));padding:28px;background:#fff;border:4px solid #fff;border-radius:28px;box-shadow:0 24px 90px rgba(0,0,0,.75);opacity:1;z-index:500}
body:has(.launchScreen:not(.hide)) .developerCredit.expanded img{width:min(720px,calc(100vw - 70px));height:min(420px,calc(100vh - 90px))}
@media(max-height:560px){.launchScreen .launchInner{transform:translateY(-24px)}body:has(.launchScreen:not(.hide)) .developerCredit{height:40px;bottom:2px}body:has(.launchScreen:not(.hide)) .developerCredit img{width:160px;height:38px}}

/* Cabecera del club mÃ¡s alargada y vista de tablet sin apilado prematuro. */
.globalClubBrand{width:min(760px,100%);min-height:136px}
@media(min-width:601px) and (max-width:900px){
  .app{max-width:860px;padding-left:24px;padding-right:24px}
  .globalClubBrand{width:min(760px,100%);min-height:136px}
  .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* En Profes, la navegaciÃ³n se abre desde las tres lÃ­neas. */
.professorMode:not(.professorLocked) .topbar{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  height:48px;
  margin-bottom:8px;
}
.professorMode .topbar #screenName{display:none!important}
.professorMode:not(.professorLocked) .topbar #homeButton{
  display:grid!important;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid #303744;
  border-radius:14px;
  background:#17191c!important;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.professorMode:not(.professorLocked) .topbar #menuButton{
  display:grid;
  place-items:center;
  background:#17191c;
  color:#fff;
}
.professorMode .professorNav{display:none!important}
.professorMode .professorNav.menuOpen{
  display:grid!important;
  grid-template-columns:1fr;
  gap:7px;
  position:absolute;
  top:72px;
  left:26px;
  width:min(330px,calc(100% - 52px));
  margin:0;
  padding:10px;
  z-index:80;
  border:1px solid var(--line);
  border-radius:18px;
  background:#0c1016;
  box-shadow:0 22px 60px rgba(0,0,0,.48);
}
.professorMode .professorNav.menuOpen a,.professorMode .professorNav.menuOpen button{
  min-height:48px;
  width:100%;
}
@media(max-width:680px){
  .professorMode .professorNav.menuOpen{top:68px;left:16px;width:calc(100% - 32px)}
}

/* TerminaciÃ³n visual e iconos del menÃº desplegable de Profes. */
.professorMode:not(.professorLocked) .topbar #menuButton{
  width:46px;
  height:46px;
  border:1px solid #303744;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  font-size:0;
  position:relative;
}
.professorMode:not(.professorLocked) .topbar #menuButton::before,
.professorMode:not(.professorLocked) .topbar #menuButton::after{
  content:"";
  position:absolute;
  left:12px;
  width:20px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:transform .2s ease,top .2s ease,box-shadow .2s ease;
}
.professorMode:not(.professorLocked) .topbar #menuButton::before{top:14px;box-shadow:0 7px 0 #fff,0 14px 0 #fff}
.professorMode:not(.professorLocked) .topbar #menuButton::after{display:none}
.professorMode:not(.professorLocked) .topbar #menuButton[aria-expanded="true"]::before{top:22px;transform:rotate(45deg);box-shadow:none}
.professorMode:not(.professorLocked) .topbar #menuButton[aria-expanded="true"]::after{display:block;top:22px;transform:rotate(-45deg)}
.professorMode .professorNav.menuOpen{
  gap:8px;
  padding:12px;
  border-color:#343b48;
  background:linear-gradient(160deg,#161c25,#090c11);
}
.professorMode .professorNav.menuOpen::before{
  content:"MENU PROFESORES";
  display:block;
  padding:6px 10px 4px;
  color:#8e99aa;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
}
.professorMode .professorNav.menuOpen a,
.professorMode .professorNav.menuOpen button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-height:52px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:14px;
  background:#11161e;
  color:#e8ebf1;
  text-align:left;
  font-size:14px;
  font-weight:900;
}
.professorMode .professorNav.menuOpen a:hover,
.professorMode .professorNav.menuOpen button:hover{border-color:#465064;background:#1b222d}
.professorMode .professorNav.menuOpen a::before,
.professorMode .professorNav.menuOpen button::before{
  content:"";
  width:22px;
  height:22px;
  flex:0 0 22px;
  background:currentColor;
  -webkit-mask-position:center;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-position:center;
  mask-repeat:no-repeat;
  mask-size:contain;
}
.professorMode .professorNav.menuOpen a[href="/profes"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.professorMode .professorNav.menuOpen a[href="/profes/asistencia"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='4' width='14' height='17' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9 4V2h6v2M8 11l2 2 5-5M8 17h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='4' width='14' height='17' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9 4V2h6v2M8 11l2 2 5-5M8 17h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.professorMode .professorNav.menuOpen a[href="/profes/resultados"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4h8v3c0 3-1.8 5-4 5s-4-2-4-5V4Zm0 2H4c0 3 1.5 5 4.5 5M16 6h4c0 3-1.5 5-4.5 5M12 12v4m-4 4h8m-6-4h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4h8v3c0 3-1.8 5-4 5s-4-2-4-5V4Zm0 2H4c0 3 1.5 5 4.5 5M16 6h4c0 3-1.5 5-4.5 5M12 12v4m-4 4h8m-6-4h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.professorMode .professorNav.menuOpen a[href="/profes/fixture"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 10h18M7 14h3m4 0h3m-10 4h3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 10h18M7 14h3m4 0h3m-10 4h3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.professorMode .professorNav.menuOpen #professorLogout{
  margin-top:4px;
  border-color:#4c2028;
  background:#241015;
  color:#ff7180;
}
.professorMode .professorNav.menuOpen #professorLogout::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5H5v14h5M14 8l4 4-4 4m4-4H9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5H5v14h5M14 8l4 4-4 4m4-4H9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.professorMode[data-professor-view="inicio"] .professorNav.menuOpen a[href="/profes"],
.professorMode[data-professor-view="asistencia"] .professorNav.menuOpen a[href="/profes/asistencia"],
.professorMode[data-professor-view="resultados"] .professorNav.menuOpen a[href="/profes/resultados"],
.professorMode[data-professor-view="fixture"] .professorNav.menuOpen a[href="/profes/fixture"]{
  border-color:#ef2840;
  background:linear-gradient(135deg,#e3132d,#bd0f24);
  color:#fff;
  box-shadow:0 8px 20px rgba(215,25,50,.24);
}

/* Identidad y contexto siempre visibles dentro de App Profes. */
.professorContextHeader{display:none}
.professorMode:not(.professorLocked) .professorContextHeader{
  display:flex;
  align-items:center;
  gap:14px;
  width:min(720px,100%);
  min-height:94px;
  margin:0 auto 18px;
  padding:13px 18px;
  border:1px solid #303744;
  border-radius:20px;
  background:linear-gradient(135deg,#171d26,#0b0f15);
  box-shadow:0 12px 30px rgba(0,0,0,.3);
}
.professorContextHeader img{
  width:66px;
  height:66px;
  flex:0 0 66px;
  object-fit:contain;
  padding:3px;
  border-radius:15px;
  background:#fff;
}
.professorContextHeader div{display:grid;gap:2px;min-width:0}
.professorContextHeader small{
  overflow:hidden;
  color:#aeb7c6;
  font-size:11px;
  font-weight:850;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.professorContextHeader strong{
  color:#fff;
  font-size:24px;
  line-height:1.1;
}
.professorContextHeader span{
  overflow:hidden;
  color:#ff7180;
  font-size:13px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:520px){
  .professorMode:not(.professorLocked) .professorContextHeader{min-height:82px;padding:10px 13px;gap:11px;border-radius:17px}
  .professorContextHeader img{width:58px;height:58px;flex-basis:58px;border-radius:13px}
  .professorContextHeader strong{font-size:21px}
}

/* Marca de la App Profesores centrada entre menÃº y casita. */
.professorTopIdentity{display:none}
.professorMode:not(.professorLocked) .topbar{gap:10px;height:auto;min-height:64px}
.professorMode:not(.professorLocked) .professorTopIdentity{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:0;
  padding:5px 8px;
}
.professorTopIdentity img{
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:contain;
  padding:4px;
  border:2px solid #3b8cff;
  border-radius:13px;
  background:#f7f9fc;
  box-shadow:0 0 0 2px rgba(255,255,255,.16),0 7px 18px rgba(0,0,0,.34);
}
.professorTopIdentity div{display:grid;gap:2px;min-width:0;text-align:center}
.professorTopIdentity strong{
  color:#f7f8fb;
  font-size:12px;
  line-height:1.15;
  letter-spacing:.025em;
}
.professorTopIdentity small{
  display:block;
  color:#aeb7c6;
  font-size:10px;
  font-weight:750;
  line-height:1.2;
  text-align:center;
}

/* Identidad de la Plataforma PC centrada entre el menÃº y el inicio. */
.coordinatorTopIdentity{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:0;
  padding:4px 8px;
  align-self:center;
}
.coordinatorTopIdentity img{
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:contain;
  padding:4px;
  border:2px solid #3b8cff;
  border-radius:13px;
  background:#f7f9fc;
  box-shadow:0 0 0 2px rgba(255,255,255,.16),0 7px 18px rgba(0,0,0,.34);
}
.coordinatorTopIdentity div{display:grid;gap:2px;min-width:0;text-align:center}
.coordinatorTopIdentity strong{
  color:#f4f6fb!important;
  font-size:12px;
  line-height:1.15;
  letter-spacing:.025em;
}
.coordinatorTopIdentity small{
  color:#aeb7c6!important;
  font-size:10px;
  font-weight:850;
  line-height:1.15;
}
body:has(#panel.on) .coordinatorTopIdentity strong{color:#17191c!important}
body:has(#panel.on) .coordinatorTopIdentity small{color:#596273!important}
body:not(.professorMode) .topbar #screenName{display:none}
body:not(.professorMode) .topbar #menuButton{grid-column:1}
body:not(.professorMode) .topbar .coordinatorTopIdentity{grid-column:2}
body:not(.professorMode) .topbar #homeButton{grid-column:3}
.professorMode .coordinatorTopIdentity{display:none!important}
@media(max-width:420px){
  .coordinatorTopIdentity{gap:6px;padding:3px 2px}
  .coordinatorTopIdentity img{width:40px;height:40px;flex-basis:40px}
  .coordinatorTopIdentity strong{font-size:10px}
  .coordinatorTopIdentity small{font-size:9px}
}
.professorMode:not(.professorLocked) .professorHero{display:none}
@media(max-width:420px){
  .professorMode:not(.professorLocked) .topbar{gap:5px}
  .professorMode:not(.professorLocked) .professorTopIdentity{gap:6px;padding:4px 2px}
  .professorTopIdentity img{width:40px;height:40px;flex-basis:40px}
  .professorTopIdentity strong{font-size:10px}
  .professorTopIdentity small{font-size:9px}
}

/* Marca Tecno Sport transparente y delineada, sin placa ni recuadro. */
body:has(.launchScreen.hide) .developerCredit:not(.expanded){
  left:50%;
  right:auto;
  bottom:10px;
  transform:translateX(-50%);
  width:min(360px,calc(100vw - 28px));
  height:92px;
  padding:0;
  opacity:1;
  border:0;
  outline:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body:has(.launchScreen.hide) .developerCredit:not(.expanded) > span{display:none}
body:has(.launchScreen.hide) .developerCredit:not(.expanded) img{
  width:100%;
  max-width:334px;
  height:76px;
  object-fit:contain;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.5)) drop-shadow(0 0 5px rgba(76,162,255,.28));
}
.developerCredit{
  pointer-events:auto!important;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.developerCredit:not(.expanded):active{transform:translateX(-50%) scale(.97)}

/* La navegaciÃ³n principal queda Ãºnicamente dentro del menÃº de tres lÃ­neas. */
@media(max-width:900px){.app{padding-bottom:90px}}

/* Identidades ordenadas en la selecciÃ³n de Ã¡rea del coordinador. */
.moduleChoice{gap:16px}
.modulePlatformIdentity,
.moduleClubIdentity{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:left;
}
.modulePlatformIdentity{gap:14px}
.moduleChoice .modulePlatformIdentity img{
  width:64px;
  height:64px;
  flex:0 0 64px;
  border-radius:15px;
  padding:4px;
}
.modulePlatformIdentity div{display:grid;gap:2px}
.modulePlatformIdentity p{
  margin:0;
  color:#ff6b7a;
  font-size:14px;
  line-height:1.1;
  font-weight:950;
  text-transform:uppercase;
}
.modulePlatformIdentity h2{
  margin:0;
  color:#f4f6fb;
  font-size:24px;
  line-height:1.05;
}
.modulePlatformIdentity span{
  color:#d5dbe5;
  font-size:13px;
  line-height:1.1;
  font-weight:850;
  text-transform:uppercase;
}
.moduleClubIdentity{
  gap:16px;
  width:min(520px,100%);
  min-height:112px;
  padding:12px 20px;
  border:1px solid #2a303b;
  border-radius:22px;
  background:#080b10;
}
.moduleChoice .moduleClubIdentity img{
  width:86px;
  height:86px;
  flex:0 0 86px;
  padding:4px;
  border-radius:17px;
  background:#fff;
}
.moduleClubIdentity div{display:grid;gap:3px}
.moduleClubIdentity small{
  color:#aab2c0;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.moduleClubIdentity strong{
  color:#fff;
  font-size:25px;
  line-height:1.05;
  text-transform:uppercase;
}
@media(max-width:620px){
  .moduleScreen{align-items:start;padding-top:28px}
  .moduleChoice{gap:12px}
  .moduleChoice .modulePlatformIdentity img{width:52px;height:52px;flex-basis:52px}
  .modulePlatformIdentity p{font-size:11px}
  .modulePlatformIdentity h2{font-size:19px}
  .modulePlatformIdentity span{font-size:10px}
  .moduleClubIdentity{min-height:94px;padding:10px 14px;gap:12px}
  .moduleChoice .moduleClubIdentity img{width:70px;height:70px;flex-basis:70px}
  .moduleClubIdentity strong{font-size:20px}
}

/* GestiÃ³n reversible del estado de cada jugador. */
.playerStatusManager{
  display:grid;
  gap:12px;
  margin-top:18px;
  padding:16px;
  border:1px solid #39414e;
  border-radius:17px;
  background:#0b0f15;
}
.playerStatusHeading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.playerStatusHeading>div{display:grid;gap:3px}
.playerStatusHeading>div>span{
  color:#9ca7b8;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.playerStatusHeading strong{color:#fff;font-size:18px}
.playerStatusManager small{color:#9ca7b8;line-height:1.4}
.playerStatusManager textarea{min-height:74px}
.playerExitReason{border-color:#d88426}
@media(max-width:520px){
  .playerStatusHeading{align-items:flex-start}
  .playerStatusManager .two{grid-template-columns:1fr}
}

/* Calendario mensual de asistencia por jugador. */
.attendanceTakeCard,.attendanceCalendarCard{margin-bottom:16px}
.attendanceCalendarHeader{
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:18px;
  margin-bottom:12px;
}
.attendanceCalendarHeader>div:first-child>span{
  color:#ff6b7a;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.attendanceCalendarHeader h3{margin:4px 0 0;font-size:23px;white-space:nowrap}
.attendanceCalendarFilters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr);gap:10px;width:100%}
.attendanceCalendarFilters label{min-width:0}
.attendanceCalendarFilters select,.attendanceCalendarFilters input{min-width:0;width:100%}
.attendanceCalendarLegend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.attendanceCalendarLegend span{display:inline-flex;align-items:center;gap:6px;color:#aab2c0;font-size:12px;font-weight:800}
.attendanceCalendarLegend span::before{content:"";width:11px;height:11px;border-radius:4px;background:#343b48}
.attendanceCalendarLegend .present::before{background:#1f9d63}
.attendanceCalendarLegend .late::before{background:#e1a126}
.attendanceCalendarLegend .absent::before{background:#d83a4d}
.attendanceCalendarLegend .excused::before{background:#2f7fda}
.attendanceCalendarLegend .match::before{background:#8c5ce6}
.attendancePlayerSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-bottom:12px}
.attendancePlayerSummary>div{
  min-height:70px;
  padding:10px;
  border:1px solid #303744;
  border-radius:14px;
  background:#0c1016;
  display:grid;
  align-content:center;
  gap:2px;
}
.attendancePlayerSummary b{color:#fff;font-size:20px}
.attendancePlayerSummary span{color:#9ca7b8;font-size:11px;font-weight:800;line-height:1.25;overflow-wrap:normal;word-break:normal}
.attendancePlayerSummary .attendancePercent{border-color:#1f9d63;background:#0e261b}
.attendancePlayerSummary .attendanceLate{border-color:#e1a126;background:#2b210d}
.attendancePlayerSummary .attendanceExcused{border-color:#2f7fda;background:#10223a}
.attendanceCalendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
}
.attendanceCalendarWeekday{
  padding:6px 2px;
  color:#8f99a9;
  font-size:11px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}
.attendanceCalendarDay{
  position:relative;
  min-height:78px;
  padding:8px;
  border:1px solid #2f3642;
  border-radius:13px;
  background:#10141b;
  color:#f4f6fb;
  display:grid;
  align-content:start;
  gap:4px;
}
.attendanceCalendarDay.blank{visibility:hidden}
.attendanceCalendarDay strong{font-size:16px}
.attendanceCalendarDay small{position:absolute;right:7px;top:8px;color:#d89a26;font-size:9px;font-weight:950}
.attendanceCalendarDay span{color:#8f99a9;font-size:9px;font-weight:850;line-height:1.2}
.attendanceCalendarDay.present{border-color:#1f9d63;background:linear-gradient(145deg,#123b28,#0d1712)}
.attendanceCalendarDay.present span{color:#71e2aa}
.attendanceCalendarDay.late{border-color:#e1a126;background:linear-gradient(145deg,#40300f,#19140b)}
.attendanceCalendarDay.late span{color:#ffd36d}
.attendanceCalendarDay.absent{border-color:#d83a4d;background:linear-gradient(145deg,#42151c,#180d10)}
.attendanceCalendarDay.absent span{color:#ff8995}
.attendanceCalendarDay.excused{border-color:#2f7fda;background:linear-gradient(145deg,#102f53,#0c1520)}
.attendanceCalendarDay.excused span{color:#85bfff}
.attendanceCalendarDay.match{border-color:#8c5ce6;background:linear-gradient(145deg,#291b44,#130e1c)}
.attendanceCalendarDay.match span{color:#cbb0ff}
.attendanceCalendarEmpty{grid-column:1/-1;padding:24px;text-align:center;color:#9ca7b8}
@media(max-width:700px){
  .attendanceCalendarHeader{display:grid;align-items:stretch}
  .attendanceCalendarFilters{grid-template-columns:1fr}
  .attendancePlayerSummary{grid-template-columns:repeat(2,minmax(125px,1fr))}
  .attendanceCalendar{gap:4px}
  .attendanceCalendarDay{min-height:62px;padding:6px;border-radius:10px}
  .attendanceCalendarDay strong{font-size:14px}
  .attendanceCalendarDay span{font-size:8px;overflow-wrap:anywhere}
  .attendanceCalendarDay small{right:5px;top:6px;font-size:8px}
}
@media(max-width:390px){
  .attendanceCalendarHeader h3{font-size:20px}
  .attendancePlayerSummary{grid-template-columns:1fr 1fr}
  .attendanceCalendarDay{min-height:54px}
  .attendanceCalendarDay span{display:none}
}


.annualSeasonCard{border-color:#5b2430}
.seasonCloseBox{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.seasonCloseBox div{border:1px solid var(--line);border-radius:14px;background:#0b0f15;padding:12px}
.seasonCloseBox span{display:block;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}
.seasonCloseBox strong{display:block;color:#f4f6fb;font-size:22px;margin-top:4px}
.dangerButton{background:#e2122b;color:#fff}
.seasonHistoryList{display:grid;gap:8px;margin-top:14px}
.seasonHistoryItem{border:1px solid var(--line);border-radius:12px;background:#0b0f15;padding:10px 12px}
.seasonHistoryItem b{display:block;color:#fff}
.seasonHistoryItem span,.seasonHistoryItem small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
@media(max-width:560px){.seasonCloseBox{grid-template-columns:1fr}}


.eventStatusBox{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#0c1016}.fixtureRescheduleNotice{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border-left:4px solid #e13b4f;border-radius:10px;background:#35151c;color:#ffd2d8}.fixtureRescheduleNotice.reprogramado,.fixtureRescheduleNotice.postergado{border-left-color:#3b8cff;background:#14243a;color:#d8e9ff}.fixtureRescheduleNotice span{font-size:13px;font-weight:750}#partidos .roundChip.reprogrammed,#partidos .roundChip.reprogrammed.on{border-color:#3b8cff;background:#174f99;color:#fff}
.eventListFilters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.eventListFilters label{display:grid;gap:6px;color:#aeb7c6;font-size:12px;font-weight:900;text-transform:uppercase}.eventActivityGroup{display:grid;gap:10px;margin:0 0 18px}.eventGroupHeading{display:flex;align-items:center;gap:9px;padding:10px 12px;border-left:4px solid var(--club-accent,#e2122b);border-radius:10px;background:#151a22}.eventGroupHeading strong{color:#fff}.eventGroupHeading span{padding:5px 9px;border-radius:999px;background:#2a3140;color:#fff;font-weight:850}.eventGroupHeading small{margin-left:auto;color:#aeb7c6;font-weight:800}@media(max-width:620px){.eventListFilters{grid-template-columns:1fr}.eventGroupHeading{flex-wrap:wrap}.eventGroupHeading small{width:100%;margin-left:0}}
/* Flechas dibujadas con CSS: evita simbolos rotos por codificacion. */
.roundPickerAdmin summary::after,.configTopic summary::after{content:""!important;width:10px;height:10px;flex:0 0 10px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.roundPickerAdmin[open] summary::after,.configTopic[open] summary::after{transform:rotate(225deg)}
.roundPickerAdmin summary strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
@media(max-width:520px){.roundPickerAdmin summary{padding:11px 13px}.roundPickerAdmin summary span{font-size:13px;min-width:0}.roundPickerAdmin summary strong{max-width:38%;font-size:14px}}
.resultRoundPicker summary::after{content:"";color:#ff6b7a;font-size:20px;line-height:1}
.resultRoundPicker[open] summary::after{transform:rotate(225deg)}
.resultRoundPicker summary strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
@media(max-width:520px){.resultRoundPicker summary span{font-size:13px;min-width:0}.resultRoundPicker summary strong{max-width:42%;font-size:14px}}

/* Aislamiento seguro de la App Profes. */
body.professorMode #launchScreen,body.professorMode #moduleScreen,body.professorMode .sidebar,body.professorMode .bottomTabs{display:none!important}
body.professorMode img[data-club-crest]{width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important;object-fit:contain!important}
body.professorMode .professorContextHeader img[data-club-crest]{width:66px!important;height:66px!important;max-width:66px!important;max-height:66px!important}
body.professorMode .professorHeroLogos img[data-club-crest]{width:82px!important;height:82px!important;max-width:82px!important;max-height:82px!important}
body.professorMode .view{display:none!important}
body.professorMode .view.on{display:block!important}
body.professorMode .professorLogin.view.on{display:grid!important}
body.professorMode .globalClubBrand,body.professorMode .parentBrand{display:none!important}
body.professorMode.professorLocked .app{min-height:100vh;display:grid;place-items:center;padding:20px!important}
body.professorMode.professorLocked .topbar,body.professorMode.professorLocked .professorContextHeader{display:none!important}
body.professorMode.professorLocked #profesLogin{width:min(430px,100%);margin:0 auto}
/* Ajuste del titulo principal para que nunca se recorte */
.launchScreen .launchAppBrand h1{font-size:clamp(22px,4.8vw,40px)!important;max-width:calc(100vw - 32px);white-space:nowrap;text-align:center;line-height:1.05}
@media(max-width:420px){.launchScreen .launchAppBrand h1{font-size:clamp(21px,6.5vw,27px)!important}}

/* Escudo proporcionado en la pantalla de sesiÃ³n. */
body.authLocked .globalClubBrand,body:has(#login.on) .globalClubBrand{width:100%!important;max-width:460px!important;min-height:112px!important;padding:14px 18px!important;gap:14px!important;overflow:hidden!important;margin-left:auto!important;margin-right:auto!important}
body.authLocked .globalClubBrand img[data-club-crest],body:has(#login.on) .globalClubBrand img[data-club-crest]{display:block!important;position:static!important;width:84px!important;height:84px!important;min-width:84px!important;min-height:84px!important;max-width:84px!important;max-height:84px!important;object-fit:contain!important;transform:none!important;margin:0!important}
@media(max-width:500px){body.authLocked .globalClubBrand img[data-club-crest],body:has(#login.on) .globalClubBrand img[data-club-crest]{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;max-width:72px!important;max-height:72px!important}}

/* Marca del desarrollador compacta en pantallas mÃ³viles. */
@media(max-width:500px){body:has(.launchScreen.hide) .developerCredit:not(.expanded){width:190px!important;height:56px!important;padding:0!important}body:has(.launchScreen.hide) .developerCredit:not(.expanded) img{width:180px!important;max-width:180px!important;height:50px!important}}


/* Portada de Finanzas y estados de cuenta. */
body:has(#financeHome.on),body:has(#financeHome.on) .app{background:#fff!important}
body:has(#financeHome.on) .topbar .iconBtn,body:has(#financeHome.on) .pageTitle h2{color:#17191c}
.financeHomeColumns{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;align-items:start}
#financeStats{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%;margin-left:auto;margin-right:auto}
.financeHomeColumn{display:grid;gap:14px;padding:18px;border:1px solid #dddfe4;border-radius:18px;background:#f7f8fa}
.financeHomeColumn h3{margin:0;color:#17191c;font-size:18px}
.financeHomeColumn .moduleTile{width:100%;min-height:128px;padding:20px;border:2px solid var(--club-card-border,#e2122b);border-radius:15px;background:var(--club-card-background,#fff);text-align:left;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:4px 14px}
.financeHomeColumn .moduleTile .tileIcon{grid-row:1/3;width:55px;height:55px;border:2px solid var(--club-icon-border,#e2122b);background:var(--club-icon-background,#f9e7ea);color:var(--club-accent,#e2122b)}
.financeHomeColumn .moduleTile strong{align-self:end;color:var(--club-card-text,#111);font-size:20px}
.financeHomeColumn .moduleTile small{align-self:start;color:var(--club-card-text,#555);font-size:14px}
.financeHomeColumn .moduleTile:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.accountTabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 12px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#0c1016}
.accountTabs button{min-height:46px;border-radius:12px;background:#151a22;color:#c7ceda;font-weight:900}
.accountTabs button.on{background:#d71932;color:#fff}
.accountTabs span{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:6px;padding:0 6px;border-radius:999px;background:#252c37;color:#fff;font-size:12px}
.accountTabs button.on span{background:#fff;color:#d71932}
.accountSearchRow{margin-bottom:10px;grid-template-columns:1fr auto}.clearFiltersBtn{width:auto;min-width:82px;padding:0 12px;font-size:13px;font-weight:850}.accountFilters{margin:0 0 12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.accountSummary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}
.accountList{display:grid;gap:10px;margin-bottom:16px}
.accountPlayerCard{overflow:hidden;border:1px solid var(--line);border-left:5px solid #1f8f5f;border-radius:16px;background:#10141b}
.accountPlayerCard.hasDebt{border-left-color:#e13b4f}
.accountPlayerCard summary{min-height:78px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}
.accountPlayerCard summary::-webkit-details-marker{display:none}.accountPlayerCard summary>div:first-child{display:grid;gap:4px}.accountPlayerCard summary b{color:#fff;font-size:17px}.accountPlayerCard summary span{color:#aeb7c5;font-size:13px;font-weight:750}
.accountBalance{display:grid;justify-items:end;gap:3px;white-space:nowrap}.accountBalance small{color:#aeb7c5;font-weight:850;text-transform:uppercase}.accountBalance strong{color:#58d797;font-size:18px}.hasDebt .accountBalance strong{color:#ff7b87}
.accountPlayerBody{padding:0 14px 14px;border-top:1px solid var(--line)}.accountTotals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.accountTotals span{padding:9px;border-radius:10px;background:#151a22;color:#aeb7c5;text-align:center}.accountTotals b{display:block;margin-top:2px;color:#fff}
@media(max-width:760px){.financeHomeColumns{grid-template-columns:1fr}.financeHomeColumn{padding:14px}.accountFilters,.accountSummary{grid-template-columns:1fr}.accountPlayerCard summary{align-items:flex-start}.accountTotals{grid-template-columns:1fr 1fr 1fr}}



.coachSchedulePreset{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #2a303b;border-radius:14px;background:#10151d}.coachSchedulePreset span{color:#aab2c0;font-size:12px;font-weight:850;text-transform:uppercase}.coachSchedulePreset strong{color:#ff6b7a;font-size:16px}.teamSchedulesBox textarea{min-height:132px}#coachForm textarea[readonly]{cursor:default;color:#dce2ec;background:#11161e}

.crestDropZone{position:relative;cursor:pointer;border:2px dashed transparent;border-radius:15px;padding:5px;transition:.2s}.crestDropZone:hover,.crestDropZone.dragOver{border-color:#ed1739;background:rgba(237,23,57,.12)}.crestDropZone.uploading{opacity:.6;pointer-events:none}.eventCrestInput{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.crestDropHint{display:none;color:#ff768b;font-size:10px;font-weight:900;text-transform:uppercase}.crestDropZone:hover .crestDropHint,.crestDropZone.dragOver .crestDropHint{display:block}

.attendanceLegendItem.gray i{background:#8b5cf6}.attendanceChoice.gray{color:#8b5cf6}.attendanceChoice.gray input:checked+.attendanceSquare{background:#8b5cf6}.attendanceStat.gray{border-color:rgba(139,92,246,.55)}.attendanceNames.gray{border-color:#8b5cf6}.attendanceCalendarDay.notcalled{border-color:#8b5cf6;background:linear-gradient(145deg,#28184a,#120d20)}.attendanceCalendarDay.notcalled span{color:#c4a7ff}.attendanceNotCalled{border-color:#8b5cf6!important}
.attendanceLegend:has(.gray){grid-template-columns:repeat(5,minmax(0,1fr))}.attendanceChoices:has(.gray){grid-template-columns:repeat(5,34px)}.attendanceStats:has(.gray){grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:620px){.attendanceChoices:has(.gray){grid-template-columns:repeat(5,1fr)}.attendanceLegend:has(.gray){grid-template-columns:1fr 1fr}.attendanceStats:has(.gray){grid-template-columns:1fr 1fr}}

.fixtureScheduleToggle{border:1px solid #394253;background:#202735;color:#f4f6fb;cursor:pointer}.fixtureScheduleToggle span{margin-left:5px;color:#ff8796;font-size:10px;text-transform:uppercase}.fixtureScheduleToggle[aria-expanded="true"]{border-color:#d71932;background:#32131a}.fixtureFullDetails{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.fixtureFullDetails .fixtureTimes{margin-top:0}

.resultTournamentTabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;padding:6px;border:1px solid var(--line);border-radius:17px;background:#0c1016}.resultTournamentTab{min-height:64px;border:1px solid transparent;border-radius:13px;background:#171d27;color:#aeb7c6;display:grid;place-items:center;gap:2px;padding:9px}.resultTournamentTab strong{font-size:16px}.resultTournamentTab span{font-size:11px;font-weight:850;text-transform:uppercase}.resultTournamentTab.on{border-color:#d71932;background:#32131a;color:#fff}.resultTournamentTab.on span{color:#ff8796}.resultTournamentPanel{display:none}.resultTournamentPanel.on{display:block}@media(max-width:420px){.resultTournamentTabs{grid-template-columns:1fr}.resultTournamentTab{min-height:55px}}
.fixtureTournamentTabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;padding:6px;border:1px solid var(--line);border-radius:17px;background:#0c1016}.fixtureTournamentTab{min-height:64px;border:1px solid transparent;border-radius:13px;background:#171d27;color:#aeb7c6;display:grid;place-items:center;gap:2px;padding:9px}.fixtureTournamentTab strong{font-size:16px}.fixtureTournamentTab span{font-size:11px;font-weight:850;text-transform:uppercase}.fixtureTournamentTab.on{border-color:#d71932;background:#32131a;color:#fff}.fixtureTournamentTab.on span{color:#ff8796}.fixtureTournamentPanel,.fixtureRoundPanel{display:none}.fixtureTournamentPanel.on,.fixtureRoundPanel.on{display:block}.fixtureRoundPicker{margin-bottom:14px;border:1px solid var(--line);border-radius:16px;background:#0c1016;overflow:hidden}.fixtureRoundPicker summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;cursor:pointer;color:#fff}.fixtureRoundPicker summary span{font-weight:900}.fixtureRoundPicker summary strong{font-size:13px;text-transform:uppercase}.fixtureRoundTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px;border-top:1px solid var(--line)}.fixtureRoundTab{min-height:54px;border:1px solid var(--line);border-radius:12px;background:#171d27;color:#fff;display:grid;place-items:center;gap:2px;padding:7px}.fixtureRoundTab span{color:#9da7b7;font-size:10px}.fixtureRoundTab.on{border-color:#d71932;background:#32131a}.fixtureEmptyRound{text-align:left}@media(max-width:420px){.fixtureTournamentTabs{grid-template-columns:1fr}.fixtureTournamentTab{min-height:55px}.fixtureRoundTabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Filas de jugadores legibles */
.personRow{grid-template-columns:minmax(0,1fr) auto}.personMain>div:last-child{min-width:0}.personName{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}.personMain .subline{white-space:normal;line-height:1.35}.personMeta{display:flex;justify-content:flex-end;flex-wrap:wrap;white-space:normal;overflow:visible;text-overflow:clip}.personRow>div:last-child{min-width:190px;text-align:right}
@media(max-width:700px){.personRow,.tableHead{grid-template-columns:1fr}.tableHead{display:none}.personRow{gap:4px;padding:11px 8px}.personRow>div:last-child{min-width:0;text-align:left;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-left:48px}.personMeta{justify-content:flex-start}.personRow>div:last-child>.subline{margin:0 0 0 auto}.personName{font-size:16px}}

.playerRosterSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}.playerRosterSummary>div{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:13px 15px;display:grid;gap:3px}.playerRosterSummary span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.playerRosterSummary strong{font-size:25px;color:var(--ink)}.playerRosterSummary small{color:var(--muted);font-weight:850}.playerRosterSummary .rosterTotal{border-color:#d71932;background:rgba(215,25,50,.09)}@media(max-width:560px){.playerRosterSummary{grid-template-columns:1fr 1fr}.playerRosterSummary .rosterTotal{grid-column:1/-1}}

.accountAlertButton{gap:9px;flex-wrap:wrap}.accountAlertCount{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 9px;border-radius:999px;background:#fff;color:#b50820;font-size:12px;font-weight:950;box-shadow:0 0 0 2px rgba(255,255,255,.35)}.accountAlertButton.hasPending{animation:accountPendingPulse 1.7s ease-in-out infinite;box-shadow:0 0 0 4px rgba(215,25,50,.18),0 10px 26px rgba(215,25,50,.32)}@keyframes accountPendingPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.accountAlertButton.hasPending{animation:none}}

.legalFooter{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px 20px;margin-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.legalFooter button,.legalConsent button{padding:0;background:transparent;color:#ff6b7a;text-decoration:underline;font-weight:850}.legalOverlay{position:fixed;inset:0;z-index:160;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:16px}.legalPanel{position:relative;width:min(780px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:25px}.legalPanel h2{margin:0 45px 15px 0}.legalContent h3{margin:18px 0 5px;color:var(--ink)}.legalContent p{margin:5px 0;line-height:1.55}.legalClose{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;background:#d71932;color:#fff;font-size:26px}.legalPanel>.primary{margin-top:20px}.legalConsent{display:grid!important;grid-template-columns:24px 1fr;align-items:start;gap:9px!important;padding:12px;border:1px solid #d71932;border-radius:14px;background:rgba(215,25,50,.08);text-transform:none!important}.legalConsent input{width:20px;height:20px;min-height:0;margin:2px 0}.legalConsent span{color:var(--ink);font-size:13px;line-height:1.45}.legalConsent button{display:inline;text-transform:none;font-size:inherit}@media(max-width:600px){.legalFooter{gap:8px}.legalPanel{padding:22px 15px}.legalContent p{font-size:14px}}

.legalDocumentsBox{display:grid;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.legalDocumentsBox h4,.legalDocumentsBox p{margin:0}.legalDocumentActions{display:flex;gap:10px;flex-wrap:wrap}.legalSummaryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.legalSummaryGrid article{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.legalSummaryGrid article strong{color:var(--ink)}.legalSummaryGrid article span{color:var(--muted);font-size:13px;line-height:1.45}@media(max-width:650px){.legalDocumentActions>*{width:100%}.legalSummaryGrid{grid-template-columns:1fr}}

/* Marca institucional permanente, ubicada antes del pie legal en todas las vistas. */
body .developerCredit:not(.expanded){position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;display:flex!important;width:min(360px,calc(100% - 28px))!important;height:86px!important;margin:30px auto 0!important;padding:4px 12px!important;justify-content:center!important;border:0!important;background:transparent!important;box-shadow:none!important;opacity:.9!important;z-index:20!important}
body .developerCredit:not(.expanded) img{width:min(330px,100%)!important;height:78px!important;object-fit:contain!important;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5)) drop-shadow(0 0 5px rgba(76,162,255,.28))!important}
body .developerCredit:not(.expanded)>span{display:none!important}
body .developerCredit:not(.expanded):active{transform:scale(.97)!important}
body .developerCredit.expanded{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;margin:0!important;z-index:500!important}
.legalFooter{margin-top:0!important}
@media(max-width:500px){body .developerCredit:not(.expanded){width:min(250px,calc(100% - 24px))!important;height:68px!important;margin-top:22px!important}body .developerCredit:not(.expanded) img{width:min(235px,100%)!important;height:62px!important}}

/* Logo visible tambien sobre la portada inicial. */
body:has(.launchScreen:not(.hide)) .developerCredit:not(.expanded){position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:8px!important;transform:translateX(-50%)!important;width:min(230px,calc(100vw - 28px))!important;height:58px!important;margin:0!important;padding:0!important;opacity:.9!important;z-index:120!important}
body:has(.launchScreen:not(.hide)) .developerCredit:not(.expanded) img{width:min(220px,100%)!important;height:56px!important;object-fit:contain!important}
body:has(.launchScreen:not(.hide)) .developerCredit:not(.expanded):active{transform:translateX(-50%) scale(.97)!important}
@media(max-height:620px){body:has(.launchScreen:not(.hide)) .developerCredit:not(.expanded){bottom:3px!important;width:190px!important;height:44px!important}body:has(.launchScreen:not(.hide)) .developerCredit:not(.expanded) img{width:184px!important;height:42px!important}}

.coachPhotoDropZone{position:relative;width:62px;height:62px;display:block;cursor:pointer;border-radius:14px;transition:transform .16s ease,box-shadow .16s ease;touch-action:manipulation}.coachPhotoDropZone .coachPhoto{width:100%;height:100%}.coachPhotoDropZone>span{position:absolute;right:-5px;bottom:-5px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#d71932;color:#fff;border:2px solid #151a22;font-size:18px;font-weight:950;line-height:1}.coachPhotoDropZone:hover,.coachPhotoDropZone.dragOver{transform:scale(1.05);box-shadow:0 0 0 3px rgba(255,107,122,.4)}.coachPhotoDropZone.dragOver{box-shadow:0 0 0 4px #4f9cff}.coachPhotoDropZone.uploading{opacity:.55;pointer-events:none}.coachPhotoDropZone.uploading>span{animation:accountPendingPulse 1s infinite}@media(max-width:420px){.coachPhotoDropZone{width:54px;height:54px}}

.coachSortHint{padding:9px 12px;border:1px dashed #4c5667;border-radius:12px;background:#10151d;color:#aeb7c6;font-size:12px;font-weight:800;text-align:center}.staffList .coachCard{cursor:grab;user-select:none;-webkit-user-select:none;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.staffList .coachCard.sorting{cursor:grabbing;transform:scale(1.018);box-shadow:0 18px 50px rgba(0,0,0,.58),0 0 0 3px rgba(255,91,108,.42);opacity:.93;z-index:40}.staffList.sortingList .coachCard:not(.sorting){transition:transform .12s ease}.coachSorting{cursor:grabbing!important}.coachSorting *{cursor:grabbing!important}@media(max-width:620px){.coachSortHint{font-size:11px}.staffList .coachCard{touch-action:pan-y}}

.coachTeamHeading{margin:16px 0 2px;padding:10px 14px;border-left:4px solid #d71932;border-radius:10px;background:#151a22;color:#fff;font-size:18px}.coachTeamHeading:first-child{margin-top:0}

.staffTeamControl{margin:0 0 14px}.staffTeamDropdown{display:grid;grid-template-columns:auto minmax(190px,1fr);align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:#151a22}.staffTeamDropdown>span{color:#aeb7c6;font-size:12px;font-weight:950;text-transform:uppercase}.staffTeamDropdown select{min-height:52px;border:1px solid #d71932;border-radius:13px;background:#0c1016;color:#fff;font-size:17px;font-weight:950;cursor:pointer}@media(max-width:520px){.staffTeamDropdown{grid-template-columns:1fr;gap:6px}.staffTeamDropdown select{width:100%}}

/* Tipografia ampliada de jugadores */
#jugadores .searchBox input{font-size:17px;font-weight:750}#jugadores .playerFilters select{font-size:15px}#jugadores .tableHead{font-size:13px}#jugadores .personName{font-size:17px;font-weight:950}#jugadores .personMain .subline{font-size:13.5px}#jugadores .personMeta .chip{font-size:13px}#jugadores .personRow>div:last-child>.subline{font-size:13px}@media(max-width:700px){#jugadores .personName{font-size:17px}#jugadores .personMain .subline{font-size:13px}}

/* Resumen del plantel por tira y categoria */
.rosterBreakdownPanel{width:min(900px,100%)}.rosterBreakdownCard{padding:28px}.rosterBreakdownEyebrow{display:block;color:#ff6b7a;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.rosterBreakdownCard>h3{font-size:25px;margin:0 55px 18px 0}.rosterBreakdownContent,#rosterBreakdownContent{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rosterTeamSummary{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#0b0f15}.rosterTeamSummary h4{margin:0;padding:14px 16px;background:rgba(215,25,50,.14);color:#ff7b87;font-size:20px;text-align:center}.rosterSummaryTable{width:100%;border-collapse:collapse;color:#f4f6fb}.rosterSummaryTable th,.rosterSummaryTable td{padding:9px 10px;border-bottom:1px solid #2a303b;text-align:center}.rosterSummaryTable th:first-child{text-align:left}.rosterSummaryTable thead th{color:#aeb7c6;font-size:11px;text-transform:uppercase}.rosterSummaryTable tbody th{font-size:14px}.rosterSummaryTable tbody td{font-size:15px}.rosterSummaryTable tfoot{background:#171d27}.rosterSummaryTable tfoot th,.rosterSummaryTable tfoot td{border-bottom:0;font-size:15px}.rosterSummaryTable strong{color:#58d797;font-size:17px}@media(max-width:700px){.rosterBreakdownCard{padding:58px 10px 14px}.rosterBreakdownCard>h3{font-size:21px;margin-right:0}#rosterBreakdownContent{grid-template-columns:1fr}.rosterSummaryTable th,.rosterSummaryTable td{padding:8px 6px}.titleActions{flex-wrap:wrap}}

/* Escudos en las planillas de resultados */
.scoreMatchup{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:10px;padding:15px 12px;background:#0b0f15;border-bottom:1px solid var(--line)}.scoreMatchup>b{color:#ff5b6c;text-align:center;font-size:14px}.scoreMatchTeam{display:grid;justify-items:center;gap:6px;min-width:0;text-align:center}.scoreMatchTeam img,.scoreMatchTeam>span{width:64px;height:64px;border-radius:15px;background:#fff;object-fit:contain;padding:5px}.scoreMatchTeam>span{display:grid;place-items:center;color:#d71932;font-size:18px;font-weight:950}.scoreMatchTeam strong{color:#f4f6fb;font-size:14px;line-height:1.15;text-transform:uppercase;word-break:break-word}@media(max-width:520px){.scoreMatchup{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:5px;padding:12px 6px}.scoreMatchTeam img,.scoreMatchTeam>span{width:56px;height:56px}.scoreMatchTeam strong{font-size:12px}}

/* Pie institucional: ocupa siempre la columna principal, nunca el menu lateral. */
.platformFooter{grid-column:2;min-width:0;width:100%;align-self:end}
.platformFooter .developerCredit:not(.expanded){margin-left:auto!important;margin-right:auto!important}
.platformFooter .legalFooter{width:100%}
@media(max-width:900px){.platformFooter{grid-column:1;width:100%}}
#tsUpdateBanner{position:fixed;right:18px;bottom:18px;z-index:9999;border:2px solid #fff;border-radius:12px;background:#ed1738;color:#fff;padding:13px 17px;font-weight:900;box-shadow:0 8px 30px #0009;cursor:pointer}