.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 32px; background: radial-gradient(circle at 50% 8%, rgba(42,125,255,.23), transparent 26rem), radial-gradient(circle at 78% 72%, rgba(154,72,255,.14), transparent 24rem), var(--bg); }
.auth-language { position: fixed; right: 24px; top: 24px; }
.auth-shell { width: min(440px, 100%); display: grid; gap: 16px; }
.auth-logo { justify-self: center; background: white; padding: 10px 16px; border-radius: 22px; box-shadow: var(--shadow-soft); }
.auth-logo img { width: 292px; }
.auth-card { padding: 30px; border: 1px solid var(--line); border-radius: 28px; background: rgba(10,20,39,.9); box-shadow: var(--shadow); display: grid; gap: 16px; backdrop-filter: blur(20px); }
.auth-card h1 { font-size: clamp(2rem, 5vw, 2.55rem); line-height: 1; }
.auth-card p { margin: 0 0 4px; }
.auth-card label { display: grid; gap: 8px; color: var(--muted-strong); font-weight: 750; }
.auth-card input { width: 100%; padding: 13px 14px; border-radius: 14px; border: 1px solid var(--line-strong); background: rgba(255,255,255,.08); color: var(--text); outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.auth-card input:focus { border-color: rgba(73,216,255,.65); box-shadow: 0 0 0 4px rgba(73,216,255,.11); background: rgba(255,255,255,.105); }
.alert { padding: 12px 14px; border-radius: 14px; background: rgba(239,35,60,.12); color: #ffd6dc; border: 1px solid rgba(239,35,60,.32); }
.alert-success { background: rgba(73,216,255,.12); color: #d8f7ff; border-color: rgba(73,216,255,.32); }
.auth-muted-link { justify-self: center; color: var(--muted-strong); font-size: .94rem; }
.auth-muted-link:hover { color: white; }
@media (max-width: 560px) { .auth-page { padding: 22px; } .auth-logo img { width: 235px; } }

.auth-logo { justify-self: center; display:inline-flex; align-items:center; gap: 12px; color:#fff; }
.auth-logo span { display:grid; }
.auth-logo strong { letter-spacing:.06em; }
.auth-logo small { color: var(--muted-strong); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.auth-logo .brand-mark { width: 44px !important; height: 44px !important; }

/* v7 auth: modal-style access, not a cramped standalone page */
.auth-modal-page {
    min-height: 100vh;
    display: block;
    padding: 0;
    background: #020711;
    overflow-x: hidden;
}
.auth-backdrop { position: fixed; inset: 0; pointer-events: none; overflow: hidden; }
.auth-backdrop::before {
    content:""; position:absolute; inset:0;
    background:
        radial-gradient(circle at 24% 20%, rgba(73,216,255,.18), transparent 26rem),
        radial-gradient(circle at 76% 62%, rgba(154,72,255,.16), transparent 30rem),
        linear-gradient(180deg, rgba(4,14,33,.96), #020711 76%);
}
.auth-backdrop-grid { position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(circle at 50% 30%, black, transparent 72%); }
.auth-orbit { position:absolute; border: 1px solid rgba(73,216,255,.12); border-radius: 50%; filter: blur(.2px); }
.auth-orbit-one { width: 620px; height: 620px; left: calc(50% - 480px); top: calc(50% - 360px); animation: slowSpin 32s linear infinite; }
.auth-orbit-two { width: 460px; height: 460px; right: calc(50% - 520px); bottom: calc(50% - 360px); animation: slowSpin 42s linear reverse infinite; }
@keyframes slowSpin { to { transform: rotate(360deg); } }
.auth-topline { position: relative; z-index: 3; width: min(1420px, calc(100% - 56px)); margin: 22px auto 0; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.auth-brand { display:inline-flex; align-items:center; gap: 12px; padding: 8px 14px 8px 9px; border-radius: 999px; backdrop-filter: blur(18px); }
.auth-brand img { width: 42px; height: 42px; object-fit: contain; border-radius: 12px; }
.auth-brand span { display:grid; line-height:1.05; }
.auth-brand strong { color:#fff; letter-spacing:.06em; font-size:1rem; font-weight:950; }
.auth-brand small { margin-top:4px; color: var(--muted-strong); font-size:.68rem; letter-spacing:.08em; text-transform: uppercase; }
.auth-modal-stage { position: relative; z-index: 2; width: min(1180px, calc(100% - 56px)); min-height: calc(100vh - 92px); margin: 0 auto; display: grid; grid-template-columns: minmax(320px, 1fr) minmax(360px, 460px); gap: clamp(28px, 6vw, 86px); align-items: center; padding: 48px 0 70px; }
.auth-context-card { padding: clamp(26px, 3.5vw, 40px); border-radius: 30px; border:1px solid rgba(255,255,255,.12); background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: 0 32px 100px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.auth-context-card h2 { max-width: 13ch; font-size: clamp(2.1rem, 3.7vw, 4rem); line-height: 1.02; margin: 12px 0 18px; }
.auth-context-card p { max-width: 540px; color: var(--muted-strong); }
.auth-shell { width: 100%; display: block; }
.auth-logo { display: none !important; }
.auth-card, .auth-modal-card { width: 100%; padding: clamp(26px, 3vw, 36px); border-radius: 28px; background: rgba(11,22,42,.84); border: 1px solid rgba(181,212,255,.2); box-shadow: 0 38px 120px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(24px) saturate(120%); gap: 22px; }
.auth-card-head { display:grid; gap: 12px; }
.auth-card h1 { font-size: clamp(2rem, 3.2vw, 2.8rem); line-height:1.02; }
.auth-card p { margin:0; color: var(--muted-strong); }
.auth-fields { display:grid; gap: 16px; }
.auth-card label, .login-modal-card label { display:grid; gap: 8px; color: var(--muted-strong); font-size:.92rem; font-weight:800; }
.auth-card input, .login-modal-card input { width: 100%; min-height: 48px; padding: 13px 15px; border-radius: 14px; border: 1px solid rgba(181,212,255,.28); background: rgba(255,255,255,.075); color: var(--text); outline: none; }
.auth-card input:focus, .login-modal-card input:focus { border-color: rgba(73,216,255,.7); box-shadow: 0 0 0 4px rgba(73,216,255,.12); }
.auth-card-links { display:flex; justify-content:space-between; gap: 16px; flex-wrap:wrap; }
.auth-muted-link { justify-self: unset; font-size:.93rem; color: var(--muted-strong); }
@media (max-width: 900px) { .auth-modal-stage { grid-template-columns: 1fr; align-items: start; padding-top: 42px; } .auth-context-card { display:none; } .auth-modal-card { max-width: 520px; margin: 0 auto; } }
@media (max-width: 560px) { .auth-topline, .auth-modal-stage { width: min(100% - 28px, 1180px); } .auth-brand small { display:none; } }
