:root{font-family:"Instrument Sans","Segoe UI",sans-serif;color:#152520;background:#f1f4ef;line-height:1.5;--dark:#101917;--green:#2c5e4a;--lime:#d6f34c;--ink:#152520;--muted:#53645c;--line:#dce4dc;--white:#fff;--radius:18px}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #699041;outline-offset:3px}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.065em;line-height:1.04}
h2{font-size:1.4rem;letter-spacing:-.035em}
h3{font-size:1rem}
small,.muted{color:var(--muted)}
.top{background:var(--dark);color:#fff}
.top-inner,.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.top-inner{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:12px;font-size:1.35rem;letter-spacing:-.055em;font-weight:800;line-height:1}
.brand span span{color:var(--lime)}
.brand small{display:block;color:#c5d1c7;font-size:.55rem;letter-spacing:.14em;margin-top:6px}
.brand-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid #3b5045;background:#1b2a25;border-radius:10px}
.brand-mark i{width:17px;height:17px;border:2px solid var(--lime);border-radius:50%;position:relative;overflow:hidden;transform:rotate(-38deg)}
.brand-mark i:after,.brand-mark i:before{content:"";position:absolute;inset:-3px -9px;border:1px solid var(--lime);border-radius:50%;transform:translateX(-10px)}
.brand-mark i:after{transform:translateX(10px)}
#identity{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.wrap{padding-block:35px 52px}
.hero{display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;background:#172a22;color:white;border-radius:var(--radius);min-height:238px;padding:36px 40px;isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#172a22 24%,#172a22ee 53%,#172a2215),url('/campo.webp') right 55%/min(54%,520px) auto no-repeat}
.hero p{color:#dce6dc;margin-top:12px;max-width:34em}
.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--green);display:block;margin-bottom:12px}
.hero .eyebrow{color:var(--lime)}
.tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:19px 0 25px;padding-bottom:11px}
.button,.tabs button{border:1px solid transparent;border-radius:9px;padding:8px 13px;font-weight:650;background:white;color:var(--ink);text-decoration:none;display:inline-flex;justify-content:center;align-items:center;min-height:38px}
.tabs button{background:transparent;color:var(--muted)}
.tabs button[aria-current="page"]{background:#dfeadf;color:#193f2e}
.button.primary{background:var(--lime);color:#1a2909;border-color:#c2df34}
.button.secondary{border-color:#cdd9cf}
.button.danger{background:#fff1eb;color:#8b3524;border-color:#f3d4cb}
.button.dark{background:#243832;color:#fff;border-color:#496056}
.button:hover,.tabs button:hover{filter:brightness(.95)}
.button.small{font-size:.86rem;padding:5px 10px;min-height:34px}
.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.stack{display:grid;gap:14px}
.split{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:18px;align-items:start}
.section-head,.row,.match-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.section-head{margin-bottom:12px}
.section-head p,.card p{margin-top:4px}
.match-head{align-items:flex-start}
.fixture{font-weight:750;font-size:1.12rem;line-height:1.25}
.fixture span{display:block}
.fixture span+span{margin-top:6px}
.fixture span+span:before{content:"vs";font-size:.73rem;color:var(--muted);margin-right:7px}
.pills,.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.pill{font-size:.75rem;font-weight:700;padding:3px 9px;border-radius:30px;background:#e9eee9;color:#3d5147;white-space:nowrap}
.pill.good{color:#23573d;background:#e0efdf}
.pill.wait{color:#72541a;background:#fff1cc}
.pill.bad{color:#923b29;background:#fbe6e0}
.match .actions,.spaced{margin-top:13px}
.match .score{font-weight:800;font-variant-numeric:tabular-nums;font-size:1.14rem}
.quiet{border-top:1px solid var(--line);margin-top:14px;padding-top:13px}
.person{display:flex;align-items:center;gap:6px;font-size:.82rem}
.dot{width:8px;height:8px;display:inline-block;border-radius:100%;background:#93a49a}
.dot.yes{background:#3f8855}
.dot.no{background:#c15b49}
.panel-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.panel-list li+li{border-top:1px solid var(--line);padding-top:10px}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:left}
th,td{padding:11px 12px;border-bottom:1px solid var(--line)}
th{font-size:.77rem;color:var(--muted)}
tbody tr:last-child td{border:0}
tbody tr.own{background:#eff6eb}
label{display:grid;gap:5px;font-size:.9rem;font-weight:650}
input,select{background:white;border:1px solid #becdc1;color:var(--ink);border-radius:9px;padding:9px 10px;min-width:0;width:100%}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.inline-form label{flex:1;min-width:155px}
dialog{width:min(560px,calc(100% - 28px));max-height:calc(100% - 32px);border:1px solid var(--line);border-radius:var(--radius);padding:23px;color:var(--ink)}
dialog::backdrop{background:#0b1612a3}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.icon-button{border:0;background:#eef3ed;border-radius:8px;width:34px;height:34px;font-size:1.35rem;line-height:1}
.notice{position:fixed;z-index:3;bottom:18px;right:18px;max-width:min(440px,calc(100% - 36px));background:#153629;color:white;border-radius:12px;padding:12px 16px;box-shadow:0 5px 20px #10281c35}
.notice.error{background:#803b2c}
.login{min-height:min(72vh,670px);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden;padding:0}
.login-art{display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,#101917 2%,#10191733 90%),url('/campo.webp') center/cover;color:white;padding:35px;min-height:320px}
.login-art .eyebrow{color:var(--lime)}
.login-fields{display:grid;align-content:center;gap:17px;padding:clamp(24px,5vw,64px)}
.login-fields h1{font-size:2.3rem}
.login-fields form{display:grid;gap:13px}
.form-error{color:#8b3524;font-size:.9rem}
.score-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
fieldset{border:1px solid var(--line);border-radius:10px;margin:0}
legend{font-weight:750;padding-inline:5px}
pre{white-space:pre-wrap;overflow-wrap:anywhere}
details summary{cursor:pointer;font-weight:750}
@media(max-width:740px){.split,.login{grid-template-columns:1fr}.login-art{min-height:215px;padding:24px}.hero{padding:24px;min-height:205px}.hero:before{background:linear-gradient(90deg,#172a22 10%,#172a22e8 51%,#172a2260),url('/campo.webp') right center/cover}.top-inner,.wrap{width:calc(100% - 26px)}.wrap{padding-top:20px}.card{padding:16px}.card.login{padding:0}.top-inner{min-height:69px}#identity .muted{display:none}}
