:root {
  --color-primary: #2c3e2c; /* deep pine green */
  --color-secondary: #4b5b40; /* shadowy olive */
  --color-accent: #7a4b35; /* rich bark brown */
  --color-bg: #d6d2c4; /* weathered bark beige */
  --color-surface: #e5e1d8; /* soft mossy stone */
  --color-text: #1f1f1b; /* dark forest floor */
  --color-muted: #565943; /* moss shadow */
  --color-error: #693b2e; /* deep earthy red */
}

body {
  background-color: var(--color-bg);
}

a {
  text-decoration: none;
}

.container {
  width: 90%;
  height: 97%;
  color: var(--color-text);
}

main {
  width: 100%;
  height: 85%;
  display: flex;
  flex-direction: column;
  gap: 1%;
}

svg {
  width: 2em;
  height: 2em;
  vertical-align: middle;
  fill: white;
}

/* Announcement */
.announcement {
  text-align: center;
  font-weight: 700;
}

/* Button container */
.button-container {
  display: flex;
  justify-content: space-between;
}

.button-container button,
.button-container form button {
  background: var(--color-primary, #2d5a8c);
  color: #fff;
  border: none;
  padding: 0.7em 1.5em;
  border-radius: 6px;
  font-size: 1em;
  cursor: pointer;
}

.button-container button:has(svg) {
  padding: 0.3em 1em;
}

.button-container .red-button {
  background: var(--color-error, #693b2e);
}

/* Form */
.form {
  margin: 3em;
  padding: 2em;
  background: #fff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 1.2em;
  text-align: center;
}

.form input[type="text"],
.form input[type="password"],
.form input[type="email"] {
  padding: 0.7em;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1em;
  background: #f8f8f8;
}
.form button {
  background: var(--color-primary, #2d5a8c);
  color: #fff;
  border: none;
  padding: 0.7em 1.5em;
  border-radius: 6px;
  font-size: 1em;
  cursor: pointer;
}

.extra-link button {
  width: 100%;
  background: var(--color-secondary, #4b5b40);
}

.form a{
  color: black;
}

.form-error {
  color: #fff;
  background: var(--color-error, #b00);
  padding: 0.7em;
  border-radius: 6px;
  text-align: center;
  font-weight: bold;
}