/* Prevent CSS display rules from overriding the HTML hidden attribute */
[hidden] { display: none !important; }

.admin-login {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: var(--color-light);
}
.admin-login__box {
  background: #fff; padding: 2.5rem; border-radius: var(--radius);
  box-shadow: 0 4px 20px rgba(0,0,0,.1); width: 360px;
}
.admin-login__box h1 { font-size: 1.3rem; margin-bottom: 1.5rem; color: var(--color-primary); }
form label { display: block; margin-bottom: 1rem; font-size: .9rem; font-weight: 500; }
form input, form textarea, form select {
  display: block; width: 100%; margin-top: .25rem;
  padding: .5rem .75rem; border: 1px solid #ccc; border-radius: 6px; font-size: .95rem;
}
form button { margin-top: .5rem; margin-right: .5rem; }
.btn-primary {
  background: var(--color-accent); color: #fff; border: none;
  padding: .6rem 1.25rem; border-radius: 6px; cursor: pointer; font-size: .95rem;
}
.error { color: #c00; font-size: .875rem; margin-top: .75rem; }

.admin-header {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--color-primary); color: #fff; padding: 1rem 2rem;
}
.admin-main { max-width: var(--max-w); margin: 2rem auto; padding: 0 1.5rem; }
.admin-main h2 { margin-bottom: 1.25rem; }

.events-table { width: 100%; border-collapse: collapse; margin-top: 1.5rem; font-size: .9rem; }
.events-table th, .events-table td { text-align: left; padding: .75rem; border-bottom: 1px solid #e0e5ec; }
.events-table th { background: var(--color-light); }
