/**
 * Shared app theme — matches the sign-up (portal) color scheme.
 */
:root {
  color-scheme: dark;
  --bg: #050300;
  --fg: #ffffff;
  --muted: #ffffff;
  --card: #1f1d19;
  --border: #2a3648;
  --action: #00ff15;
  --action-text: #000000;
  --action-disabled: #2a2825;
  --input-bg: #2a2825;
  --placeholder: #8b98a5;
  --site-gutter: 1.25rem;
  --site-logo-height: 1.75rem;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Aeonik", system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--fg);
}

body:has(.site-header) {
  padding: 0 var(--site-gutter) 2.5rem;
}

body.page-centered {
  display: flex;
  flex-direction: column;
  padding-bottom: 1.5rem;
}

.site-header {
  flex-shrink: 0;
  width: 100%;
  padding: var(--site-gutter) 0 1rem;
}

.site-brand {
  line-height: 0;
  display: block;
  width: fit-content;
}

.site-brand img {
  display: block;
  height: var(--site-logo-height);
  width: auto;
}

.page-main {
  width: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  background: var(--input-bg);
  color: var(--fg);
  font-family: inherit;
  border: 1px solid var(--border);
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder {
  color: var(--placeholder);
  opacity: 1;
}

button[type="submit"],
button.primary {
  font-family: inherit;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  background: var(--action-disabled);
  color: var(--placeholder);
  cursor: pointer;
  transition: transform 0.08s ease, background 0.15s ease, color 0.15s ease, filter 0.15s ease;
}

button[type="submit"]:disabled,
button.primary:disabled {
  background: var(--action-disabled);
  color: var(--placeholder);
  cursor: not-allowed;
  transform: none;
}

button[type="submit"]:not(:disabled),
button.primary:not(:disabled) {
  background: var(--action);
  color: var(--action-text);
  cursor: pointer;
}

button[type="submit"]:not(:disabled):hover,
button.primary:not(:disabled):hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

button.action:not(:disabled),
a.action.callout-action {
  background: var(--action);
  border-color: var(--action);
  color: var(--action-text);
}

button.action:disabled {
  background: var(--action-disabled);
  border-color: var(--border);
  color: var(--fg);
  opacity: 1;
}
