:root{color-scheme:light;--ink:#17251f;--muted:#748078;--green:#176a4b;--green-dark:#104f38;--mint:#e7f2e8;--paper:#f5f6f1;--line:#e5e9e2;--white:#fff;--orange:#e7a247;--shadow:0 18px 50px rgba(30,56,43,.07)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'DM Sans',sans-serif}
h1,h2,b,strong,.brand{font-family:Manrope,'DM Sans',sans-serif}
h1,h2,p{margin-top:0}
a{color:var(--green)}
.topbar{height:72px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1240px)/2),28px);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}
.brand{text-decoration:none;color:var(--green-dark);font-size:17px;font-weight:800;letter-spacing:.04em}.brand span{font-size:11px;letter-spacing:.18em;color:#77857d;margin-left:4px}
.account{display:flex;align-items:center;gap:20px;color:#526158;font-size:13px}.account form{margin:0}.link-button{border:0;background:transparent;color:var(--green);font:600 13px 'DM Sans',sans-serif;cursor:pointer;padding:8px}
.shell{max-width:1240px;margin:0 auto;padding:46px 28px 30px}
.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.eyebrow{font-size:10px;line-height:1.4;letter-spacing:.18em;font-weight:700;color:var(--green);text-transform:uppercase;margin-bottom:10px}
h1{font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.045em;margin-bottom:9px}.hero h1 span{color:var(--orange)}.hero p{color:var(--muted);margin-bottom:0}.season-badge{border:1px solid #d9e6db;background:#fafff9;color:var(--green);border-radius:999px;padding:9px 15px;font-size:12px;font-weight:700}
.filters{display:grid;grid-template-columns:1fr 1.7fr 1fr 1fr;gap:12px;background:var(--white);padding:18px;border-radius:16px;box-shadow:var(--shadow);border:1px solid rgba(224,231,222,.75);margin-bottom:17px}
label{display:block;font-size:11px;font-weight:700;color:#78847d;letter-spacing:.04em}select,input{display:block;width:100%;height:42px;margin-top:7px;padding:0 12px;border:1px solid #dfe5de;border-radius:9px;background:#fff;color:var(--ink);font:500 13px 'DM Sans',sans-serif;outline:none}select:focus,input:focus{border-color:#75a68c;box-shadow:0 0 0 3px #e4f2e8}
.summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 19px;border:1px solid #dce9dd;border-radius:13px;background:linear-gradient(100deg,#eef7ed,#f8fbf5);margin-bottom:20px}.summary>div{display:flex;align-items:center;gap:12px}.summary-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:white;font-size:17px}.summary b,.summary small{display:block}.summary b{font-size:13px}.summary small{font-size:11px;color:var(--muted);margin-top:2px}.updated{font-size:11px;color:#728078}
.content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(440px,.9fr);gap:18px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 22px 15px;border-bottom:1px solid #edf0eb}.panel-heading .eyebrow{margin-bottom:4px}.panel h2{font-size:19px;letter-spacing:-.03em;margin:0}.date-chip,.table-note{background:#f3f6f1;border-radius:999px;padding:7px 10px;font-size:10px;color:#637167;font-weight:600}
.team-search{padding:19px 22px;margin-bottom:20px}.search-heading h2{margin-bottom:4px}.search-heading p{font-size:11px;color:var(--muted);margin:0 0 13px}.search-input-label{max-width:520px}.search-results{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.team-result{border:1px solid #dce9dd;border-radius:999px;background:#f7fbf6;color:var(--green-dark);font:600 11px 'DM Sans',sans-serif;padding:8px 12px;cursor:pointer}.team-result:hover,.team-result:focus{background:var(--mint);outline:0}.search-message{font-size:11px;color:#7a887f;margin:5px 0}.error-text{color:#9e4d34}.team-overview{margin-top:14px;padding:16px;background:#f8faf6;border:1px solid var(--line);border-radius:12px}.team-overview h3{font-size:15px;margin:0 0 5px}.team-position{color:var(--green);font-size:11px;font-weight:700;margin:0 0 12px}.next-match{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:9px;background:white;padding:11px 12px}.next-match strong{font-size:11px}.next-match small{font-size:10px;color:var(--muted);text-align:right}.recent-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8a958e;font-weight:700;margin:13px 0 4px}.recent-match{font-size:10px;color:#5f6d64;margin:5px 0}
.match-list{padding:4px 18px 15px}.match-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:8px;min-height:94px;padding:13px 4px 23px;border-bottom:1px solid #edf0eb}.match-card:last-child{border-bottom:0}.match-team{display:flex;align-items:center;gap:9px;min-width:0}.match-team b{font-size:12px;line-height:1.25;font-weight:700}.match-team.away{justify-content:flex-end;text-align:right}.crest{flex:0 0 31px;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:var(--mint);color:var(--green);font:800 9px Manrope,sans-serif;letter-spacing:.03em}.score{text-align:center}.score strong{font-size:21px;letter-spacing:.08em;font-weight:800;white-space:nowrap}.score strong i{font-style:normal;color:#aab4ac;font-weight:500;padding:0 2px}.score strong.time{font-size:17px;letter-spacing:0}.score small{display:block;color:#819087;font-size:9px;white-space:nowrap;margin-top:3px}.match-meta{position:absolute;bottom:5px;left:0;right:0;text-align:center;color:#8a958e;font-size:9px}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{padding:12px 9px;background:#fbfcfa;text-align:right;color:#8a958e;font-size:9px;letter-spacing:.1em;font-weight:700}th:nth-child(2),td:nth-child(2){text-align:left}th:first-child,td:first-child{padding-left:19px}th:last-child,td:last-child{padding-right:19px}td{padding:12px 9px;border-top:1px solid #f0f2ee;text-align:right;font-size:11px;color:#5f6d64}td.rank{color:#89948c;font-weight:700}.club{color:var(--ink);font-weight:600}.club .crest{display:inline-grid;vertical-align:middle;margin-right:8px;width:27px;height:27px;font-size:8px}.points{font-weight:800;color:var(--green);font-size:12px}.empty{text-align:center;padding:26px;color:#89948c;font-size:12px}.footnote{margin:14px 19px 18px;color:#8a958e;font-size:10px;line-height:1.45}
footer{text-align:center;color:#909a93;font-size:10px;margin-top:25px}footer a{text-decoration:none;font-weight:600}
.login-card{width:min(420px,calc(100% - 36px));margin:12vh auto;background:white;padding:34px;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.login-card h1{font-size:31px}.login-card .muted{color:var(--muted);font-size:13px;margin-bottom:22px}.login-card label{margin-top:15px}.primary{height:43px;border:0;border-radius:9px;background:var(--green);color:#fff;font:700 13px 'DM Sans',sans-serif;padding:0 18px;cursor:pointer;transition:.15s ease}.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.login-card .primary{width:100%;margin-top:22px}.error{padding:10px 12px;background:#fff4ef;border:1px solid #f2d8cc;border-radius:9px;color:#9e4d34;font-size:12px}.error-card{margin:8vh auto;max-width:620px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:38px}.error-card p{color:var(--muted);font-size:14px}.error-card .primary{display:inline-flex;align-items:center;text-decoration:none;margin-top:7px}.button-link{height:auto;padding:12px 18px}
@media(max-width:850px){.content-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1.4fr}.topbar{padding:0 20px}.shell{padding:35px 18px}.panel-heading{padding-left:17px;padding-right:17px}}
@media(max-width:520px){.hero{align-items:start;gap:10px;flex-direction:column}.filters{grid-template-columns:1fr 1fr;padding:13px}.summary{align-items:flex-start;flex-direction:column;gap:8px}.updated{padding-left:50px}.match-card{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:4px}.match-team{gap:5px}.match-team b{font-size:10px}.crest{flex-basis:26px;width:26px;height:26px}.date-chip{font-size:9px}.account{gap:8px}.account>span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
