/* Presentation only. The existing session form owns authentication. */
.login-view { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; min-height:100svh; gap:48px; padding:64px 28px; overflow:hidden; background:radial-gradient(ellipse at 18% 35%,#f2a20d0b,transparent 52%),var(--bg); }
.login-view::before { position:absolute;z-index:-1;inset:0;content:"";pointer-events:none;background-image:linear-gradient(#7f8a921a 1px,transparent 1px),linear-gradient(90deg,#7f8a921a 1px,transparent 1px);background-size:120px 120px;mask-image:linear-gradient(180deg,transparent,#0006 40%,#000b); }
.login-view::after { position:absolute;z-index:-2;inset:0;content:"";pointer-events:none;background:radial-gradient(ellipse at 12% 88%,#f2a20d0d,transparent 60%),radial-gradient(ellipse at 90% 10%,#7f8a9210,transparent 55%); }
@keyframes login-badge-in { 0% { opacity:0;transform:translateY(-100svh) rotate(-1deg); } 75% { opacity:1;transform:translateY(8px) rotate(.3deg); } 100% { opacity:1;transform:none; } }
.login-shell { position:relative;width:min(440px,100%);animation:login-badge-in 1.15s cubic-bezier(.2,.75,.25,1) both; }
.login-card { position:relative;display:grid;width:100%;min-width:0;gap:26px;padding:68px 32px 26px;border:1px solid transparent;border-radius:22px;background:radial-gradient(ellipse at 100% 0,#f2a20d12,transparent 48%) padding-box,linear-gradient(145deg,#20282f,#141b20 72%) padding-box,linear-gradient(135deg,#4b5156,#8a7957 40%,#343e45 76%) border-box;box-shadow:0 30px 90px #0007,inset 0 1px 0 #ffffff0b; }
.login-card::before { position:absolute;top:-1px;left:30px;right:30px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#f2a20d80,transparent);content:""; }
.login-card::after { position:absolute;top:24px;left:50%;width:76px;height:14px;transform:translateX(-50%);border:1px solid #494d50;border-radius:10px;background:#0b1014;box-shadow:inset 0 2px 4px #0009;pointer-events:none;content:""; }
.login-card-heading { display:grid;justify-items:center;text-align:center;gap:12px; }
.badge-brand { display:flex;align-items:center;gap:10px;color:#b9c2c7;font-size:13px;letter-spacing:.14em;font-weight:700; }
.badge-brand img { width:48px;height:34px;object-fit:contain; }
.login-card h1 { margin:0;color:var(--text);font-size:25px;line-height:1.35;font-weight:650;letter-spacing:.03em; }
.login-card-heading p { margin:0;color:var(--muted);font-size:12px;line-height:1.6; }
@media(prefers-reduced-motion:reduce) { .login-shell { animation:none; } }
.login-card form { gap:20px; }
.login-card label { gap:9px; font-size:13px; }
.login-input { position:relative; display:block; min-width:0; }
.login-input>svg { position:absolute; top:15px; left:13px; width:18px; height:18px; fill:none; stroke:#7f8a92; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.login-input input { width:100%; height:48px; padding:10px 12px 10px 42px; border-color:#343e45; border-radius:9px; background:#10161a; font-size:16px; }
.login-input input::placeholder { color:#647078; font-size:13px; }
.login-input:focus-within>svg { stroke:var(--accent); }
.login-card .form-message { margin:0; font-size:13px; }
#login-message { box-sizing:border-box;height:48px;min-height:48px;max-height:48px;padding:5px 10px 5px 32px;line-height:18px;overflow:auto;overflow-wrap:anywhere; }
#login-message[hidden] { display:block!important;visibility:hidden; }
.login-card button.login-submit { display:flex; align-items:center; justify-content:center; gap:13px; height:46px; margin-top:4px; border-color:#f2a20d; border-radius:9px; color:#1c1405; background:linear-gradient(#ffc04a,#ee9d08); box-shadow:0 4px 18px #f2a20d12; font-size:14px; font-weight:700; }
.login-submit::after { width:7px; height:7px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); content:""; }
.login-card button.login-submit:hover:not(:disabled),.login-card button.login-submit:focus-visible { border-color:#ffd58a; color:#1c1405; background:linear-gradient(#ffcb65,#f2a20d); }
.login-card button.login-submit:disabled { border-color:var(--line); color:var(--muted); background:var(--panel-2); box-shadow:none; }
@media(max-width:800px) {
  .login-view { padding:70px 22px 30px; }
  .login-card { padding:64px 24px 24px;gap:24px; }
}
@media(max-width:380px) {
  .login-view { padding:64px 16px 28px; }
  .login-card { padding:62px 20px 22px; }
}
