.login-page{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 45% 70% at 50% 100%,#3a3a3a,#161616 60%,#000);display:flex;flex-direction:column;position:relative}
.back{position:absolute;top:clamp(16px,2.6vw,44px);left:var(--pad);display:inline-flex;align-items:center;gap:.5em;min-height:44px;font-size:clamp(15px,1.3vw,22px);z-index:1}
.back span{font-size:1.5em;line-height:1}
.back:hover{color:var(--y)}
.login{width:100%;max-width:calc(520px + 2 * var(--pad));margin:0 auto;padding:clamp(70px,5vw,96px) var(--pad) clamp(24px,4vw,64px);display:flex;flex-direction:column;align-items:center;gap:clamp(16px,2.2vw,40px);flex:1;justify-content:center}
.login-logo img{height:clamp(40px,4.4vw,72px);width:auto}
.panel{width:100%;background:#eee;color:#222;border-radius:clamp(18px,1.8vw,30px);padding:clamp(26px,3vw,48px) clamp(20px,3.3vw,56px) clamp(28px,3.4vw,56px);text-align:center;container-type:inline-size}
.kicker{color:#c81e1e;font-weight:700;letter-spacing:.12em;font-size:min(6.2cqw,34px);line-height:1.3;white-space:nowrap;margin-bottom:.4em}
.panel h1{font:400 min(20cqw,110px)/1 var(--bb);letter-spacing:.05em;margin:0 0 .22em;color:#1a1a1a;white-space:nowrap}
.sub{color:#666;font-size:clamp(14px,4cqw,22px);margin-bottom:clamp(18px,3vw,36px)}
label{display:block;text-align:left;color:#666;font-size:clamp(15px,1.3vw,20px);margin:0 .6em .4em}
input{display:block;width:100%;height:clamp(48px,5vw,84px);border:1px solid #ddd;border-radius:14px;background:#fff;padding:0 1em;font:inherit;font-size:max(16px,1.3vw);color:#111;margin-bottom:clamp(14px,1.6vw,26px)}
input:focus{outline:2px solid #c81e1e;outline-offset:1px;border-color:#c81e1e}
.err{color:#b41b1b;font-size:.95em;margin:-4px 0 12px;text-align:left}
.submit{width:100%;height:clamp(48px,5vw,84px);margin-top:clamp(8px,2.6vw,48px);border:0;border-radius:12px;background:#b41b1b;color:#fff;font:400 clamp(20px,2.2vw,34px)/1 var(--bb);letter-spacing:.06em;cursor:pointer;transition:filter .15s,transform .15s}
.submit:hover{filter:brightness(1.12)}
.submit:active{transform:scale(.99)}
.submit:disabled{opacity:.6;cursor:wait}
.shake{animation:shk .35s}
@keyframes shk{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@media(max-width:480px){.login-page{background:linear-gradient(#000,#1a1a1a)}.back{left:12px}}

/* dashboard placeholder */
.dash{margin:auto;padding:var(--pad);text-align:center}
.dash h1{font-size:clamp(28px,5vw,64px);margin-bottom:.3em}
.dash p{color:var(--mute);margin-bottom:1.4em}
.dash button{cursor:pointer;font:inherit}
