:root{--cn:#1286c9;--cn-dark:#075a92;--cn-light:#eaf6fd;--ink:#17212b;--muted:#65717c;--ok:#178a55;--warn:#d99100;--danger:#c93737;--line:#dce6ee;--bg:#f4f8fb;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh;padding-bottom:76px}.topbar{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,var(--cn-dark),var(--cn));color:white;padding:14px 18px;box-shadow:0 3px 16px #0002}.brand{display:flex;align-items:center;gap:12px}.brandmark{width:46px;height:46px;border-radius:14px;background:white;color:var(--cn-dark);display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:0 5px 14px #0002}.brand h1{font-size:21px;margin:0}.brand small{opacity:.9}.top-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.iconbtn{border:0;background:#ffffff22;color:white;border-radius:12px;padding:10px 12px;cursor:pointer}.container{width:min(1120px,calc(100% - 28px));margin:22px auto}.hero{background:linear-gradient(145deg,#fff,#edf8ff);border:1px solid #d8ebf7;border-radius:24px;padding:24px;box-shadow:0 12px 40px #0b669414}.hero h2{margin:0 0 8px;font-size:28px}.hero p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:18px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 26px #1a5b8010}.card h3{margin:0 0 8px}.metric{font-size:34px;font-weight:800;color:var(--cn-dark)}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--cn);color:white;padding:11px 15px;font-weight:700;cursor:pointer}.btn.secondary{background:#eaf3f9;color:var(--cn-dark)}.btn.danger{background:var(--danger)}.btn.small{padding:7px 10px;font-size:13px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-title h2{margin:0}.club-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.club-card{background:white;border:1px solid var(--line);border-radius:20px;padding:15px;text-align:center;transition:.18s;position:relative}.club-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #145b7b19}.crest{width:82px;height:82px;border-radius:20px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:5px}.crest.placeholder{display:grid;place-items:center;margin:auto;background:var(--cn-light);font-weight:900;color:var(--cn-dark);font-size:24px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge.ok{background:#dff5ea;color:var(--ok)}.badge.warn{background:#fff1d5;color:#936000}.badge.danger{background:#fde1e1;color:var(--danger)}.badge.info{background:#dff1fc;color:var(--cn-dark)}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:18px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:11px 12px;border-bottom:1px solid #edf1f4;text-align:left}th{background:#edf7fd;color:var(--cn-dark);font-size:13px;position:sticky;top:0}tr:hover td{background:#f9fcfe}.searchbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.searchbar input,.searchbar select,.form input,.form select,.form textarea{border:1px solid #cddce6;border-radius:12px;padding:11px 12px;background:white}.searchbar input{flex:1;min-width:240px}.form{display:grid;gap:14px}.form label{font-weight:700}.form .hint{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:5px}.alert{display:flex;gap:12px;background:white;border:1px solid var(--line);border-left:5px solid var(--cn);border-radius:16px;padding:14px;margin:10px 0}.alert.red{border-left-color:var(--danger)}.alert.yellow{border-left-color:var(--warn)}.alert.info{border-left-color:var(--cn)}.alert .dot{width:12px;height:12px;border-radius:99px;background:var(--cn);margin-top:5px}.alert.red .dot{background:var(--danger)}.alert.yellow .dot{background:var(--warn)}.bottomnav{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:12;box-shadow:0 -4px 18px #17364b12}.bottomnav a{display:flex;flex-direction:column;align-items:center;padding:9px 5px;color:#586875;font-size:12px;gap:4px}.bottomnav a.active{color:var(--cn-dark);font-weight:800}.bottomnav .ico{font-size:22px}.favorite-banner{display:flex;align-items:center;gap:14px}.favorite-banner .crest{width:70px;height:70px}.empty{padding:30px;text-align:center;border:2px dashed #cbdde8;border-radius:20px;color:var(--muted);background:#ffffff88}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.admin-nav a{background:white;border:1px solid var(--line);padding:9px 12px;border-radius:12px}.admin-nav a.active{background:var(--cn);color:white;border-color:var(--cn)}.private{background:#fff4df;border:1px solid #f4d49b;padding:10px 12px;border-radius:12px;color:#805800}.profile{display:grid;grid-template-columns:180px 1fr;gap:22px}.photo{width:180px;height:210px;border-radius:20px;object-fit:cover;background:#e8eef3;border:1px solid var(--line)}.kv{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #edf1f4;padding:9px 0}.kv b{color:#4e606e}.toast{background:#dff5ea;color:#126a41;padding:12px 14px;border-radius:14px;margin-bottom:14px}.error{background:#fde1e1;color:#8d2828;padding:12px 14px;border-radius:14px;margin-bottom:14px}.pagination{display:flex;justify-content:center;gap:8px;margin:16px}.pagination a{background:white;border:1px solid var(--line);padding:8px 11px;border-radius:10px}.loginbox{max-width:460px;margin:60px auto;background:white;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 20px 50px #145b7b17}.footer-note{text-align:center;color:var(--muted);font-size:12px;margin:28px}.statusline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.statusline strong{color:var(--cn-dark)}
@media(max-width:700px){.container{width:min(100% - 18px,1120px);margin-top:14px}.hero{padding:18px}.hero h2{font-size:23px}.topbar{padding:11px}.brand h1{font-size:18px}.brandmark{width:40px;height:40px}.profile{grid-template-columns:1fr}.photo{width:150px;height:180px}.kv{grid-template-columns:130px 1fr}.top-actions .hide-mobile{display:none}}

.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:14px}.settings-grid label{display:grid;gap:7px}.category-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:8px}.category-head h3{margin:0 0 4px}.category-head p{margin:0;color:var(--muted);font-weight:400}.season-exception{background:#fff6dc;border:1px solid #efd790;border-radius:14px;padding:12px 14px;color:#755400}.category-row{display:grid;grid-template-columns:1.1fr 1fr .8fr .65fr 42px;gap:10px;align-items:end;background:#f8fbfd;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0}.category-row>div{display:grid;gap:6px}.field-title{font-weight:700;font-size:13px;color:#475968}.category-row input,.category-row select{width:100%;border:1px solid #cddce6;border-radius:12px;padding:11px 12px;background:white}.category-remove{height:43px;border:0;border-radius:12px;background:#fde1e1;color:var(--danger);font-weight:900;cursor:pointer}.category-remove:hover{background:#f7caca}
@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.category-head{align-items:stretch;flex-direction:column}.category-row{grid-template-columns:1fr 1fr}.category-remove{grid-column:2;justify-self:end;width:42px}.category-row>div:nth-child(3){grid-column:1}}
@media(max-width:520px){.category-row{grid-template-columns:1fr}.category-remove{grid-column:1;justify-self:end}.category-row>div:nth-child(3){grid-column:1}}

/* Corrección 1 */
.brand-logo{width:58px;height:58px;object-fit:contain;background:white;border-radius:14px;padding:4px;box-shadow:0 5px 14px #0002}.brand-logo.large{width:82px;height:82px}.form-section{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;margin:0;min-width:0}.form-section legend{font-weight:800;color:var(--cn-dark);padding:0 8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.form-grid label{display:grid;gap:7px}.form-grid .wide{grid-column:1/-1}.form textarea{resize:vertical;min-height:82px}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.check-card{display:flex!important;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:11px;background:#f8fbfd;cursor:pointer}.check-card input{width:19px;height:19px}.check-card span{display:grid;gap:2px}.check-card small{color:var(--muted);font-weight:400}.staff-grid{display:grid;gap:10px}.staff-row{display:grid;grid-template-columns:1.35fr .75fr .85fr .9fr .9fr;gap:10px;align-items:end;background:#f8fbfd;border:1px solid var(--line);border-radius:16px;padding:12px}.staff-row>div{display:grid;gap:6px}.auto-id{background:var(--cn-light);border:1px solid #c8e4f5;color:var(--cn-dark);padding:12px 14px;border-radius:14px;margin-bottom:14px}.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.credential-preview{position:sticky;top:105px}.credential-card{background:linear-gradient(145deg,#fff,#eaf6fd);border:2px solid var(--cn-dark);border-radius:22px;padding:16px;box-shadow:0 14px 34px #0b669421;overflow:hidden}.credential-head{display:flex;align-items:center;gap:10px;border-bottom:1px solid #cfe0ea;padding-bottom:10px}.credential-head>div{display:grid}.credential-head small{color:var(--muted)}.credential-crest{width:54px;height:54px;object-fit:contain;border-radius:12px;background:white;border:1px solid var(--line);padding:3px}.credential-body{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;padding-top:14px}.credential-body .photo{width:112px;height:140px;border-radius:14px}.credential-body h3{margin:0 0 8px;font-size:18px}.credential-body p{margin:5px 0}.check-line{display:flex!important;align-items:center;gap:10px;background:#fff6dc;border:1px solid #efd790;border-radius:14px;padding:12px}.check-line input{width:20px;height:20px}.profile{grid-template-columns:minmax(300px,360px) 1fr}.profile>.card{min-width:0}
@media(max-width:980px){.entry-layout{grid-template-columns:1fr}.credential-preview{position:static}.staff-row{grid-template-columns:1fr 1fr}.profile{grid-template-columns:1fr}.credential-card{max-width:420px}}
@media(max-width:650px){.brand-logo{width:46px;height:46px}.form-grid,.staff-row{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.section-title{align-items:flex-start;flex-direction:column}.section-title .btn{width:100%}.credential-body{grid-template-columns:95px 1fr}.credential-body .photo{width:95px;height:125px}}


/* Corrección 3: identidad visual segura y sin bloquear controles */
html,body{min-height:100%}
body{position:relative;overflow-x:hidden}
.shell{position:relative;isolation:isolate}
.brand-watermark{position:fixed;inset:84px 0 76px 0;z-index:-1;pointer-events:none;background:url('/static/cn_torneos_logo.png?v=correccion3') center 42%/min(78vw,980px) auto no-repeat;opacity:.075}
.topbar{min-height:78px}
.brand{min-width:0;width:100%}
.brand-logo{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;object-fit:contain!important;display:block!important;flex:0 0 52px!important;background:white;border-radius:13px;padding:3px;box-shadow:0 5px 14px #0002;opacity:.96}
.brand-logo.large{width:78px!important;height:78px!important;max-width:78px!important;max-height:78px!important;flex-basis:78px!important}
.brand>div:not(.top-actions){min-width:0}
.brand h1,.brand small{position:relative;z-index:1}
a,button,input,select,textarea{position:relative;z-index:1}
button,a,.btn,.iconbtn{touch-action:manipulation}
@media(max-width:700px){.brand-watermark{inset:74px 0 70px;background-size:92vw;opacity:.06}.brand-logo{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;flex-basis:44px!important}.topbar{min-height:68px}}

.identity-correction{margin-top:18px;border:1px solid #d7e4ee;border-radius:14px;padding:14px;background:#f8fbfd}.identity-correction summary{cursor:pointer;font-weight:800;color:#145a82}.identity-correction[open] summary{margin-bottom:12px}

/* Corrección 4: credenciales y liga configurable */
.year-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:12px 0 18px}.year-colors label{display:flex!important;align-items:center;justify-content:space-between;gap:10px;background:#f8fbfd;border:1px solid var(--line);border-radius:12px;padding:9px 11px}.year-colors input[type=color]{width:42px;height:34px;padding:2px;border-radius:8px}
.credential-card.physical{position:relative;padding:10px 58px 10px 10px;background:#fff;border:1px solid #aebdca;border-radius:15px;box-shadow:0 10px 24px #0002;aspect-ratio:85/54;max-width:430px;--year-color:#1286c9}.credential-league{display:flex;align-items:center;gap:8px;border-bottom:1px solid #dfe7ed;padding-bottom:5px}.credential-league>div{display:grid;line-height:1.05}.credential-league small{font-size:10px;color:#596874}.credential-league-logo{width:34px;height:34px;object-fit:contain}.credential-main{display:grid;grid-template-columns:88px 1fr 52px;gap:8px;align-items:center;padding-top:7px}.credential-main .photo{width:88px;height:108px;border-radius:8px}.credential-data h3{font-size:15px;margin:0 0 3px}.credential-data p{font-size:11px;margin:2px 0}.credential-club{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:11px}.credential-club-logo{width:25px;height:25px;object-fit:contain}.credential-qr{width:50px;height:50px}.credential-year{position:absolute;right:0;top:0;bottom:0;width:50px;background:var(--year-color);color:white;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;text-align:center}.credential-year span{font-size:8px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.4px}.credential-year b{font-size:16px}
.print-page{background:white;margin:0}.print-toolbar{position:sticky;top:0;z-index:10;background:#17212b;color:white;padding:10px 16px;display:flex;gap:16px;align-items:center}.print-toolbar button{background:#1286c9;color:white;border:0;border-radius:8px;padding:8px 14px;font-weight:700}.credential-sheet{width:190mm;margin:8mm auto;display:grid;grid-template-columns:85mm 85mm;grid-auto-rows:54mm;column-gap:10mm;row-gap:0}.print-credential{position:relative;width:85mm;height:54mm;border:.25mm solid #9aa7b2;overflow:hidden;background:white;padding:3mm 16mm 3mm 3mm;--year-color:#1286c9;break-inside:avoid;page-break-inside:avoid}.pc-top{height:11mm;display:flex;align-items:center;gap:2mm;border-bottom:.25mm solid #d6dde3}.pc-top>div{display:grid;line-height:1.05}.pc-top b{font-size:9pt}.pc-top small{font-size:5.8pt}.pc-league-logo{width:9mm;height:9mm;object-fit:contain}.pc-content{display:grid;grid-template-columns:20mm 1fr 13mm;gap:2mm;align-items:center;height:36mm;padding-top:1.5mm}.pc-photo{width:20mm;height:27mm;object-fit:cover;border:.25mm solid #9aa7b2}.pc-data{display:grid;align-content:center;line-height:1.1}.pc-data>b{font-size:8.2pt;margin-bottom:1mm}.pc-data span{font-size:6.3pt}.pc-club{display:flex;align-items:center;gap:1.2mm;margin-top:1.2mm;font-size:6pt}.pc-club-logo{width:7mm;height:7mm;object-fit:contain}.pc-qr{width:13mm;height:13mm}.pc-year{position:absolute;right:0;top:0;bottom:0;width:14mm;background:var(--year-color);color:white;display:flex;align-items:center;justify-content:center;flex-direction:column}.pc-year span{font-size:5.5pt}.pc-year b{font-size:14pt}
@page{size:A4 portrait;margin:8mm 10mm}@media print{.print-toolbar{display:none}.credential-sheet{margin:0 auto}.print-credential{break-inside:avoid;page-break-inside:avoid}}
/* Corrección 5 */
.pc-year{gap:1.5mm}.pc-year span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:6pt;font-weight:800;letter-spacing:.35mm}.pc-year b{font-size:13pt}.inline{display:inline-flex;margin:2px}.transfer-print{background:#fff;margin:0}.transfer-form{width:190mm;min-height:270mm;margin:10mm auto;padding:12mm;border:1px solid #9aa7b2;font-family:Arial,sans-serif;color:#17212b}.transfer-form header{display:grid;grid-template-columns:28mm 1fr auto;gap:6mm;align-items:center;border-bottom:2px solid #1286c9;padding-bottom:5mm;margin-bottom:8mm}.transfer-form header h1,.transfer-form header h2,.transfer-form header p{margin:0}.transfer-form header h1{font-size:18pt}.transfer-form header h2{font-size:13pt}.transfer-logo{width:26mm;height:26mm;object-fit:contain}.transfer-form>p{font-size:11pt;line-height:1.55;text-align:justify}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14mm 12mm;margin:26mm 0 16mm}.signature-grid>div{border-top:1px solid #222;padding-top:3mm;text-align:center;font-size:9pt}.admin-box{border:1px solid #666;padding:6mm;margin-top:10mm}.admin-box p{margin:4mm 0}@media print{.transfer-form{margin:0 auto;border:0;padding:8mm}.transfer-print .print-toolbar{display:none}}

/* Prototipo Fixture 2: asignación de equipos por zona */
.zone-club-list{display:grid;gap:10px;margin:14px 0 18px}
.zone-club-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line,#d9e4ec);border-radius:14px;background:#fff}
.zone-club-main{display:flex;align-items:center;gap:12px;margin:0;cursor:pointer}
.zone-club-main input{width:20px;height:20px;flex:0 0 20px}
.zone-club-main img{width:46px;height:46px;object-fit:contain;border-radius:10px;background:#f4f8fb;padding:3px}
.zone-club-main span{display:flex;flex-direction:column;gap:2px}
.zone-club-main small{color:#667784}
.zone-club-row select{margin:0}
.zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.zone-preview{min-height:120px;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line,#d9e4ec)}
.zone-preview h3{margin-top:0}
@media(max-width:720px){.zone-club-row{grid-template-columns:1fr}.zone-club-row select{width:100%}}


/* Prototipo Fixture 3 */
.fixture-list{display:grid;gap:16px}.fixture-round h3{margin-top:0}.fixture-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #e6edf5}.fixture-match:last-child{border-bottom:0}.fixture-match b:first-child{text-align:right}.fixture-match b:last-child{text-align:left}.fixture-match span{color:#667085;font-weight:800}.fixture-match.bye{grid-template-columns:1fr auto;background:#f8fafc;padding:10px 14px;border-radius:10px}.fixture-match.bye b{text-align:left}.fixture-match.bye span{color:#b7791f}

/* Prototipo Fixture 4: presentación oficial de zonas y fechas */
.tournament-presentation{background:linear-gradient(145deg,#031a2d,#073c62);color:#fff;border-radius:24px;padding:26px;margin:18px 0;box-shadow:0 18px 45px #001b2c38}
.presentation-title{text-align:center;margin-bottom:22px}.presentation-title small{color:#72d4ff;font-weight:900;letter-spacing:2px}.presentation-title h2{font-size:clamp(25px,4vw,45px);margin:5px 0;text-transform:uppercase}
.zone-board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}.zone-board{background:#07365a;border:1px solid #168bc8;border-radius:18px;padding:18px}.zone-board h3{text-align:center;background:#18a9dc;color:#fff;margin:-31px auto 16px;width:max-content;padding:8px 25px;border-radius:10px;text-transform:uppercase;box-shadow:0 6px 16px #0005}
.zone-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 10px}.zone-team-tile{display:grid;justify-items:center;text-align:center;gap:6px;font-size:11px;font-weight:800;min-width:0}.zone-team-logo{width:61px;height:61px;object-fit:contain;background:#fff;border-radius:14px;padding:4px}.zone-team-tile span{overflow-wrap:anywhere}
.fixture-list{display:grid;gap:20px}.fixture-round{background:#151719;color:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px #0002}.fixture-round h3{margin:0;background:#202325;color:#fff;text-align:center;padding:13px;font-size:16px;letter-spacing:1px}.fixture-round-body{padding:4px 15px 12px}.fixture-match{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:8px;padding:10px 3px;border-bottom:1px solid #353a3e}.fixture-match:last-child{border-bottom:0}.fixture-side{display:flex;align-items:center;gap:9px;min-width:0}.fixture-side.home{justify-content:flex-end;text-align:right}.fixture-side.away{justify-content:flex-start;text-align:left}.fixture-side b{overflow-wrap:anywhere}.fixture-logo{width:29px;height:29px;object-fit:contain;background:#fff;border-radius:7px;padding:2px;flex:0 0 29px}.versus{font-weight:900;color:#70d7ff;text-align:center}.fixture-match.bye{display:grid;grid-template-columns:30px 1fr auto;gap:9px;background:#30351f;color:#fff;margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid #8ba53b}.fixture-match.bye b{text-align:left}.fixture-match.bye span{color:#d9f277;font-weight:900}
.fixture-match.interzonal{background:#153d4b;border:1px solid #21b7d8;border-radius:10px;padding:10px 12px}.fixture-match.interzonal:before{content:'INTERZONAL';font-size:9px;font-weight:900;color:#7fe6ff}
@media(max-width:650px){.tournament-presentation{padding:20px 12px}.zone-team-grid{grid-template-columns:repeat(2,1fr)}.fixture-match{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);font-size:12px}.fixture-logo{width:25px;height:25px;flex-basis:25px}}
.toggle-card{display:flex;align-items:flex-start;gap:12px;background:#eefaff;border:1px solid #7bd5ee;border-radius:14px;padding:13px 15px;margin-bottom:14px;cursor:pointer}.toggle-card input{width:20px;height:20px;margin-top:2px}.toggle-card span{display:grid;gap:3px}.toggle-card small{color:#51606f}.fixture-match.interzonal{position:relative;background:linear-gradient(90deg,#153d4b,#0e5668);border:1px solid #3fd1ee;border-radius:12px;padding:14px 12px 10px;margin:8px 0;box-shadow:inset 0 0 0 1px #ffffff12}.interzonal-label{position:absolute;top:2px;left:50%;transform:translateX(-50%);font-size:9px!important;letter-spacing:1px;color:#9ff2ff!important;font-weight:900!important}.fixture-match.interzonal:before{content:none}

/* Programación operativa */
.programming-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:10px 8px 18px;border-bottom:1px solid rgba(18,134,201,.12);margin-bottom:10px}
.programming-actions form{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
@media(max-width:700px){.programming-actions{justify-content:flex-start}.programming-actions form{width:100%;margin-left:0}.programming-actions .btn{flex:1}}

/* Programación 8: fotos de árbitros y equipos */
.referee-card{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center}
.referee-photo{width:86px;height:86px;border-radius:50%;object-fit:cover;border:2px solid #dce9f2;background:#f4f8fb;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px}
.photo-preview-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.team-photo-row{display:grid;grid-template-columns:130px 1fr minmax(220px,1fr);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #e6eef4}
.team-photo-row:last-child{border-bottom:0}
.team-photo-row small{display:block;color:#71808c;margin-top:4px}
.team-photo-thumb{width:128px;height:76px;border-radius:10px;object-fit:cover;border:1px solid #dce7ef;background:#f4f8fb;display:flex;align-items:center;justify-content:center;font-size:12px;color:#71808c}
@media(max-width:700px){.team-photo-row{grid-template-columns:88px 1fr}.team-photo-row label{grid-column:1/-1}.team-photo-thumb{width:88px;height:60px}.referee-card{grid-template-columns:72px 1fr}.referee-photo{width:66px;height:66px}}

/* Web pública de estadísticas + gestión segura de clubes */
.public-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:linear-gradient(135deg,#072b47,#0c6fa7 58%,#1286c9);color:#fff;border-radius:26px;padding:30px;box-shadow:0 16px 42px #073b5f2b;overflow:hidden}.public-hero h2{font-size:clamp(30px,5vw,54px);line-height:1.02;margin:8px 0 10px}.public-hero p{max-width:680px;margin:0;color:#dceef8;font-size:17px}.eyebrow{display:inline-block;font-size:12px;font-weight:900;letter-spacing:1.7px;color:#9de3ff}.public-league-logo{width:130px;height:130px;object-fit:contain;background:#fff;border-radius:28px;padding:10px;box-shadow:0 14px 35px #001c2d55}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.public-hero .btn.secondary{background:#ffffff1f;color:#fff;border:1px solid #ffffff45}.league-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.league-metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center}.league-metric b{display:block;font-size:30px;color:var(--cn-dark)}.league-metric span{display:block;margin-top:3px;color:var(--muted);font-size:13px}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}.score-card,.next-match{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.score-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;color:var(--muted);font-size:12px}.score-meta span{font-weight:800;color:var(--cn-dark)}.score-team{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 0}.score-team strong{font-size:23px;color:var(--ink)}.score-logo,.table-logo,.chip-logo{object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:9px;padding:2px}.score-logo{width:34px;height:34px}.table-logo{width:28px;height:28px}.chip-logo{width:42px;height:42px}.next-versus{display:grid;grid-template-columns:34px minmax(0,1fr) 28px minmax(0,1fr) 34px;gap:7px;align-items:center;text-align:center}.next-versus span{font-weight:900;color:var(--cn)}.next-match>small{display:block;color:var(--muted);text-align:center;margin-top:10px}.empty.compact{padding:22px}.club-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.public-club-chip{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;font-weight:700;font-size:12px;min-width:0}.public-club-chip span{overflow-wrap:anywhere}.stat-tabs{display:flex;gap:9px;overflow:auto;padding:2px 0 8px;margin:18px 0 4px}.stat-tab{flex:0 0 auto;display:grid;gap:2px;min-width:126px;padding:10px 12px;border-radius:13px;background:#fff;border:1px solid var(--line);font-weight:800}.stat-tab small{font-weight:500;color:var(--muted)}.stat-tab.active{background:var(--cn);border-color:var(--cn);color:#fff}.stat-tab.active small{color:#dff4ff}.stats-hero{grid-template-columns:minmax(0,1fr) auto}.stats-ball{font-size:58px}.standings th:not(:nth-child(2)),.standings td:not(:nth-child(2)){text-align:center}.table-club{display:flex;align-items:center;gap:8px}.recreative-note{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-top:18px}.recreative-note h3,.recreative-note p{margin:0}.recreative-note p{color:var(--muted);margin-top:5px}.recreative-icon{font-size:38px}.admin-info{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#eef8fd;border:1px solid #cfe9f8;border-radius:18px;padding:16px 18px;margin-bottom:18px}.admin-info p{margin:4px 0 0;color:var(--muted)}.admin-club-card{display:flex;flex-direction:column;align-items:center}.admin-club-card>.muted{margin-top:7px}.admin-club-card .statusline{justify-content:center}
@media(max-width:760px){.public-hero{grid-template-columns:1fr;padding:22px}.public-league-logo{width:90px;height:90px;grid-row:1}.league-metrics{grid-template-columns:repeat(2,1fr)}.admin-info{align-items:stretch;flex-direction:column}.admin-info .btn{width:100%}.next-versus{grid-template-columns:30px minmax(0,1fr) 24px minmax(0,1fr) 30px;font-size:12px}.score-logo{width:30px;height:30px}}
@media(max-width:420px){.league-metrics{grid-template-columns:1fr 1fr}.league-metric{padding:12px 8px}.league-metric b{font-size:25px}.public-hero h2{font-size:31px}.section-title{align-items:flex-start}.section-title>a{font-size:12px}}
.readonly-status{display:flex;align-items:center;gap:8px;min-height:44px}.readonly-status small{font-weight:400;color:var(--muted)}

/* Resultados por categoría · circuito real del fixture nuevo */
.result-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.result-grid{display:grid;gap:9px;margin-bottom:12px}.result-row{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr) 20px minmax(0,1fr);gap:8px;align-items:end;background:#f7fafc;border:1px solid var(--line);border-radius:12px;padding:10px}.result-row>b{align-self:center;color:var(--cn-dark)}.result-row label{font-size:11px;color:var(--muted);font-weight:700}.result-row input{width:100%;min-height:38px;text-align:center;font-size:18px;font-weight:900;margin-top:4px}.result-row>span{text-align:center;font-weight:900;padding-bottom:9px}
@media(max-width:620px){.result-row{grid-template-columns:1fr 1fr 20px 1fr}.result-row>b{grid-column:1/-1}.result-row label{min-width:0}.result-row input{font-size:16px}}

/* Historial jugador 2026-09-05 */
.result-category{margin-bottom:18px}.scoreline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scoreline input.score{width:74px;font-size:22px;text-align:center}.scorers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:10px 0}.red-report,.notes-box{margin-top:10px}

.planillas-btn{background:#0f7a3b!important;box-shadow:0 8px 24px rgba(15,122,59,.18)}

/* ===== PORTAL LIGA V1 · mobile first · 2026-09-06 ===== */
.portal-masthead{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin-bottom:14px;text-align:left;box-shadow:0 6px 20px #17364b0d}.portal-masthead-logo{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px}.portal-masthead-logo img{max-width:56px;max-height:56px;object-fit:contain}.portal-masthead>div:last-child{display:flex;flex-direction:column;line-height:1.15}.portal-masthead b{font-size:13px}.portal-masthead span{font-size:11px;font-weight:700;color:#526674;margin-top:2px}
.portal-bottomnav{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.portal-bottomnav::-webkit-scrollbar{display:none}.portal-bottomnav a{flex:1 0 68px;min-width:68px;padding:7px 3px 8px;font-size:10px}.portal-bottomnav .ico{font-size:19px}
.portal-screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0 12px}.portal-screen-head h2{margin:0;font-size:22px;letter-spacing:.4px}.portal-screen-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.portal-context-chips{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.portal-context-chips span{background:var(--cn);color:#fff;padding:6px 8px;border-radius:6px;font-size:10px;font-weight:900;letter-spacing:.3px}
.portal-filter-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px 0 8px}.portal-filter-row::-webkit-scrollbar{display:none}.portal-filter{flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;white-space:nowrap}.portal-filter.active{background:var(--cn-dark);border-color:var(--cn-dark);color:#fff}.portal-zones{padding-top:0}.portal-zones .portal-filter.active{background:var(--cn);border-color:var(--cn)}.portal-rounds{margin-top:0;padding-bottom:10px}
.portal-results-list{display:grid;gap:9px}.portal-result-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;box-shadow:0 5px 15px #17364b0c}.portal-result-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-bottom:4px}.portal-result-team{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:38px}.portal-result-team b{font-size:12px;line-height:1.1}.portal-result-team strong{font-size:20px;text-align:center}.portal-score-logo{width:29px;height:29px;object-fit:contain;border:1px solid var(--line);border-radius:7px;padding:2px;background:#fff}.portal-score-logo.placeholder{display:grid;place-items:center;font-size:9px;font-weight:900;background:#eaf5fc;color:var(--cn-dark)}
.portal-table-wrap{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px}.portal-standings{width:100%;min-width:0!important;table-layout:fixed;font-size:9px}.portal-standings th,.portal-standings td{padding:7px 2px;text-align:center;border-bottom:1px solid #edf1f4}.portal-standings th{font-size:8px;position:static;white-space:nowrap;background:#e8f7ff}.portal-standings th:nth-child(1),.portal-standings td:nth-child(1){width:6%}.portal-standings th:nth-child(2),.portal-standings td:nth-child(2){width:40%;text-align:left}.portal-standings th:nth-child(n+3),.portal-standings td:nth-child(n+3){width:6.75%}.portal-standings td.pts{background:#20d7ee;color:#07324c;font-weight:900}.portal-standings .club a{display:flex;align-items:center;gap:4px;min-width:0}.portal-standings .club b{font-size:9px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-table-logo{width:18px;height:18px;flex:0 0 18px;object-fit:contain;border-radius:4px;padding:1px;background:#fff}.portal-table-logo.placeholder{display:grid;place-items:center;font-size:6px;background:#eef7fc}.portal-standings .pos{font-weight:900}
.portal-scorers{display:grid;gap:7px}.portal-scorer-row{display:grid;grid-template-columns:26px 44px minmax(0,1fr) 40px;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px}.portal-scorer-row .rank{font-weight:900;text-align:center;color:var(--cn-dark)}.portal-scorer-row img{width:44px;height:44px;object-fit:cover;border-radius:10px;background:#eef4f8}.portal-scorer-row .who{display:flex;flex-direction:column;min-width:0}.portal-scorer-row .who b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-scorer-row .who small{font-size:10px;color:var(--muted);margin-top:2px}.portal-scorer-row strong{font-size:22px;text-align:center;color:var(--cn-dark)}
.portal-clubs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-club-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.portal-club-logo{width:58px;height:58px;object-fit:contain;border-radius:12px;padding:3px;background:#fff}.portal-club-logo.placeholder{display:grid;place-items:center;background:#eaf5fc;font-weight:900;color:var(--cn-dark)}.portal-club-card b{font-size:11px;margin-top:6px;line-height:1.1}.portal-club-card small{font-size:9px;color:var(--muted);margin-top:4px}
.portal-back{display:inline-flex;margin:0 0 9px;font-size:12px;font-weight:800;color:var(--cn-dark)}.portal-club-hero{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.portal-team-photo{width:100%;height:190px;object-fit:cover;display:block;background:#e9f2f7}.portal-team-photo.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.portal-team-crest{width:76px;height:76px;object-fit:contain}.portal-team-crest.placeholder{display:grid;place-items:center;background:#fff}.portal-club-title{display:flex;align-items:center;gap:9px;padding:10px 12px}.portal-club-title h2{font-size:17px;margin:0}.portal-club-title span{font-size:11px;color:var(--muted)}.portal-club-title-logo{width:42px;height:42px;object-fit:contain;border-radius:9px}.portal-club-title-logo.placeholder{display:grid;place-items:center;background:#eaf5fc;font-size:10px}.portal-roster-title{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px}.portal-roster-title h3{margin:0;font-size:16px}.portal-roster-title span{font-size:10px;color:var(--muted)}.portal-player-list{display:grid;gap:7px}.portal-player-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px}.portal-player-card>img{width:48px;height:48px;object-fit:cover;border-radius:10px;background:#eef4f8}.portal-player-card>span{display:flex;flex-direction:column;min-width:0}.portal-player-card b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-player-card small{font-size:10px;color:#526674;margin-top:4px}
.portal-player-profile{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px}.portal-player-profile>img{width:92px;height:105px;object-fit:cover;border-radius:13px;background:#eef4f8}.portal-player-profile h2{font-size:18px;margin:0 0 5px;line-height:1.05}.portal-player-profile p{display:flex;align-items:center;gap:5px;margin:0;color:#425764;font-size:11px}.portal-player-profile>div>span{display:inline-block;margin-top:7px;background:#e8f7ff;color:var(--cn-dark);border-radius:7px;padding:5px 7px;font-size:10px;font-weight:800}.portal-inline-club-logo{width:22px;height:22px;object-fit:contain}.portal-inline-club-logo.placeholder{display:grid;place-items:center;background:#eaf5fc;font-size:6px}.portal-player-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.portal-player-metrics>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px;text-align:center}.portal-player-metrics b{display:block;font-size:24px;color:var(--cn-dark)}.portal-player-metrics span{font-size:10px;color:var(--muted)}.portal-player-events{display:grid;gap:7px}.portal-player-event{display:grid;grid-template-columns:72px minmax(0,1fr);gap:3px 8px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px}.portal-player-event>span{grid-row:1/3;font-size:9px;color:var(--muted)}.portal-player-event b{font-size:11px}.portal-player-event small{font-size:9px;color:#526674}
@media(min-width:700px){.portal-clubs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-results-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-team-photo{height:310px}.portal-screen-head h2{font-size:28px}.portal-standings{font-size:11px}.portal-standings th{font-size:10px}.portal-standings .club b{font-size:11px}.portal-table-logo{width:22px;height:22px}}
@media(max-width:520px){.container{width:calc(100% - 16px);margin:10px auto}.topbar{padding:10px 12px}.brand-logo{width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;flex-basis:42px!important}.brand h1{font-size:18px}.brand small{font-size:11px}.top-actions .hide-mobile{display:none}.portal-masthead{margin-bottom:10px;padding:9px 10px}.portal-masthead-logo{width:48px;height:48px;flex-basis:48px}.portal-masthead-logo img{max-width:46px;max-height:46px}.portal-screen-head{align-items:flex-start;flex-direction:column;gap:7px}.portal-context-chips{justify-content:flex-start}.shell{padding-bottom:68px}.footer-note{margin-bottom:16px}}

/* Portal Liga V1.1 - partido como unidad publica */
.portal-home-matches{display:grid;gap:8px}.portal-home-match,.portal-match-row{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 11px;box-shadow:0 5px 15px #17364b0c;color:inherit;text-decoration:none}.portal-home-match-meta,.portal-match-status{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9px;color:var(--muted)}.portal-home-match-meta b,.portal-match-status span{font-size:9px;background:#eef7fc;color:var(--cn-dark);border-radius:6px;padding:4px 6px}.portal-home-versus,.portal-match-versus{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:7px;margin-top:7px}.portal-home-versus>span,.portal-match-versus>span{display:flex;align-items:center;gap:6px;min-width:0}.portal-home-versus>span:last-child,.portal-match-versus>span:last-child{justify-content:flex-end;text-align:right}.portal-home-versus b,.portal-match-versus b{font-size:11px;line-height:1.08}.portal-home-versus>strong,.portal-match-versus>strong{text-align:center;font-size:10px;color:var(--muted)}.portal-match-status{margin-top:7px;border-top:1px solid #edf1f4;padding-top:7px}.portal-match-status small{font-size:9px;color:var(--cn-dark);font-weight:800}
.portal-match-hero{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 10px}.portal-match-hero>strong{text-align:center;font-size:12px;color:var(--muted)}.portal-match-team{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;min-width:0}.portal-match-team b{font-size:12px;line-height:1.08}.portal-match-logo{width:56px;height:56px;object-fit:contain;border-radius:12px;background:#fff}.portal-match-logo.placeholder{display:grid;place-items:center;background:#eaf5fc;color:var(--cn-dark);font-size:12px;font-weight:900}.portal-match-mainmeta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.portal-match-mainmeta span{background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800;color:#425764}
.portal-category-list{display:grid;gap:8px}.portal-category-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.portal-category-head{padding:9px 10px;background:#f5fafc;border-bottom:1px solid var(--line)}.portal-category-head h3{margin:0;font-size:15px}.portal-category-head small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.portal-category-score{display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:center;gap:6px;padding:10px}.portal-category-score b{font-size:10px;line-height:1.1}.portal-category-score b:last-child{text-align:right}.portal-category-score strong{text-align:center;font-size:22px;color:var(--cn-dark)}.portal-category-pending{margin:10px;background:#fff6d8;border:1px solid #ead48a;color:#775b00;border-radius:9px;padding:9px;text-align:center;font-size:11px;font-weight:900}.portal-category-empty{margin:0;padding:0 10px 10px;color:var(--muted);font-size:9px;text-align:center}.portal-category-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #edf1f4}.portal-category-stats>div{padding:8px 9px;border-bottom:1px solid #edf1f4}.portal-category-stats>div:nth-child(odd){border-right:1px solid #edf1f4}.portal-category-stats span{display:block;font-size:8px;font-weight:900;color:#526674;text-transform:uppercase}.portal-category-stats p{margin:3px 0 0;font-size:9px;line-height:1.25}.portal-category-stats a{color:var(--cn-dark);font-weight:700}
@media(min-width:700px){.portal-home-matches{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-match-hero{max-width:760px;margin:0 auto}.portal-match-mainmeta{justify-content:center}}


/* ===== PORTAL LIGA V1.2 · correcciones UI 2026-09-09 =====
   - Escudo institucional contenido (evita tamaño natural gigante)
   - Navegación pública siempre en una sola línea de 6 accesos
   - Botón Admin visible en cabecera pública
*/
.portal-masthead{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  overflow:hidden!important;
}
.portal-masthead-logo{
  width:60px!important;
  height:60px!important;
  max-width:60px!important;
  max-height:60px!important;
  flex:0 0 60px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.portal-masthead-logo img{
  display:block!important;
  width:56px!important;
  height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  object-fit:contain!important;
}
.portal-bottomnav{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  overflow:visible!important;
}
.portal-bottomnav a{
  min-width:0!important;
  flex:none!important;
  padding:7px 2px 8px!important;
  white-space:nowrap!important;
}
.public-admin-btn{white-space:nowrap;font-weight:800}
@media(max-width:520px){
  .portal-masthead-logo{width:50px!important;height:50px!important;max-width:50px!important;max-height:50px!important;flex-basis:50px!important}
  .portal-masthead-logo img{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important}
  .portal-bottomnav a{font-size:9px!important;padding:6px 1px 7px!important}
  .portal-bottomnav .ico{font-size:18px!important}
  .public-admin-btn{font-size:11px;padding:8px 9px}
}

/* RESULTADOS V1.3 — plantilla por jugadores habilitados */
.roster-instruction{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 10px}.roster-instruction span{color:var(--muted);font-size:13px}.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0 16px}.team-roster{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fbfdff}.team-roster-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#edf7fd;border-bottom:1px solid var(--line)}.team-roster-head h4{margin:2px 0 0}.team-roster-head small{font-size:11px;color:var(--muted);font-weight:800}.roster-counter{font-size:12px;font-weight:900;border-radius:999px;padding:6px 9px;background:#fff;border:1px solid var(--line)}.roster-counter.ok{background:#dff5ea;color:var(--ok);border-color:#bfe8d2}.roster-counter.warn{background:#fff1d5;color:#936000;border-color:#f0d29b}.player-stat-head,.player-stat-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 72px 58px;gap:8px;align-items:center}.player-stat-head{padding:8px 10px;background:#f7fafc;color:var(--muted);font-size:11px;font-weight:800;text-align:center}.player-stat-head span:first-child{text-align:left}.player-stat-row{padding:8px 10px;border-top:1px solid #edf1f4}.player-stat-row:hover{background:#f8fcff}.player-stat-name{display:flex;align-items:center;gap:8px;min-width:0}.player-stat-name b{font-size:13px;overflow-wrap:anywhere}.player-card{display:inline-flex;min-width:42px;justify-content:center;padding:4px 6px;border-radius:8px;background:#eaf3f9;color:var(--cn-dark);font-size:11px;font-weight:900}.player-stat-goals{display:flex;align-items:center;justify-content:center;gap:4px}.player-stat-goals input{width:46px!important;padding:7px 5px!important;text-align:center;border:1px solid #cddce6;border-radius:9px}.stat-check{display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.stat-check input{width:18px;height:18px}.red-report{display:grid;gap:7px;margin-top:12px}.red-report textarea,.notes-box textarea{width:100%;border:1px solid #cddce6;border-radius:12px;padding:11px 12px;min-height:82px}.result-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:18px 0 4px}
@media(max-width:850px){.roster-grid{grid-template-columns:1fr}}
@media(max-width:520px){.player-stat-head,.player-stat-row{grid-template-columns:minmax(0,1fr) 58px 58px 50px;gap:4px}.player-stat-head{font-size:10px}.player-card{min-width:36px}.player-stat-name b{font-size:12px}.player-stat-goals input{width:40px!important}}

/* PORTAL LIGA · PERLITAS 1–6 · 09/09/2026 */
.clean-home .hero-actions,.clean-home+.league-metrics{display:none!important}
.portal-home-scoreline,.portal-result-score-summary{margin-top:7px;padding:7px 8px;border-radius:9px;background:#f0f8fc;color:#17384d;font-size:10px;line-height:1.45;text-align:center;border:1px solid #dbeaf3}
.portal-result-score-summary b{font-size:11px;color:#062c48}
.participant-logo-strip{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding:3px 1px 10px;margin-bottom:10px}.participant-logo-strip::-webkit-scrollbar{display:none}.participant-logo-chip{flex:0 0 auto;width:52px;height:52px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:5px;box-shadow:0 4px 12px #17364b0b}.participant-strip-logo{width:40px;height:40px;object-fit:contain}.participant-strip-logo.placeholder{display:grid;place-items:center;background:#eaf5fc;border-radius:8px;font-size:8px;font-weight:900;color:var(--cn-dark)}
.portal-next-row .portal-home-match-meta b{background:#e6f5ec;color:#167a4a}.portal-next-row .portal-home-match-meta b:has(+*){background:#e6f5ec}
.fixture-date-head{display:flex;align-items:baseline;gap:9px;margin:20px 2px 8px}.fixture-date-head h2{margin:0;font-size:20px}.fixture-date-head span{font-size:11px;color:var(--muted);font-weight:800}.fixture-compact-list{display:grid;gap:8px}.fixture-compact-row{background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px 11px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;align-items:center}.fixture-compact-row.bye{grid-template-columns:auto 1fr}.fixture-compact-main{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:7px;align-items:center}.fixture-compact-main>span{display:flex;align-items:center;gap:6px;min-width:0}.fixture-compact-main>span:last-child{justify-content:flex-end;text-align:right}.fixture-compact-main b{font-size:11px;line-height:1.08;overflow-wrap:anywhere}.fixture-compact-main>strong{text-align:center;font-size:10px;color:var(--muted)}.fixture-strip-logo{width:28px;height:28px;object-fit:contain;border-radius:7px;padding:2px;background:#fff;border:1px solid var(--line);flex:0 0 28px}.fixture-strip-logo.placeholder{display:grid;place-items:center;background:#eaf5fc;font-size:7px;font-weight:900;color:var(--cn-dark)}.fixture-compact-side{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.fixture-state{font-size:9px;font-weight:900;border-radius:999px;padding:5px 7px;background:#eef7fc;color:var(--cn-dark)}.fixture-state.finalizado{background:#e6f5ec;color:#18794e}.fixture-state.suspendido{background:#fff0dc;color:#9a5a00}.fixture-state.reprogramado{background:#e8edff;color:#4156a5}.fixture-state.programado{background:#e6f5ec;color:#18794e}.fixture-score-summary{font-size:10px;font-weight:800;color:#17384d}.fixture-compact-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;color:var(--muted)}
.standings-all-categories{display:grid;gap:18px}.standings-category-block{scroll-margin-top:80px}.standings-category-title{display:flex;align-items:center;justify-content:space-between;margin:10px 2px 7px}.standings-category-title h3{margin:0;font-size:16px}.standings-pending-note{margin:7px 4px 0!important;font-size:9px}
.portal-back-actions{display:flex;align-items:center;gap:10px;margin-bottom:9px}.portal-back-actions .portal-back{margin:0}.portal-plantel-link{background:#fff;border:1px solid var(--line);border-radius:9px;padding:6px 9px}
@media(max-width:700px){.fixture-compact-row{grid-template-columns:1fr}.fixture-compact-side{justify-content:flex-start;padding-top:7px;border-top:1px solid #edf1f4}.fixture-compact-meta{justify-content:flex-start}.portal-home-scoreline,.portal-result-score-summary{font-size:9px}.participant-logo-chip{width:48px;height:48px}.participant-strip-logo{width:37px;height:37px}}

/* v1.8 · Portada centrada en próxima fecha */
.portal-home-next-meta{margin-top:7px;font-size:.82rem;color:#607083;font-weight:600}
.home-next-title{margin-top:22px}
@media(max-width:680px){.portal-home-next-meta{font-size:.76rem}.home-next-title h2{font-size:1.25rem}}
