/* Auth pages — centered card. Namespaced (.au-*) so template globals don't leak in. */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600&family=Hind+Siliguri:wght@400;500;600&display=swap');
body { background: #f5f8ff !important; }
.au-page { --brand:#0d6efd; --brand-d:#0b5ed7; --ink:#0f1b3d; --ink-2:#475569; --ink-3:#8a94a8; --line:#eadfd5;
  min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 28px 16px; box-sizing: border-box;
  font-family: 'Inter','Hind Siliguri',system-ui,sans-serif; color: var(--ink);
  background: radial-gradient(700px 360px at 85% -40px, rgba(13,110,253,.16), transparent 60%), radial-gradient(600px 360px at -5% 90%, rgba(251,191,36,.14), transparent 60%), #f5f8ff; }
.au-box { width: 100%; max-width: 410px; }
.au-logo { display: flex; align-items: center; justify-content: center; gap: 10px; font-family: 'Plus Jakarta Sans','Hind Siliguri',sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -.02em; color: var(--ink); margin-bottom: 20px; text-decoration: none; }
.au-logo i { width: 38px; height: 38px; border-radius: 12px; background: var(--brand); color: #fff; display: grid; place-items: center; font-style: normal; font-size: 19px; }
.au-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 32px 28px 26px; box-shadow: 0 1px 2px rgba(15,40,90,.04), 0 18px 44px rgba(15,40,90,.08); }
.au-card h1 { font-family: 'Plus Jakarta Sans','Hind Siliguri',sans-serif; font-size: 22px; font-weight: 800; margin: 0 0 6px; text-align: center; letter-spacing: -.01em; color: var(--ink); }
.au-sub { text-align: center; color: var(--ink-3); margin: 0 0 24px; font-size: 14px; }
.au-field { margin-bottom: 16px; }
.au-field label { display: block; font-weight: 600; font-size: 13px; color: var(--ink-2); margin-bottom: 7px; }
.au-in-wrap { position: relative; }
.au-in-wrap > svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--ink-3); pointer-events: none; }
.au-page input.au-in { width: 100%; height: 48px; padding: 0 14px 0 44px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-size: 15px; color: var(--ink); box-shadow: none; box-sizing: border-box; font-family: inherit; transition: border-color .15s, box-shadow .15s; }
.au-page input.au-in:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(13,110,253,.14); }
.au-page input.au-in.has-eye { padding-right: 46px; }
.au-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border: 0; background: transparent; border-radius: 10px; color: var(--ink-3); cursor: pointer; display: grid; place-items: center; }
.au-eye:hover { background: #eaf2ff; color: var(--brand-d); }
.au-eye svg { width: 18px; height: 18px; }
.au-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.au-check { display: flex; align-items: center; gap: 9px; margin: 2px 0 20px; font-size: 13.5px; color: var(--ink-2); }
.au-check input { width: 17px; height: 17px; accent-color: var(--brand); margin: 0; }
.au-check label { margin: 0; font-weight: 500; }
.au-check a { color: var(--brand-d); font-weight: 600; }
.au-btn { width: 100%; height: 48px; border: 1px solid var(--brand-d); border-radius: 12px; background: var(--brand); color: #fff; font-weight: 700; font-size: 15.5px; cursor: pointer; font-family: inherit; transition: background .15s; }
.au-btn:hover { background: var(--brand-d); }
.au-btn:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.au-foot { margin-top: 20px; text-align: center; color: var(--ink-3); font-size: 13.5px; line-height: 1.9; }
.au-foot a { color: var(--brand-d); font-weight: 600; text-decoration: none; }
.au-foot a:hover { text-decoration: underline; }
.au-copy { text-align: center; color: var(--ink-3); font-size: 12.5px; margin-top: 18px; }
@media (max-width: 440px) { .au-card { padding: 26px 20px 22px; } .au-row { grid-template-columns: 1fr; gap: 0; } }
.au-card { box-shadow: none !important; border-radius: 16px; }
.au-page input.au-in:focus { box-shadow: none; }

@keyframes au-in { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes au-drop { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
.au-logo { animation: au-drop .5s ease both; }
.au-card { animation: au-in .55s .08s ease both; }
.au-field { animation: au-in .45s ease both; }
.au-field:nth-of-type(2) { animation-delay: .14s; } .au-field:nth-of-type(3) { animation-delay: .2s; } .au-field:nth-of-type(4) { animation-delay: .26s; }
.au-btn { transition: background-color .15s, transform .12s; } .au-btn:active { transform: scale(.98); }
@media (prefers-reduced-motion: reduce) { .au-logo, .au-card, .au-field { animation: none !important; } }
