/* Shared public authentication design: login, forgot-password and reset-password. */
:root{--auth-red:#f51f2d;--auth-red-dark:#da101f;--auth-ink:#354052;--auth-muted:#768399}
html,body{width:100%;min-height:100%}
body.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;overflow-x:hidden;position:relative;background:linear-gradient(135deg,rgba(24,12,8,.20),rgba(255,255,255,.12)),var(--auth-background) center/cover no-repeat fixed}
body.auth-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.10),transparent 38%),linear-gradient(180deg,rgba(10,7,5,.08),rgba(23,13,9,.18))}
.auth-page .login-wrap,.auth-page .card{position:relative;z-index:1;width:min(420px,94vw);overflow:hidden;border:1px solid rgba(255,255,255,.76);border-radius:25px;background:rgba(255,250,247,.58);box-shadow:0 28px 72px rgba(24,13,8,.32),inset 0 1px 0 rgba(255,255,255,.85);-webkit-backdrop-filter:blur(24px) saturate(118%);backdrop-filter:blur(24px) saturate(118%)}
.auth-page .login-panel{color:var(--auth-ink);background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,248,244,.18))}
.auth-page .card{padding:34px 38px 32px;color:var(--auth-ink);background:linear-gradient(145deg,rgba(255,255,255,.46),rgba(255,248,244,.25)),rgba(245,238,233,.74)}
.auth-page .logo{margin:0 0 27px;text-align:center}
.auth-page .logo img{display:block;width:105px;height:84px;max-height:none;margin:0 auto 13px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(45,27,20,.14))}
.auth-page .logo h1{margin:0 0 7px;color:#172033;font-size:23px;line-height:1.2;font-weight:750;letter-spacing:-.25px}
.auth-page .logo p{max-width:345px;margin:0 auto;color:#65738a;font-size:12px;line-height:1.55}
.auth-page .input{position:relative;margin:0 0 16px}
.auth-page .input>i{position:absolute;z-index:1;left:15px;top:50%;transform:translateY(-50%);color:#78859a;font-size:13px;pointer-events:none}
.auth-page .input input{width:100%;height:47px;padding:0 44px 0 43px;border:1px solid rgba(218,224,232,.95);border-radius:8px;outline:none;color:#2f3b4f;background:rgba(255,255,255,.91);box-shadow:0 6px 18px rgba(54,41,34,.07),inset 0 1px 0 #fff;font:500 13px/1 "Segoe UI",Arial,sans-serif;transition:border-color .18s,box-shadow .18s,background .18s}
.auth-page .input input::placeholder{color:#9ca5b3;opacity:1}
.auth-page .input input:hover{background:#fff;border-color:#cfd6e0}
.auth-page .input input:focus{background:#fff;border-color:rgba(245,31,45,.62);box-shadow:0 0 0 3px rgba(245,31,45,.10),0 8px 20px rgba(54,41,34,.08)}
.auth-page .toggle{position:absolute;z-index:2;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:8px;color:#8b96a8;background:transparent;cursor:pointer;transition:color .18s,background .18s}
.auth-page .toggle:hover{color:var(--auth-red);background:#fff0f1}
.auth-page .btn{width:100%;height:49px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:9px;color:#fff;background:linear-gradient(100deg,#ff2734,#ef1725 58%,#dc0f1f);box-shadow:0 11px 24px rgba(226,17,33,.28),inset 0 1px 0 rgba(255,255,255,.28);font-size:13px;font-weight:800;letter-spacing:.2px;cursor:pointer;transition:transform .18s,box-shadow .18s,filter .18s}
.auth-page .btn:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 15px 30px rgba(226,17,33,.34)}
.auth-page .btn:active{transform:translateY(0)}
.auth-page .back{display:block;margin-top:18px;text-align:center;color:#46536a;text-decoration:none;font-size:12px;font-weight:750}
.auth-page .back:hover{color:var(--auth-red-dark)}
.auth-page .note,.auth-page .rule{margin:13px 0 0;color:#7d899c;font-size:10px;line-height:1.5;text-align:center}
.auth-page .rule{margin:-2px 0 16px;text-align:left}
.auth-page .message,.auth-page .alert{padding:11px 13px;margin:0 0 16px;border-radius:8px;font-size:12px;font-weight:650;line-height:1.5}
.auth-page .message{background:rgba(230,249,237,.92);border:1px solid #aee7c4;color:#126c39}
.auth-page .alert{background:rgba(255,232,235,.92);border:1px solid #ffc4ca;color:#9f1220}
.auth-page .message i,.auth-page .alert i{margin-right:4px}
.auth-page :is(input,button,a):focus-visible{outline:3px solid rgba(245,31,45,.28);outline-offset:3px}
@media(max-width:520px){body.auth-page{padding:16px;background-attachment:scroll}.auth-page .login-wrap,.auth-page .card{width:min(100%,390px);border-radius:22px}.auth-page .card{padding:30px 25px 28px}.auth-page .logo{margin-bottom:24px}.auth-page .logo img{width:98px;height:79px}.auth-page .logo h1{font-size:21px}.auth-page .input input{height:46px}}
@media(max-height:620px) and (min-width:521px){body.auth-page{padding:14px;overflow-y:auto}.auth-page .card{padding-top:23px;padding-bottom:23px}.auth-page .logo{margin-bottom:18px}.auth-page .logo img{width:82px;height:64px;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.auth-page *{transition:none!important}}
