:root{--green:#197a4b;--green2:#e4f5eb;--red:#b42318;--red2:#ffebe9;--blue:#155eef;--bg:#f4f7f5;--text:#17251e;--muted:#66756d;--border:#dce5df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:14px max(22px,calc((100% - 1250px)/2));gap:20px;position:sticky;top:0;z-index:2}.brand{font-weight:800;font-size:18px;color:var(--green);text-decoration:none}nav{display:flex;gap:18px;flex-wrap:wrap}nav a{color:#31463a;text-decoration:none}.container{max-width:1250px;margin:28px auto;padding:0 20px}h1{font-size:30px;margin:0 0 22px}h2{font-size:20px;margin-top:0}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 2px 8px #213c2d0b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats article span{display:block;color:var(--muted);margin-bottom:8px}.stats strong{font-size:27px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3,.grid4{display:grid;gap:14px}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.ledger{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0}.ledger dt,.ledger dd{margin:0;padding:6px 0;border-bottom:1px solid var(--border)}.recent{list-style:none;padding:0;margin:0}.recent li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border)}a{color:var(--blue)}.warn{color:var(--red)!important}.muted,small{color:var(--muted)}.auth{max-width:600px;margin:8vh auto}.auth h1{color:var(--green)}label{display:block;font-weight:650;margin:14px 0 5px}input,textarea{width:100%;padding:11px 12px;border:1px solid #b8c7be;border-radius:8px;font:inherit;background:#fff}button,.button{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none;margin-top:12px}.secondary{background:#edf2ef;color:#31463a}.alert{padding:13px 16px;border-radius:8px;margin-bottom:18px}.alert.success{background:var(--green2);color:var(--green)}.alert.danger{background:var(--red2);color:var(--red)}.title-row{display:flex;align-items:center;justify-content:space-between}.legend-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.legend-row p{margin:0}.paypal-button{margin:0;background:#0070ba;white-space:nowrap}.check-row{display:flex;align-items:center;gap:9px;font-weight:650}.check-row input{width:auto}.table-wrap{overflow-x:auto;padding:0}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border)}thead th{background:#f8faf9;position:sticky;top:0}.matrix th,.matrix td{text-align:center}.matrix th:first-child{text-align:left;white-space:nowrap}.cell{padding:0!important}.cell button{width:100%;height:45px;margin:0;border-radius:0;background:transparent;color:inherit;font-size:18px}.cell.paid{background:var(--green2);color:var(--green);font-weight:800}.cell.due{background:var(--red2);color:var(--red)}.cell.future{background:#f4f5f4;color:#9aa59f}.inactive{opacity:.45}.legend{display:inline-block;width:13px;height:13px;border-radius:3px}.legend.paid{background:var(--green2)}.legend.due{background:var(--red2)}.legend.future{background:#e5e8e6}.form-card{margin-bottom:20px}.form-card summary{font-size:18px;font-weight:800;cursor:pointer}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.gallery a{text-decoration:none;overflow:hidden;padding:0}.gallery img{width:100%;height:220px;object-fit:cover;display:block}.gallery span{display:block;padding:12px;overflow-wrap:anywhere}.pdf{height:220px;display:grid;place-items:center;background:#f1f3f2;color:var(--red);font-size:34px;font-weight:900}.inline{display:flex;gap:8px;align-items:end}.inline input{flex:1}.players{list-style:none;margin:16px 0 0;padding:0}.players li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:7px 0}.players button{margin:0;padding:7px 10px}
@media(max-width:850px){header{align-items:flex-start;flex-direction:column}.stats,.grid2,.grid3,.grid4{grid-template-columns:1fr 1fr}.container{margin-top:20px}}
@media(max-width:560px){.stats,.grid2,.grid3,.grid4{grid-template-columns:1fr}nav{gap:11px}.stats strong{font-size:23px}.title-row{align-items:flex-start;flex-direction:column}.legend-row{align-items:flex-start;flex-direction:column}}
