:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  color-scheme: light dark;
  color: rgba(255, 255, 255, 0.87);
  background-color: #242424;
}

@media (prefers-color-scheme: light) {
  :root { color: #213547; background-color: #ffffff; }
  button { background-color: #f9f9f9; }
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  display: flex;
  place-items: center;
  min-width: 320px;
  min-height: 100vh;
}

a { font-weight: 500; color: #646cff; text-decoration: inherit; }
a:hover { color: #535bf2; }

.container { max-width: 800px; margin: 0 auto; padding: 20px; box-sizing: border-box; }

h1 { font-size: 24px; margin-bottom: 16px; }

input, select { padding: 6px; margin-right: 6px; }

button {
  border-radius: 8px;
  border: 1px solid #555;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: #3a3a3a;
  color: #eee;
  cursor: pointer;
  transition: border-color 0.25s;
}
button:hover { border-color: #646cff; }

@media (prefers-color-scheme: light) {
  button { background-color: #f0f0f0; color: #213547; border-color: #ccc; }
}

.input-full { width: 100%; max-width: 400px; padding: 8px; margin-bottom: 10px; }
.notice { color: red; font-size: 0.9em; margin-bottom: 1em; }
.person-info { margin-bottom: 1em; }
.person-info p { margin: 4px 0; }

.entry-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center; }
.input-field { padding: 8px; min-width: 120px; flex: 1 1 120px; }

.remove-button { background-color: #ddd; border: none; padding: 8px; cursor: pointer; color: #333; }
.remove-button:hover { background-color: #ccc; }

.add-button, .submit-button { margin-top: 12px; padding: 10px 16px; font-size: 1em; cursor: pointer; }
.submit-area { margin-top: 20px; }

.error-message { color: red; margin-top: 12px; }
.success-message { color: green; margin-top: 12px; }

.table-periods { border-collapse: collapse; width: 100%; }
.td-periods { border: 1px solid #ccc; padding: 8px; text-align: left; }

.delete-button { background: none; border: none; cursor: pointer; padding: 2px; }
.delete-icon { width: 16px; height: 16px; vertical-align: middle; }

.hidden { display: none; }
.reported { color: #6a9; font-style: italic; font-size: 0.9em; }

/* Admin page */
.admin-section { margin-top: 20px; }
.admin-section h2 { font-size: 1.2em; }
.admin-form { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center; }
.admin-form input, .admin-form select { padding: 6px; }
