.auth-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 10%,#f2dfd8 0,#f7f3f0 36%,#eee5e0 100%)}
.auth-screen[hidden]{display:none}
.auth-card{width:min(100%,390px);padding:34px 30px 28px;border:1px solid rgba(231,221,215,.9);border-radius:22px;background:rgba(255,253,250,.96);box-shadow:0 24px 70px rgba(73,46,41,.14);text-align:center}
.auth-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 20px;border:1px solid var(--wine);border-radius:50%;color:var(--wine);font:32px/1 "Playfair Display",serif}
.auth-card .eyebrow{font-size:11px;letter-spacing:1.8px}
.auth-card h1{margin:8px 0 7px;font:500 29px/1.2 "Playfair Display","Noto Sans SC",serif}
.auth-card>p{margin:0 0 25px;color:var(--muted);font-size:14px}
.auth-label{display:block;margin-bottom:7px;text-align:left;color:var(--ink);font-size:13px;font-weight:700}
.auth-input-wrap{position:relative}
.auth-input-wrap input{width:100%;height:48px;padding:10px 60px 10px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font:16px "Noto Sans SC",sans-serif;outline:none}
.auth-input-wrap input:focus{border-color:#b99085;box-shadow:0 0 0 3px #f4e8e3}
.auth-toggle{position:absolute;right:9px;top:7px;height:34px;border:0;border-radius:7px;background:transparent;color:var(--wine);font:600 13px "Noto Sans SC",sans-serif;cursor:pointer;padding:0 8px}
.auth-submit{width:100%;height:48px;margin-top:15px;font-size:15px}
.auth-submit:disabled{cursor:wait;opacity:.7}
.auth-error{min-height:21px!important;margin:10px 0 0!important;color:#b94a46!important;font-size:13px!important}
.auth-note{display:block;margin-top:8px;color:var(--muted);font-size:12px}
body.auth-locked .app-shell{visibility:hidden}
@media(max-width:480px){.auth-screen{padding:16px}.auth-card{padding:30px 22px 24px;border-radius:18px}}
