:root{
  --green:#0b5d3b;--green2:#14845a;--bg:#eff5f1;--card:#fff;
  --text:#17211b;--muted:#657169;--line:#d7e3db;--red:#a12b2b;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
button{border:0;border-radius:12px;padding:12px 15px;font-weight:800;cursor:pointer}
.primary{background:var(--green);color:#fff}.secondary{background:#e7f1eb;color:var(--green)}
.hidden{display:none!important}
.hero{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;padding:24px max(18px,calc((100vw - 860px)/2));display:flex;align-items:center;gap:14px}
.hero h1{margin:0;font-size:28px}.hero p{margin:5px 0 0;opacity:.88}.logo-ball{font-size:42px}
main{max-width:860px;margin:auto;padding:15px 12px 40px}
.public-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:3px 0 13px;padding:5px;background:#dfeae3;border-radius:16px;position:sticky;top:8px;z-index:5;box-shadow:0 6px 18px rgba(20,50,35,.08)}
.public-tab{background:transparent;color:var(--green)}.public-tab.active{background:var(--green);color:#fff;box-shadow:0 4px 12px rgba(11,93,59,.22)}
.card{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:17px;margin:12px 0;box-shadow:0 8px 26px rgba(20,50,35,.07)}
.date-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:end}
label{display:grid;gap:6px;font-size:13px;font-weight:800}
input,select{width:100%;padding:12px;border:1px solid #c9d7ce;border-radius:11px;background:#fff}
.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center}
h2{margin:0 0 7px}p{color:var(--muted);margin:4px 0}
.slot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-left:6px solid var(--green2);border-radius:14px;margin:9px 0}
.slot strong{font-size:20px;color:var(--green)}.slot span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.empty{padding:25px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}
.contact-grid a{text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:13px;background:#f7faf8}
.contact-grid strong,.contact-grid span{display:block}.contact-grid strong{color:var(--green)}.contact-grid span{margin-top:5px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.52);display:grid;place-items:center;padding:15px}
.modal-card{width:min(520px,100%);background:#fff;border-radius:20px;padding:18px;display:grid;gap:13px}
.status{padding:11px;border-radius:11px;background:#edf7f1}.status.error{background:#ffeded;color:var(--red)}
.warning{color:var(--muted);line-height:1.4}
.eyebrow{display:inline-block;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:7px}
.championship-heading h2{font-size:25px}.championship-heading>p{line-height:1.5}
.championship-select{margin-top:16px;max-width:520px}
.championship-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:15px;border-bottom:1px solid var(--line)}
.championship-title-row h2{margin:6px 0 2px}.level-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e4f2e9;color:var(--green);font-size:12px;font-weight:900;text-transform:uppercase}
.championship-tabs{display:flex;gap:8px;margin:15px 0}.championship-tab{background:#e8f1eb;color:var(--green)}.championship-tab.active{background:var(--green);color:#fff}
.standings-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.standings-table{width:100%;min-width:650px;border-collapse:collapse}.standings-table th,.standings-table td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line)}
.standings-table th{background:#eaf3ed;color:var(--green);font-size:12px}.standings-table tbody tr:last-child td{border-bottom:0}.standings-table tbody tr:first-child{background:#fff8dc}
.standings-table td:nth-child(n+3),.standings-table th:nth-child(n+3){text-align:center}.rank{font-size:17px;color:var(--green)}
.tie-badge{display:inline-block;margin-left:5px;padding:3px 6px;border-radius:999px;background:#e6f3eb;color:var(--green);font-size:10px;font-weight:800;white-space:nowrap}
.standings-note{font-size:12px;margin-top:10px}
.round-select{max-width:360px}.round-period{font-size:13px;color:var(--muted);margin:10px 0 13px}
.match-list{display:grid;gap:10px}.public-match{border:1px solid var(--line);border-left:5px solid #d99500;border-radius:14px;padding:13px;background:#fff}
.public-match.played{border-left-color:var(--green2)}.match-when{font-size:13px;color:var(--muted);font-weight:700;margin-bottom:9px}.match-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;font-weight:900}.match-teams span:nth-child(2){color:var(--green);font-size:12px}.match-teams span:last-child{text-align:right}
.public-match.recovery{border-left-color:#e69a00;background:#fffaf0}.public-recovery-badge{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#fff0c7;color:#8a5900;font-size:10px;font-weight:900;letter-spacing:.05em}
.public-match.state-scheduled:not(.recovery){border-left-color:#2f73b8;background:#f6faff}.public-match.state-unprogrammed:not(.recovery){border-left-color:#c62828;background:#fff4f4}
.public-status-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.public-status-badge.state-scheduled{background:#e5f1ff;color:#175c9d;border:1px solid #a8ccec}.public-status-badge.state-unprogrammed{background:#ffe4e4;color:#a61b1b;border:1px solid #efaaaa}.public-status-badge.state-played{background:#e2f3e9;color:#0b5d3b;border:1px solid #a8d3ba}.public-status-badge.state-recovery{background:#fff0c7;color:#805300;border:1px solid #e6bb49}
.public-match-section{margin:16px 0 8px;padding:9px 11px;border-radius:10px;background:#edf5f0;color:#0b5d3b;font-weight:900}.public-match-section.recovery{background:#fff0c7;color:#805300;border-left:5px solid #e69a00}
.match-result{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-weight:800;color:var(--green)}
@media(max-width:650px){
  .contact-grid{grid-template-columns:1fr}
  .section-title{align-items:flex-start}
  .slot{align-items:flex-start}
  .championship-title-row{align-items:flex-start}.championship-title-row .secondary{padding:10px}
  .match-teams{grid-template-columns:1fr}.match-teams span:nth-child(2),.match-teams span:last-child{text-align:left}.match-teams span:nth-child(2){margin:-4px 0}
}

.booking-language{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:12px 0 18px}.booking-language label{font-weight:700;font-size:.9rem}.booking-language select{width:auto;min-width:120px;padding:12px;border:1px solid #b7cec0;border-radius:10px;background:white;font-size:1rem}.visitor-info p{margin:10px 0}.visitor-info small{display:block;color:#395b49}@media(max-width:500px){.booking-language{flex-wrap:wrap;justify-content:flex-start}}
