/* Stand-alone pages only: sign-in and errors. Not loaded by the app shell. */
.page-center {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: var(--cm-4);
}
.auth-card {
  width: min(448px, 100%);
  padding: 48px 40px 36px;
  border-radius: 28px;
  background: var(--cm-surface);
  box-shadow: var(--cm-shadow-1);
}
.auth-card .logo { width: auto; height: 62px; display: block; margin-bottom: var(--cm-4); }
.auth-card h1 { font-size: 2rem; margin-bottom: var(--cm-2); }
.auth-card .sub { color: var(--cm-text-2); margin: 0 0 var(--cm-8); font-size: 1rem; }
.auth-card .field { margin-bottom: var(--cm-5); }
.auth-card .input { height: 52px; font-size: 1rem; border-radius: var(--cm-radius); }
.password-wrap { position: relative; display: flex; }
.password-wrap .input { flex: 1; padding-right: 48px; }
.password-wrap .icon-btn { position: absolute; right: 6px; top: 6px; }
.auth-card .error {
  display: flex;
  gap: var(--cm-2);
  align-items: flex-start;
  margin-bottom: var(--cm-4);
  color: var(--cm-danger);
  font-size: var(--cm-fs-sm);
}
.auth-card .notice { margin-bottom: var(--cm-4); color: var(--cm-text-2); font-size: var(--cm-fs-sm); }
.auth-card .field-error { color: var(--cm-danger); font-size: var(--cm-fs-xs); }
.auth-actions { display: flex; justify-content: flex-end; margin-top: var(--cm-6); }
.auth-actions .btn { height: 40px; padding: 0 var(--cm-6); }
.auth-foot { margin-top: var(--cm-6); color: var(--cm-text-3); font-size: var(--cm-fs-xs); text-align: center; }

@media (max-width: 480px) {
  .auth-card { padding: 32px 20px; box-shadow: none; background: transparent; }
}
