:root { --bg:#0b0f19; --card:#12182a; --text:#e8eefc; --muted:#a9b4d0; --border:rgba(255,255,255,.12); }
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.4}
.wrap{max-width:980px;margin:0 auto;padding:22px}
h1{margin:0 0 6px;font-size:28px}
p{margin:0 0 14px;color:var(--muted)}
.grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:900px){.grid{grid-template-columns:1fr 1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 6px}
input{width:100%;padding:12px 12px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);outline:none}
input:focus{border-color:rgba(255,255,255,.26)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
button{
  padding:11px 14px;border-radius:12px;border:1px solid var(--border);
  background:rgba(255,255,255,.06);color:var(--text);font-weight:650;cursor:pointer
}
button:hover{background:rgba(255,255,255,.10)}
button.danger{border-color:rgba(255,100,100,.35)}
button.primary{border-color:rgba(120,255,220,.35)}
.muted{color:var(--muted)}
.timer{font-size:40px;font-weight:800;letter-spacing:.5px}
.ok{color:#76f7c9}
.bad{color:#ff9aa0}
table{width:100%;border-collapse:collapse;margin-top:10px}
th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}
th{color:var(--muted);font-weight:700}
.small{font-size:12px;color:var(--muted)}
details{border:1px dashed var(--border);border-radius:14px;padding:10px}
summary{cursor:pointer;color:var(--muted);font-weight:700}
.pill{display:inline-block;padding:4px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:12px}

/* Admin section styling */
#loginForm, #adminPanel {
  margin-top:14px;
}
#loginForm input, #adminPanel input {
  background:rgba(150,100,200,.08);
  border-color:rgba(180,140,255,.25);
}
#loginForm input:focus, #adminPanel input:focus {
  border-color:rgba(180,140,255,.45);
  background:rgba(150,100,200,.12);
}

/* Utility classes */
.section-title { margin: 0 0 10px; font-size: 18px; }
.divider { border: none; border-top: 1px solid var(--border); margin: 14px 0; }
.mt-12 { margin-top: 12px; }
.mt-10 { margin-top: 10px; }
.mt-25 { margin-top: 25px; }
.mb-14 { margin-bottom: 14px; }
.footer-row { margin-top: 14px; display: flex; justify-content: space-between; align-items: center; }
.admin-link { color: var(--accent); text-decoration: none; font-size: 14px; }
.back-link { color: var(--accent); text-decoration: none; }
.logo-img { height: 26px; vertical-align: middle; }
.text-center { text-align: center; }
#congrats { margin-top: 12px; }
#adminPanel { display: none; margin-top: 14px; }
.admin-header { justify-content: space-between; align-items: center; margin-bottom: 14px; }
.admin-header h3 { margin: 0; font-size: 16px; }
.subsection-title { margin: 20px 0 10px; font-size: 15px; }
.subsection-title-top { margin: 0 0 10px; font-size: 15px; }
.checkbox-label { display: flex; align-items: center; gap: 8px; cursor: pointer; margin-top: 10px; }
.checkbox-label input[type="checkbox"] { margin: 0; width: auto; }
.divider-thick { border: none; border-top: 1px solid var(--border); margin: 20px 0; }
