:root { --snow: #FEF8F5; --glacier: #D7DFE1; --winter: #08151E; --red: #C74B4E; }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body { background: var(--snow); color: var(--winter); font-family: 'DM Sans', sans-serif; min-height: 100vh; }
    nav { background: var(--winter); display: flex; align-items: center; justify-content: space-between; padding: 0 48px; height: 56px; z-index: 10; position: relative; }
    .nav-logo { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 0.18em; color: var(--snow); text-decoration: none; }
    .nav-links { display: flex; align-items: center; list-style: none; }
    .nav-links li { display: flex; align-items: center; }
    .nav-links li:not(:last-child)::after { content: '|'; color: var(--snow); opacity: 0.25; padding: 0 14px; font-size: 11px; }
    .nav-links a { font-family: 'DM Mono', monospace; font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--snow); text-decoration: none; opacity: 0.65; transition: opacity 0.2s; white-space: nowrap; }
    .nav-links a:hover { opacity: 1; }
    .page-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; }
    h1 { font-family: 'Bebas Neue', sans-serif; font-size: 52px; letter-spacing: 0.06em; color: var(--winter); margin-bottom: 8px; line-height: 1; }
    .sub { font-size: 14px; color: #888; line-height: 1.6; margin-bottom: 36px; }
    input[type=email], input[type=text], input[type=password] { width: 100%; padding: 14px 16px; border: 1px solid var(--glacier); border-radius: 8px; font-family: 'DM Sans', sans-serif; font-size: 14px; background: white; color: var(--winter); outline: none; transition: border-color 0.2s; margin-bottom: 12px; }
    input:focus { border-color: var(--winter); }
    .btn { display: block; width: 100%; padding: 14px; background: var(--winter); color: var(--snow); font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; border: none; border-radius: 8px; cursor: pointer; transition: opacity 0.2s; text-decoration: none; text-align: center; margin-bottom: 12px; }
    .btn:hover { opacity: 0.8; }
    .btn.outline { background: transparent; border: 1px solid var(--glacier); color: var(--winter); }
    .card { background: white; border: 1px solid var(--glacier); border-radius: 16px; padding: 48px 40px; width: 100%; max-width: 400px; box-shadow: 0 24px 64px rgba(8,21,30,0.1); }
    .center { display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 56px); padding: 40px 20px; }
    .note { font-size: 12px; color: #aaa; text-align: center; margin-top: 16px; line-height: 1.5; }
    .note a { color: var(--red); text-decoration: none; }
    .scan-fab { position: fixed; bottom: 32px; right: 32px; width: 72px; height: 72px; border-radius: 50%; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,0.25); transition: transform 0.2s; z-index: 999; border: none; padding: 0; background: transparent; }
    .scan-fab:hover { transform: scale(1.08); }
    .scan-fab img { width: 72px; height: 72px; border-radius: 50%; display: block; }
    @media (max-width: 640px) { nav { padding: 0 16px; } .nav-links a { font-size: 9px; } .card { padding: 36px 24px; } }

/* Auth extras */
.error-msg {
  color: #C74B4E;
  font-size: 13px;
  margin: -8px 0 8px;
  font-family: 'DM Mono', monospace;
}
.success-box {
  background: #f0f8ee;
  border: 1px solid #ACCB79;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  font-size: 15px;
  line-height: 1.7;
}
.btn:disabled { opacity: 0.55; cursor: not-allowed; }
