:root{font-family:Archivo,Arial,sans-serif;color:#07112d;background:#eef2f8;font-size:16px;--navy:#07133d;--yellow:#ffd21e;accent-color:var(--navy);color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{background:var(--navy);color:#fff;padding:18px max(20px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}header a{color:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;font-weight:800}.brand img{width:48px;height:48px;object-fit:contain}main{max-width:1100px;margin:auto;padding:32px 20px 80px}h1{font-size:clamp(30px,5vw,46px);margin:0 0 12px;letter-spacing:-.025em}h2{font-size:24px;margin:20px 0 12px;overflow-wrap:anywhere}h3{font-size:20px;margin:0 0 16px}p{line-height:1.55;max-width:75ch}a{color:var(--navy);text-underline-offset:3px}label{display:grid;gap:8px;font-weight:700;font-size:14px;min-width:0}input,select,textarea,button{font:inherit;border-radius:8px;min-height:48px}input,select,textarea{width:100%;border:1px solid #7d8ba5;background:#fff;color:#07112d;padding:12px;min-width:0}input[type=number]{font-variant-numeric:tabular-nums}button{background:var(--yellow);color:#07112d;padding:12px 20px;font-weight:700;border:1px solid #be9a00;cursor:pointer}button:hover{background:#f3c617}.secondary{background:transparent;border-color:#7d8ba5}.secondary:hover{background:#dfe6f1}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:3px solid #305ecb;outline-offset:3px}::selection{background:var(--yellow);color:var(--navy)}#login{max-width:440px;margin:36px auto}#login-form{display:grid;gap:20px;margin-top:28px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:20px 0}.scores{display:grid;grid-template-columns:1fr 1fr;gap:24px}.scores input{font-size:28px;font-weight:800}fieldset{padding:0;border:0;min-width:0}legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.team-roster{background:#fff;border:1px solid #cad3e1;border-radius:14px;padding:24px;margin:28px 0}.player-row{border-top:1px solid #d4dce8;padding:16px 0;display:grid;grid-template-columns:minmax(160px,2fr) repeat(4,minmax(66px,1fr));gap:14px;align-items:center}.player-name{font-weight:700;overflow-wrap:anywhere}.player-name small{display:block;color:#485874;font-size:13px;font-weight:400;margin-top:6px}.player-row input{padding:10px}.yellow{color:#765600}.red{color:#a11d2a}.help,#saved{color:#485874;font-size:14px}.error{color:#a11d2a;font-weight:700}.savebar{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}#locked{font-weight:700}#save-status{min-height:25px}#admin-link{display:inline-block;margin-top:24px}@media(max-width:600px){header{padding:14px 20px}.brand span{display:none}main{padding-top:24px}.filters{grid-template-columns:1fr 1fr}.filters label:last-child{grid-column:1/-1}.heading{align-items:flex-start}h2{font-size:21px}.scores{gap:16px}.team-roster{padding:16px}.player-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.player-name{grid-column:1/-1}.player-row label{font-size:12px}.player-row input{padding:8px}.savebar button{flex:1}#reload{padding:10px;white-space:nowrap}}@media print{header,#logout,.filters,#fixture,#reload,.savebar,#admin-link{display:none!important}main{padding:0}body{background:white}.team-roster{break-inside:avoid}.player-row{break-inside:avoid}}
