:root{
  --green:#1c6b3c;
  --green-light:#eaf5ee;
  --gold:#b8860b;
  --gray:#666;
  --line:#d7d7d7;
}
*{ box-sizing:border-box; }
body{
  font-family:'Segoe UI', Arial, sans-serif;
  margin:0;
  background:#fafafa;
  color:#222;
}
.wrap{ max-width:1200px; margin:0 auto; padding:24px 20px 60px; }
.header{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:10px; }
h1{ color:var(--green); margin:0 0 4px; font-size:24px; }
h2{ color:var(--green); border-bottom:2px solid var(--green); padding-bottom:4px; margin-top:36px; font-size:19px; }
h3{ color:var(--gold); margin-top:18px; font-size:15px; }
.subtitle{ color:var(--gray); font-size:13px; }
.muted{ color:var(--gray); font-size:13px; }
.error{ color:#c0392b; font-size:13px; }
.bracket-wrap{ overflow-x:auto; background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px; margin-top:10px; }
.bracket-wrap svg{ min-width:900px; }
.auth-box{ display:flex; align-items:center; gap:10px; }
.btn-small{
  background:var(--green); color:#fff; padding:8px 16px; border-radius:6px;
  text-decoration:none; font-size:13.5px; font-weight:600;
}
.btn-small:hover{ background:#154f2c; }
.badge-admin{
  background:var(--gold); color:#fff; padding:5px 12px; border-radius:5px; font-size:12.5px; font-weight:600;
}
.admin-panel{
  background:var(--green-light); border:1px solid #cde5d5; border-radius:8px;
  padding:14px 18px; margin-top:12px;
}
.result-form{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:#fff; border:1px solid var(--line); border-radius:6px;
  padding:8px 12px; margin-bottom:8px; font-size:13.5px;
}
.mlabel{ font-weight:600; color:var(--green); min-width:65px; }
.result-form label{ display:flex; align-items:center; gap:4px; }
.result-form input[type=text]{ padding:5px 8px; border:1px solid var(--line); border-radius:4px; }
.result-form button, .slot-form button{
  background:var(--green); color:#fff; border:none; padding:6px 14px;
  border-radius:5px; cursor:pointer; font-size:13px;
}
.result-form button:hover, .slot-form button:hover{ background:#154f2c; }
.slot-form{ display:flex; gap:8px; align-items:center; margin-top:8px; flex-wrap:wrap; }
.slot-form select, .slot-form input[type=text]{ padding:6px 8px; border:1px solid var(--line); border-radius:4px; }
.footer{ margin-top:40px; text-align:right; }

.set-input{ display:inline-flex; align-items:center; gap:3px; font-size:12.5px; color:var(--gray); }
.set-input input{ width:28px; padding:4px; border:1px solid var(--line); border-radius:4px; text-align:center; }
.played-form{ background:#fffdf5; }
.reset-form{ display:inline-block; margin:-6px 0 10px 4px; }
.btn-reset{
  background:#fff; color:#c0392b; border:1px solid #c0392b; padding:4px 10px;
  border-radius:5px; cursor:pointer; font-size:12px;
}
.btn-reset:hover{ background:#c0392b; color:#fff; }

.note-box{
  background:#fff8e6; border-left:4px solid var(--gold); padding:12px 16px;
  border-radius:6px; margin:12px 0 6px; font-size:13.5px; line-height:1.5; color:#5a4200;
}
.note-box b{ color:var(--gold); }

.login-box{
  max-width:380px; margin:80px auto; background:#fff; border:1px solid var(--line);
  border-radius:10px; padding:28px 30px; text-align:center;
}
.login-box h1{ font-size:20px; }
.login-box form{ display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.login-box input[type=password]{ padding:10px; border:1px solid var(--line); border-radius:6px; font-size:14px; }
.login-box button{
  background:var(--green); color:#fff; border:none; padding:10px; border-radius:6px;
  font-size:14px; cursor:pointer; font-weight:600;
}
.login-box button:hover{ background:#154f2c; }
