/* ===== LinkVerse.Work — Auth single-card shell (shared) ===== */
.au { position: relative; min-height: 100vh; padding: 110px 24px 80px; background: #07070c; color: #e4e4e7; display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; }
.au-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.au-orb { position: absolute; border-radius: 50%; filter: blur(70px); opacity: 0.5; animation: auOrb 24s ease-in-out infinite; }
.au-orb-1 { top: -180px; left: -140px; width: 540px; height: 540px; background: radial-gradient(circle, rgba(20, 85, 198, 0.5), transparent 70%); }
.au-orb-2 { bottom: -160px; right: -120px; width: 480px; height: 480px; background: radial-gradient(circle, rgba(96, 165, 250, 0.34), transparent 70%); animation-delay: -10s; }
@keyframes auOrb { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(30px,-20px) scale(1.06);} }

.au-card {
    position: relative; z-index: 1; width: 460px; max-width: 100%;
    padding: 44px 40px 36px; text-align: center;
    background: radial-gradient(ellipse at 30% 0%, rgba(20, 85, 198, 0.18), transparent 60%), linear-gradient(180deg, rgba(22,22,32,0.95), rgba(15,15,23,0.95));
    border: 1px solid rgba(59, 91, 219, 0.32); border-radius: 22px;
    box-shadow: 0 30px 80px rgba(0,0,0,0.5);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    animation: auEnter 0.5s cubic-bezier(0.2,0.8,0.2,1);
}
@keyframes auEnter { from {opacity:0; transform: translateY(20px) scale(0.97);} to {opacity:1; transform: translateY(0) scale(1);} }
.au-card-wide { width: 640px; }

.au-logo { display: inline-block; margin-bottom: 22px; }
.au-logo img { height: 28px; filter: brightness(1.1); }

.au-icon-wrap { position: relative; width: 72px; height: 72px; margin: 0 auto 20px; }
.au-icon { width: 72px; height: 72px; border-radius: 20px; position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.7rem; box-shadow: 0 18px 40px rgba(20, 85, 198, 0.45), inset 0 1px 0 rgba(255,255,255,0.18); }
.au-icon-primary { background: linear-gradient(135deg, #1455c6, #3b5bdb); }
.au-icon-ok      { background: linear-gradient(135deg, #22c55e, #4ade80); box-shadow: 0 18px 40px rgba(34,197,94,0.4); }
.au-icon-err     { background: linear-gradient(135deg, #ef4444, #f87171); box-shadow: 0 18px 40px rgba(239,68,68,0.4); }
.au-icon-warn    { background: linear-gradient(135deg, #f59e0b, #fb923c); box-shadow: 0 18px 40px rgba(245,158,11,0.4); }
.au-icon-rings { position: absolute; inset: 0; }
.au-icon-rings span { position: absolute; inset: 0; border-radius: 22px; border: 2px solid rgba(20, 85, 198, 0.32); animation: auRing 2.4s ease-out infinite; }
.au-icon-rings span:nth-child(2) { animation-delay: -0.8s; }
@keyframes auRing { 0%{transform:scale(1);opacity:0.7;} 100%{transform:scale(1.5);opacity:0;} }

.au-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #c7d2fe; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2em; padding: 5px 12px; border-radius: 999px; background: rgba(20, 85, 198, 0.12); border: 1px solid rgba(59, 91, 219, 0.28); margin-bottom: 14px; }
.au-dot { width: 6px; height: 6px; border-radius: 50%; background: #93c5fd; box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.25), 0 0 12px rgba(147, 197, 253, 0.8); animation: auPulse 2s ease-in-out infinite; }
@keyframes auPulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.55;transform:scale(1.3);} }

.au-card h1 { color: #fff; font-size: 1.45rem; font-weight: 800; letter-spacing: -0.01em; margin: 0 0 8px; background: linear-gradient(135deg, #fff, #c7d2fe); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.au-sub { color: #a1a1aa; font-size: 0.94rem; line-height: 1.6; margin: 0 0 26px; }

.au-alert { padding: 12px 14px; border-radius: 11px; margin-bottom: 18px; font-size: 0.88rem; display: flex; align-items: flex-start; gap: 10px; text-align: left; }
.au-alert i { font-size: 1rem; margin-top: 1px; flex-shrink: 0; }
.au-alert strong { display: block; margin-bottom: 4px; }
.au-alert p { margin: 0; font-size: 0.82rem; opacity: 0.9; }
.au-alert-err { background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.32); color: #fca5a5; }
.au-alert-ok  { background: rgba(34,197,94,0.10); border: 1px solid rgba(34,197,94,0.32); color: #86efac; }
.au-alert-warn { background: rgba(245,158,11,0.10); border: 1px solid rgba(245,158,11,0.32); color: #fcd34d; }

.au-form { display: flex; flex-direction: column; gap: 14px; }
.au-field { text-align: left; }
.au-label { display: block; color: #d4d4d8; font-size: 0.78rem; font-weight: 600; margin-bottom: 7px; letter-spacing: 0.02em; }
.au-input-wrap { position: relative; display: flex; align-items: center; }
.au-input-wrap > i { position: absolute; left: 14px; color: #71717a; font-size: 0.88rem; pointer-events: none; transition: color 0.2s ease; }
.au-input { width: 100%; padding: 13px 14px 13px 42px; background: rgba(15,15,23,0.7); border: 1px solid rgba(20, 85, 198, 0.18); border-radius: 12px; color: #fff; font-size: 0.95rem; font-family: inherit; transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; box-sizing: border-box; }
.au-input::placeholder { color: #52525b; }
.au-input:focus { outline: none; border-color: rgba(59, 91, 219, 0.65); background: rgba(15,15,23,0.95); box-shadow: 0 0 0 3px rgba(20, 85, 198, 0.18); }
.au-input-wrap:has(.au-input:focus) > i { color: #93c5fd; }
.au-hint { color: #71717a; font-size: 0.76rem; margin-top: 5px; display: block; }

.au-btn { position: relative; width: 100%; padding: 14px 22px; background: linear-gradient(135deg, #1455c6, #3b5bdb); color: #fff; border: none; border-radius: 14px; font-size: 0.96rem; font-weight: 700; font-family: inherit; cursor: pointer; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 9px; text-decoration: none; box-sizing: border-box; transition: transform 0.2s cubic-bezier(0.2,0.8,0.2,1), filter 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease; box-shadow: 0 10px 28px rgba(20, 85, 198, 0.42), inset 0 1px 0 rgba(255,255,255,0.18); margin-top: 4px; }
.au-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.au-btn::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent); transform: translateX(-100%); transition: transform 0.7s ease; }
.au-btn:hover::before { transform: translateX(100%); }
.au-btn-ghost { background: rgba(20, 85, 198, 0.06); color: #c7d2fe; border: 1px solid rgba(20, 85, 198, 0.32); box-shadow: none; }
.au-btn-ghost:hover { background: rgba(20, 85, 198, 0.16); border-color: rgba(59, 91, 219, 0.55); color: #fff; filter: none; }
.au-btn-danger { background: linear-gradient(135deg, #ef4444, #f87171); box-shadow: 0 10px 28px rgba(239,68,68,0.42), inset 0 1px 0 rgba(255,255,255,0.18); }

.au-foot { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(20, 85, 198, 0.12); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.au-foot a { color: #93c5fd; font-size: 0.84rem; font-weight: 600; text-decoration: none; transition: color 0.2s ease; display: inline-flex; align-items: center; gap: 6px; }
.au-foot a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 480px) {
    .au-card { padding: 36px 24px 28px; }
    .au-card h1 { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
    .au-orb, .au-icon-rings span, .au-dot, .au-card { animation: none !important; }
    .au-btn, .au-input { transition: none !important; }
}
