:root { --fg:#1a2332; --muted:#6b7684; --line:#e2e6ea; --accent:#2e7d32; }
* { box-sizing:border-box; }
body { font:15px/1.5 system-ui,sans-serif; color:var(--fg); margin:0; padding:0 20px 60px; }
header { display:flex; justify-content:space-between; align-items:center;
         padding:16px 0; border-bottom:2px solid var(--accent); }
h1 { font-size:22px; margin:0; }
h2 { font-size:16px; margin:26px 0 8px; }
#authbar { font-size:13px; color:var(--muted); }
#authbar a { margin-left:12px; color:var(--accent); text-decoration:none; }
#tabs { display:flex; gap:8px; margin:16px 0 4px; flex-wrap:wrap; }
#tabs button { padding:8px 16px; border:1px solid var(--line); border-radius:8px;
               background:#fff; cursor:pointer; font-size:14px; }
#tabs button.active { background:var(--accent); color:#fff; border-color:var(--accent); }
#status { min-height:20px; color:var(--muted); font-size:14px; margin:8px 0; }
table { width:100%; border-collapse:collapse; margin-top:6px; }
th,td { text-align:left; padding:7px 10px; border-bottom:1px solid var(--line); }
th { font-size:12px; text-transform:uppercase; color:var(--muted); letter-spacing:.04em; }
section#editorPanel, section#adminPanel {
  background:#f7f9f8; border:1px solid var(--line); border-radius:8px; padding:14px; margin-top:22px; }
section#editorPanel > div, section#adminPanel > div { margin:6px 0; }
input,select { padding:7px 9px; border:1px solid var(--line); border-radius:6px; margin:2px 6px 2px 0; }
button#saveResult, button#addPlayer, button#addMatch {
  padding:7px 14px; border:0; border-radius:6px; background:var(--accent); color:#fff; cursor:pointer; }
button:hover { opacity:.92; }
.muted { color:var(--muted); font-size:12px; }
tr.wd td { opacity:.55; }
h3 { font-size:14px; margin:18px 0 4px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
#playersTbl button, #scheduled button { padding:4px 10px; font-size:13px; border:0; border-radius:5px;
  background:#e8ecea; color:var(--fg); cursor:pointer; margin-right:4px; }
#playersTbl button:hover, #scheduled button:hover { background:#d7dedb; }
#genFixtures { padding:8px 16px; border:0; border-radius:6px; background:var(--accent); color:#fff; cursor:pointer; }
input.dt { width:180px; }
#seasonBar { display:flex; align-items:center; gap:8px; margin:14px 0 0; font-size:14px; }
#seasonBar label { color:var(--muted); }
#seasonBar select { padding:6px 10px; }
#addSeason, #setCurrent, #doRename { padding:6px 12px; border:0; border-radius:5px;
  background:#e8ecea; color:var(--fg); cursor:pointer; font-size:13px; }
#addSeason:hover, #setCurrent:hover, #doRename:hover { background:#d7dedb; }
#leaguesTbl button, #addLeague { padding:4px 10px; font-size:13px; border:0; border-radius:5px;
  background:#e8ecea; color:var(--fg); cursor:pointer; margin-right:4px; }
#leaguesTbl button:hover, #addLeague:hover { background:#d7dedb; }
#playoff td:first-child { white-space:nowrap; }
#addPlayoff { padding:6px 12px; border:0; border-radius:5px; background:var(--accent);
  color:#fff; cursor:pointer; font-size:13px; }
#playersTbl td:last-child { white-space:nowrap; }

#authbar a.loginBtn { margin-left:10px; padding:4px 10px; border:1px solid var(--accent);
  border-radius:5px; color:var(--accent); text-decoration:none; font-size:12px; }
#authbar a.loginBtn:hover { background:var(--accent); color:#fff; }
#tb1wrap input, #tb2wrap input { width:60px; }
#tb1wrap, #tb2wrap { color:var(--muted); font-size:13px; }
#dataNote { margin:4px 0 0; color:#a05a00; font-size:13px; }

footer { margin-top:48px; padding:16px 0; border-top:1px solid var(--line);
  color:var(--muted); font-size:12px; display:flex; flex-wrap:wrap; gap:6px;
  align-items:center; justify-content:center; text-align:center; }
footer b { color:var(--fg); font-weight:600; }
footer .sep { opacity:.5; }
button.danger { background:#fdecea !important; color:#c0392b !important; }
button.danger:hover { background:#f8d7d3 !important; }
#dlBackup { display:inline-block; padding:6px 12px; border-radius:5px;
  background:#e8ecea; color:var(--fg); text-decoration:none; font-size:13px; }
#dlBackup:hover { background:#d7dedb; }
.matchPick { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#matchSearch { flex:1 1 260px; min-width:200px; }
#matchSelect { max-width:100%; }
.listSearch { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:22px 0 0; }
#listSearch { flex:1 1 280px; max-width:460px; }
h2 .muted { font-size:12px; font-weight:400; margin-left:4px; }
#leaguesTbl input.lOrd { width:64px; text-align:center; }
#saveLeagueOrder { padding:6px 12px; border:0; border-radius:5px; background:var(--accent);
  color:#fff; cursor:pointer; font-size:13px; }
input.dt, #poDate { padding:5px 8px; min-width:190px; }
