:root{--bg:#f4f1e8;--card:#fffdf7;--ink:#1d2a22;--muted:#68746c;--green:#1f6847;--green2:#dcecdf;--gold:#e3b341;--red:#a53b35;--line:#dedacf}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}header{background:#173f30;color:white;padding:1.1rem 0;box-shadow:0 2px 12px #0002}nav,.wrap{width:min(1080px,calc(100% - 2rem));margin:auto}nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:800;font-size:1.25rem;color:white;text-decoration:none}.wrap{padding:2rem 0}h1{font-size:clamp(1.8rem,5vw,3rem);line-height:1.05;margin:.2rem 0 1rem}h2{margin-top:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.25rem;box-shadow:0 4px 20px #2b3c3210;margin-bottom:1rem}.hero{background:linear-gradient(135deg,#1f6847,#28513f);color:white;padding:2rem}.hero .muted{color:#d8e7de}.btn,button{display:inline-block;border:0;border-radius:9px;background:var(--green);color:white;text-decoration:none;padding:.7rem 1rem;font-weight:700;cursor:pointer}.btn.secondary{background:var(--green2);color:var(--green)}.btn.danger{background:var(--red)}input,select{width:100%;padding:.68rem;border:1px solid #c9c5ba;border-radius:8px;background:white;font:inherit}label{display:block;font-weight:650;margin:.65rem 0 .25rem}.row{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.row>*{flex:1}.row .fit{flex:0 0 auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line)}th{font-size:.78rem;text-transform:uppercase;color:var(--muted)}.score{display:flex;align-items:center;gap:.45rem}.score input{width:4rem;text-align:center;font-size:1.2rem}.match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;padding:1rem 0;border-bottom:1px solid var(--line)}.match .right{text-align:right}.pill{display:inline-block;border-radius:99px;padding:.25rem .55rem;background:var(--green2);color:var(--green);font-size:.8rem;font-weight:750}.alert{padding:.8rem 1rem;border-radius:8px;background:var(--green2);margin-bottom:1rem}.alert.error{background:#f5dddd;color:#761d18}.timer{font-size:2.3rem;font-weight:800;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:.5rem;overflow:auto;margin-bottom:1rem}.tabs a{white-space:nowrap}.copy{display:flex;gap:.5rem}.copy input{font-size:.85rem}@media(max-width:650px){.wrap{width:min(100% - 1rem,1080px);padding:1rem 0}.card{padding:1rem}.hide-mobile{display:none}th,td{padding:.55rem .3rem}.match{grid-template-columns:1fr auto 1fr}.hero{padding:1.4rem}.row{display:block}.row .btn,.row button{margin-top:.7rem;width:100%}}
.score-form{background:#f5f1e6;border-radius:10px;padding:.8rem;margin:.5rem 0 1.2rem}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;text-align:center}.counter{display:flex;justify-content:center;gap:.35rem;margin-top:.4rem}.counter input{width:3.3rem;text-align:center;font-size:1.4rem;font-weight:800}.counter button{padding:.4rem .75rem;font-size:1.35rem}.counter .minus{background:#66756c}.save-score{width:100%;margin-top:.8rem}.share-card{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.qr{border:8px solid white;border-radius:8px}.game-timer{font-size:1.7rem;color:var(--green);margin:.5rem 0}.game-timer.expired{color:var(--red)}@media(max-width:650px){.share-card{grid-template-columns:1fr}.qr{margin:auto}}
.game-box{border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.game-link{color:inherit;text-decoration:none;display:block;border-radius:8px}.game-link:hover{background:#f4f1e8}.start-game{width:100%;margin-top:.7rem;background:#246e9c}.pause-box{display:flex;align-items:center;gap:.8rem;background:#f4f1e8;padding:1rem;border-radius:10px}.next-games{background:#eef4ef;border-left:4px solid var(--green);padding:.7rem 1rem;margin-top:.8rem}.next-games h3{margin:.1rem 0 .5rem}.next-games p{margin:.4rem 0}.status{font-weight:700}.status.ready{color:var(--green)}.status.busy{color:#a05b16}.status.wait{color:var(--muted)}
textarea{width:100%;padding:.68rem;border:1px solid #c9c5ba;border-radius:8px;background:white;font:inherit;resize:vertical}.finish-timer{background:var(--red)}hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}
.score-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.8rem}.score-actions button{width:100%}.save-progress{background:#246e9c}@media(max-width:520px){.score-actions{grid-template-columns:1fr}}
.team-picker{max-width:600px;margin:2rem auto}.team-toolbar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:0 0 1rem}.team-toolbar form{margin-left:auto}.team-toolbar a{color:var(--green);font-weight:700}
.tournament-card>img{width:100%;height:240px;object-fit:cover;object-position:center 30%;border-radius:10px;margin-bottom:1rem}.image-admin{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:1.2rem;align-items:start}.image-admin>img{width:100%;max-height:360px;object-fit:contain;border-radius:10px;background:#eee}.image-admin>img[src=""]{display:none}.image-admin:has(>img[src=""]){grid-template-columns:1fr}.image-admin form+form{margin-top:.7rem}.rules .grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.rules .grid>div{background:#f4f1e8;border-radius:10px;padding:1rem}.rules p{margin:.4rem 0 0}@media(max-width:650px){.image-admin{grid-template-columns:1fr}.tournament-card>img{height:200px}}
.tips .grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tips .grid>div{border-left:4px solid var(--gold);background:#faf5e7;padding:1rem;border-radius:0 10px 10px 0}.tips .grid p{margin:.4rem 0 0}.tip-note{margin-top:1rem;padding:1rem;background:var(--green2);border-radius:10px}
