:root {
  --bg: #ffffff;
  --bg-soft: #f7f7f5;
  --text: #37352f;
  --text-muted: #787774;
  --border: #e9e9e7;
  --accent: #2383e2;
  --danger: #eb5757;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}

* { box-sizing: border-box; }
body { margin: 0; }

.auth { min-height: 100vh; display: grid; place-items: center; background: var(--bg-soft); padding: 16px; }
.auth-card { width: 100%; max-width: 380px; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: 32px; }
.auth-logo { font-weight: 700; font-size: 20px; margin-bottom: 16px; }
.auth h1 { font-size: 22px; margin: 0 0 20px; }
.auth-form { display: flex; flex-direction: column; gap: 6px; }
.auth-form label { font-size: 13px; color: var(--text-muted); margin-top: 8px; }
.auth-form input[type=text], .auth-form input[type=email], .auth-form input[type=password] {
  font: inherit; padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px;
}
.auth-form input:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
.button { margin-top: 16px; font: inherit; font-weight: 500; padding: 9px 12px; border: 0; border-radius: 6px; background: var(--accent); color: #fff; cursor: pointer; }
.auth-links { font-size: 13px; color: var(--text-muted); margin: 20px 0 0; }
.auth-links a { color: inherit; }
.flash { padding: 8px 10px; border-radius: 6px; font-size: 14px; margin-bottom: 12px; }
.flash-alert { background: #fdebec; color: #9f2f2d; }
.flash-notice { background: #edf3ec; color: #346538; }
