/* Shared styles for the standalone login/register pages.
   Page-specific tweaks (card width, heading size) stay in each template.
   Matches the dashboard's station-sign identity: spruce ink backdrop,
   paper card, signal-orange action. */
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #151b16;
  font-family: "Archivo", "Segoe UI", system-ui, sans-serif;
  padding: 16px;
}
.login {
  background: #fbfbf8;
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  border-top: 6px solid #d9480f;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
}
input {
  width: 100%;
  border: 1px solid #d8dcd0;
  border-radius: 8px;
  padding: 12px;
  font: inherit;
  box-sizing: border-box;
  text-align: center;
  font-size: 1rem;
  margin-bottom: 10px;
  background: #fbfbf8;
  color: #171d18;
}
input:focus {
  outline: 2px solid #d9480f;
  outline-offset: -1px;
  border-color: #d9480f;
}
button {
  width: 100%;
  margin-top: 6px;
  padding: 12px;
  border: none;
  border-radius: 8px;
  background: #d9480f;
  color: #fff;
  font: 700 1rem inherit;
  cursor: pointer;
}
button:hover { background: #b93c0a; }
button:focus-visible { outline: 2px solid #171d18; outline-offset: 2px; }
.err { color: #c0392b; font-size: 0.85rem; margin-top: 8px; }
.hint { color: #5c685f; font-size: 0.85rem; margin-top: 16px; }
.hint a { color: #b93c0a; text-decoration: none; font-weight: 600; }
.hint a:hover { text-decoration: underline; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
