:root { --bg: #f4f5f2; --card: #fff; --text: #1d2420; --muted: #5d665f; --accent: #3f6b4f; --line: #d9ddd6; --err: #b3261e; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #151a17; --card: #1e2521; --text: #e8ece8; --muted: #a3ada5; --accent: #7fb08f; --line: #333d37; --err: #f2b8b5; }
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 16px; background: var(--bg); color: var(--text); font: 16px/1.4 system-ui, sans-serif; }
form { width: 100%; max-width: 360px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 28px; display: grid; gap: 14px; }
h1 { margin: 0 0 4px; font-size: 22px; }
label { display: grid; gap: 6px; font-size: 14px; color: var(--muted); }
input { font: inherit; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--text); }
button { font: inherit; font-weight: 600; padding: 11px; border: 0; border-radius: 8px; background: var(--accent); color: #fff; cursor: pointer; }
#erro { color: var(--err); font-size: 14px; min-height: 1em; margin: 0; }
p { margin: 0; font-size: 14px; color: var(--muted); }
a { color: var(--accent); font-size: 14px; }
.links { text-align: center; }
#ok { color: var(--accent); font-size: 14px; margin: 0; }
button:disabled { opacity: .6; cursor: default; }
