body.auth-loading .app,body.auth-required .app{display:none}
body.auth-loading:before{content:'Loading CV Studio…';display:grid;place-items:center;min-height:100vh;color:#bed0f3}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 20% 5%,#233454 0,transparent 55%),#0c1320;color:#eaf0fc}
.auth-card{width:100%;max-width:460px;border:1px solid #324362;background:#141e30;border-radius:20px;padding:36px;box-shadow:0 30px 80px #0005}
.auth-brand{font-size:14px;font-weight:700;letter-spacing:.12em;color:#a9bdf0;margin-bottom:30px}
.auth-card h1{font-size:29px;margin:0 0 10px;line-height:1.2}
.auth-card p{color:#b5c2d8;line-height:1.6;margin:0 0 22px}
.auth-card label{display:block;margin:18px 0 7px;font-size:14px;color:#d5e0f3}
.auth-card input{box-sizing:border-box;width:100%;padding:13px 14px;background:#0d1626;border:1px solid #40506a;border-radius:9px;color:#fff;font:inherit}
.auth-card input:focus{outline:2px solid #93b2ff;outline-offset:2px}
.auth-card button{font:inherit;cursor:pointer}
.auth-submit{width:100%;padding:13px;margin-top:24px;border:0;border-radius:9px;background:#a9bdf0;color:#10203d;font-weight:700}
.auth-card button:disabled{opacity:.55;cursor:wait}
.auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap}
.auth-link{border:0;padding:0;background:transparent;color:#b5ccff;text-decoration:underline;text-underline-offset:4px}
.auth-card .auth-status{margin-top:16px;margin-bottom:0;min-height:24px;color:#f3ce9a;overflow-wrap:anywhere}
.auth-card .auth-note{font-size:12px;margin-top:24px;margin-bottom:0;color:#92a5c4}
@media(max-width:500px){.auth-card{padding:26px 22px}.auth-screen{padding:16px}}
