/* Hartico Football Association - estilos base y componentes de la interfaz. */
:root{--accent:#0b6bcb;--accent2:#084d92;--accent-light:#37a2ff;--bg:#f4f7fb;--panel:#fff;--panel-2:#f7f9fc;--panel-tint:#f8fbff;--input-bg:#fff;--topbar-bg:rgba(255,255,255,.9);--text:#182230;--muted:#667085;--muted-2:#475467;--text-soft:#7b8795;--line:#e4e9f0;--line-soft:#edf1f6;--line-strong:#d7dde5;--danger:#c93636;--ok:#16875b;--warning:#b66a09;--shadow:0 10px 30px rgba(31,45,61,.08);--radius:16px;
--navy:#0b1d31;--navy-2:#102943;--shadow-sm:0 4px 14px rgba(20,30,50,.06);--shadow-md:0 12px 28px rgba(15,31,50,.10);--shadow-lg:0 26px 64px rgba(9,29,50,.18);--radius-sm:10px;--radius-lg:22px;--gold:#e3ab1f;--gold-soft:#fff4d6;--gold-ink:#7d5900;
--accent-soft-bg:#eef6ff;--accent-soft-line:#cfe3fa;--accent-ink:#0b5ea8;
--ok-bg:#e7f7ef;--ok-line:#c8ead9;--ok-ink:#08724b;
--warn-bg:#fff7df;--warn-line:#f2ddaa;--warn-ink:#946200;
--danger-bg:#fdecec;--danger-line:#f3c9c9;--danger-ink:#a32727;
--gray-bg:#f1f3f5;--gray-ink:#5b6572;
--purple-bg:#f1eaff;--purple-ink:#6c3bb6;
--on-navy:#fff;--on-navy-muted:#cfe4fa;
--modal-overlay:rgba(14,24,37,.56);
--code-bg:#0f1f32;--code-ink:#eaf4ff;
--scrollbar-thumb:#c7d0dc;--scrollbar-track:transparent;
--hover-overlay:rgba(15,23,42,.07);
--cat-aplus-bg:#e7f1ff;--cat-aplus-ink:#075ca8;--cat-a-bg:#e7f7ef;--cat-a-ink:#08724b;--cat-bplus-bg:#eff8e6;--cat-bplus-ink:#47751a;--cat-b-bg:#fff5dc;--cat-b-ink:#946000;--cat-c-bg:#f6eee7;--cat-c-ink:#805739;--cat-d-bg:#f2f4f7;--cat-d-ink:#667085;
--color-scheme:light}
:root[data-theme="dark"]{--color-scheme:dark;
--accent:#4f8fe8;--accent2:#6ba5f0;--accent-light:#37a2ff;--bg:#0b131f;--panel:#131c29;--panel-2:#182233;--panel-tint:#152436;--input-bg:#101828;--topbar-bg:rgba(19,28,41,.86);--text:#e6ecf4;--muted:#93a1b4;--muted-2:#aab6c6;--text-soft:#7e8ba0;--line:#26313f;--line-soft:#1f2937;--line-strong:#32404f;--danger:#e0665f;--ok:#3ecf8e;--warning:#e0ad57;--shadow:0 10px 30px rgba(0,0,0,.35);
--navy:#0b1d31;--navy-2:#102943;--shadow-sm:0 4px 14px rgba(0,0,0,.28);--shadow-md:0 12px 28px rgba(0,0,0,.34);--shadow-lg:0 26px 64px rgba(0,0,0,.5);--gold:#e6b73a;--gold-soft:#2f2610;--gold-ink:#f0c766;
--accent-soft-bg:#16283f;--accent-soft-line:#28496e;--accent-ink:#7fb2ee;
--ok-bg:#12291f;--ok-line:#1f4633;--ok-ink:#5cd8a2;
--warn-bg:#2b2210;--warn-line:#4a3a17;--warn-ink:#e3b25c;
--danger-bg:#301616;--danger-line:#552323;--danger-ink:#f0928c;
--gray-bg:#1c2531;--gray-ink:#a7b2c1;
--purple-bg:#211a35;--purple-ink:#b79bf2;
--on-navy:#fff;--on-navy-muted:#cfe4fa;
--modal-overlay:rgba(3,7,14,.72);
--code-bg:#080f19;--code-ink:#d7e6f7;
--scrollbar-thumb:#33404f;--scrollbar-track:transparent;
--hover-overlay:rgba(255,255,255,.08);
--cat-aplus-bg:#193353;--cat-aplus-ink:#7fb2ee;--cat-a-bg:#12291f;--cat-a-ink:#5cd8a2;--cat-bplus-bg:#20330f;--cat-bplus-ink:#a3d873;--cat-b-bg:#2b2210;--cat-b-ink:#e3b25c;--cat-c-bg:#2c2119;--cat-c-ink:#d3a687;--cat-d-bg:#1c2531;--cat-d-ink:#a7b2c1}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-theme="dark"]){--color-scheme:dark;
--accent:#4f8fe8;--accent2:#6ba5f0;--accent-light:#37a2ff;--bg:#0b131f;--panel:#131c29;--panel-2:#182233;--panel-tint:#152436;--input-bg:#101828;--topbar-bg:rgba(19,28,41,.86);--text:#e6ecf4;--muted:#93a1b4;--muted-2:#aab6c6;--text-soft:#7e8ba0;--line:#26313f;--line-soft:#1f2937;--line-strong:#32404f;--danger:#e0665f;--ok:#3ecf8e;--warning:#e0ad57;--shadow:0 10px 30px rgba(0,0,0,.35);
--navy:#0b1d31;--navy-2:#102943;--shadow-sm:0 4px 14px rgba(0,0,0,.28);--shadow-md:0 12px 28px rgba(0,0,0,.34);--shadow-lg:0 26px 64px rgba(0,0,0,.5);--gold:#e6b73a;--gold-soft:#2f2610;--gold-ink:#f0c766;
--accent-soft-bg:#16283f;--accent-soft-line:#28496e;--accent-ink:#7fb2ee;
--ok-bg:#12291f;--ok-line:#1f4633;--ok-ink:#5cd8a2;
--warn-bg:#2b2210;--warn-line:#4a3a17;--warn-ink:#e3b25c;
--danger-bg:#301616;--danger-line:#552323;--danger-ink:#f0928c;
--gray-bg:#1c2531;--gray-ink:#a7b2c1;
--purple-bg:#211a35;--purple-ink:#b79bf2;
--modal-overlay:rgba(3,7,14,.72);
--code-bg:#080f19;--code-ink:#d7e6f7;
--scrollbar-thumb:#33404f;--scrollbar-track:transparent;
--hover-overlay:rgba(255,255,255,.08);
--cat-aplus-bg:#193353;--cat-aplus-ink:#7fb2ee;--cat-a-bg:#12291f;--cat-a-ink:#5cd8a2;--cat-bplus-bg:#20330f;--cat-bplus-ink:#a3d873;--cat-b-bg:#2b2210;--cat-b-ink:#e3b25c;--cat-c-bg:#2c2119;--cat-c-ink:#d3a687;--cat-d-bg:#1c2531;--cat-d-ink:#a7b2c1}}
html{color-scheme:var(--color-scheme)}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px;border:3px solid var(--bg)}
body,.card,.btn,.modal,.table-wrap,.table th,.table td,.field input,.field select,.field textarea,.topbar{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.theme-toggle{width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
@media(prefers-reduced-motion:reduce){body,.card,.btn,.modal,.table-wrap,.table th,.table td,.field input,.field select,.field textarea,.topbar{transition:none}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:var(--on-navy);padding:22px 16px}.brand{display:flex;align-items:center;gap:12px;padding:2px 8px 22px}.brandmark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--accent),var(--accent-light));display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:0 8px 20px rgba(11,107,203,.35)}.brand h1{font-size:15px;margin:0}.brand small{color:#a9b8ca}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#c8d4e2;text-align:left;padding:11px 12px;border-radius:10px;display:flex;align-items:center;gap:10px}.nav button:hover,.nav button.active{background:#18314e;color:#fff}.nav .ico{width:22px;text-align:center}.side-foot{margin-top:24px;border-top:1px solid #29405b;padding:16px 8px;color:#90a3b8;font-size:12px}.main{min-width:0}.topbar{height:76px;background:var(--topbar-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.top-title h2{margin:0;font-size:20px}.top-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:8px;align-items:center}.content{padding:28px;max-width:1500px;margin:0 auto}.page{display:none}.page.active{display:block}.pagehead{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.pagehead h2{margin:0 0 5px;font-size:25px}.pagehead p{margin:0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:9px 13px;font-weight:650}.btn:hover{box-shadow:0 4px 14px rgba(30,50,80,.08)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.btn.ghost{background:transparent}.btn.small{padding:6px 9px;font-size:12px}.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:18px}.metric .label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.metric .value{font-size:32px;font-weight:800;margin-top:7px}.metric .hint{color:var(--muted);font-size:12px;margin-top:4px}.section{padding:20px}.section h3{font-size:16px;margin:0 0 14px}.split{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;margin-top:16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:700;color:var(--muted-2)}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:9px;padding:9px 10px;background:var(--input-bg);color:var(--text);min-width:0}.field textarea{resize:vertical;min-height:86px}.toolbar .field{min-width:180px}.search{min-width:260px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:13px;vertical-align:middle}.table th{background:var(--panel-2);color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:var(--panel-2)}.num{text-align:right!important;font-variant-numeric:tabular-nums}.center{text-align:center!important}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750;background:var(--accent-soft-bg);color:var(--accent-ink)}.badge.ok{background:var(--ok-bg);color:var(--ok-ink)}.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}.badge.gray{background:var(--gray-bg);color:var(--gray-ink)}.badge.red{background:var(--danger-bg);color:var(--danger-ink)}.teamgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.teamcard{padding:17px;position:relative}.teamtop{display:flex;gap:12px;align-items:center}.crest{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:17px;font-weight:900;background:var(--team,#4f75a7);overflow:hidden;flex:0 0 54px}.crest img{width:100%;height:100%;object-fit:cover}.teamcard h3{margin:0;font-size:16px}.teamcard p{margin:4px 0 0;font-size:12px;color:var(--muted)}.teammeta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.teammeta div{background:var(--panel-2);border-radius:9px;padding:9px}.teammeta span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.teammeta b{font-size:12px}.card-actions{display:flex;gap:6px;margin-top:13px}.fixture-groups{display:grid;gap:18px}.round-card{overflow:hidden}.round-title{padding:13px 16px;background:var(--panel-2);border-bottom:1px solid var(--line);font-weight:800}.fixture{display:grid;grid-template-columns:110px 1fr 90px 1fr 110px;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line-soft)}.fixture:last-child{border-bottom:0}.fixture .home{text-align:right}.fixture .score{text-align:center;font-size:16px;font-weight:900}.fixture .date{color:var(--muted);font-size:11px}.fixture .status{text-align:right}.empty{padding:36px;text-align:center;color:var(--muted)}.modal-back{position:fixed;inset:0;background:var(--modal-overlay);display:none;align-items:flex-start;justify-content:center;z-index:100;padding:34px 16px;overflow:auto}.modal-back.open{display:flex}.modal{width:min(820px,100%);background:var(--panel);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.24);overflow:hidden}.modal.large{width:min(1120px,100%)}.modal-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.closex{border:0;background:transparent;font-size:24px;color:var(--muted)}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.formgrid .full{grid-column:1/-1}.checkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;border:1px solid var(--line);padding:10px;border-radius:10px}.checkitem{display:flex;gap:7px;align-items:center;font-size:12px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:15px}.tab{border:0;background:transparent;padding:9px 12px;border-bottom:2px solid transparent;color:var(--muted);font-weight:700}.tab.active{border-color:var(--accent);color:var(--accent)}.bracket{display:flex;gap:28px;overflow:auto;padding:10px 4px 20px}.bracket-col{min-width:240px}.bracket-col h4{text-align:center;margin:0 0 12px;color:var(--muted-2)}.bracket-match{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:0 0 14px;box-shadow:0 3px 10px rgba(20,30,50,.04);overflow:hidden}.bracket-team{display:flex;justify-content:space-between;padding:9px 10px;border-bottom:1px solid var(--line-soft)}.bracket-team:last-child{border-bottom:0}.bracket-team.winner{background:var(--ok-bg);font-weight:800}.stat-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.podium{padding:15px}.podium .rank{font-size:11px;color:var(--muted)}.podium .name{font-weight:800;margin-top:4px}.podium .big{font-size:26px;font-weight:900;margin-top:8px}.info-box{background:var(--accent-soft-bg);border:1px solid var(--accent-soft-line);color:var(--accent-ink);padding:12px 14px;border-radius:10px;font-size:12px;margin-bottom:14px}.warn-box{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);padding:12px 14px;border-radius:10px;font-size:12px;margin-bottom:14px}.audit{font-size:12px;display:grid;gap:8px}.audit div{border-left:3px solid var(--accent-soft-line);padding-left:10px}.toast{position:fixed;right:20px;bottom:20px;background:var(--navy-2);color:var(--on-navy);padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:200}.toast.show{opacity:1;transform:none}.kicker{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.06em}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.hr{height:1px;background:var(--line);margin:18px 0}.eventrow{display:grid;grid-template-columns:62px 92px 170px 1.15fr 1.15fr 1fr 150px auto;gap:8px;align-items:end;margin-bottom:8px;padding:10px;border:1px solid var(--line-soft);border-radius:10px;background:var(--panel-2)}.eventrow input,.eventrow select,.performance-card input,.performance-card select{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:8px;background:var(--input-bg)}.performance-card{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;background:var(--panel);box-shadow:0 2px 8px rgba(20,30,50,.03)}.perf-head{display:grid;grid-template-columns:minmax(180px,2fr) 86px 86px 110px 110px 110px auto;gap:9px;align-items:end}.perf-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.perf-group{border:1px solid var(--line-soft);border-radius:10px;padding:10px;background:var(--panel-2)}.perf-group h5{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.perf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.perf-field label{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.rating-chip{display:flex;align-items:center;justify-content:center;min-height:35px;border-radius:9px;background:var(--accent-soft-bg);color:var(--accent-ink);font-weight:900;font-size:15px;border:1px solid var(--accent-soft-line)}.rating-chip.final{background:var(--ok-bg);color:var(--ok-ink);border-color:var(--ok-line)}.match-scorebox{display:grid;grid-template-columns:1fr 80px 20px 80px 1fr;align-items:center;gap:9px;margin:10px 0 18px}.match-scorebox .tn{text-align:center;font-weight:800}.match-scorebox .sc{font-size:28px;text-align:center;border:1px solid var(--line);border-radius:10px;padding:8px}.tiny{font-size:11px}.right{text-align:right}.mobile-menu{display:none}.color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:6px}.nowrap{white-space:nowrap}
