:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#16202a;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,#dcecff 0,transparent 32%),radial-gradient(circle at 90% 90%,#e5dcff 0,transparent 30%)}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #dce4ef;border-radius:20px;padding:36px;box-shadow:0 24px 70px rgba(28,48,76,.12)}.brand-mark{display:grid;place-items:center;margin:-36px -36px 0;padding:26px 16px;border-radius:19px 19px 0 0;background:#16202a}.brand-mark img{display:block;height:36px;width:auto}h1{margin:26px 0 8px;font-size:27px}.subtitle,.boundary{color:#657386;line-height:1.65}.boundary{font-size:12px;margin:24px 0 0;padding-top:18px;border-top:1px solid #edf1f6}form{display:grid;gap:17px;margin-top:24px}label{display:grid;gap:7px;font-size:14px;font-weight:600}input{width:100%;height:44px;padding:0 13px;border:1px solid #ccd6e3;border-radius:10px;font:inherit;outline:none}input:focus{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.12)}button,.button{height:44px;border:0;border-radius:10px;background:#315efb;color:#fff;font:inherit;font-weight:700;cursor:pointer;display:grid;place-items:center;text-decoration:none;padding:0 18px}button:disabled{opacity:.55;cursor:not-allowed}.secondary,.secondary-link{background:#eef2ff;color:#2946a8}.inline{display:grid;grid-template-columns:1fr auto;gap:9px}.inline button{white-space:nowrap}.links,.actions{display:flex;justify-content:space-between;gap:14px;margin-top:20px;font-size:14px}.links a{color:#315efb;text-decoration:none}.actions>*{flex:1}.alert{margin-top:18px;padding:11px 13px;border-radius:9px;background:#eef4ff;color:#24479b;font-size:14px}.alert.error{background:#fff0f0;color:#a72a2a}.alert.success{background:#edf9f1;color:#287546}pre{padding:14px;border-radius:10px;background:#f7f9fc;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:520px){.auth-card{padding:26px 21px;border-radius:16px}.brand-mark{margin:-26px -21px 0;padding:22px 16px;border-radius:15px 15px 0 0}.inline{grid-template-columns:1fr}.links{flex-direction:column}}
.toast-region{position:fixed;top:22px;right:22px;z-index:1000;display:grid;gap:9px;width:min(360px,calc(100vw - 44px));pointer-events:none}
.toast{pointer-events:auto;padding:12px 15px;border-radius:10px;background:#16202a;color:#f2f6fb;font-size:13px;box-shadow:0 12px 30px rgba(10,25,47,.25);animation:toast-in .2s ease-out}
.toast.error{background:#a72a2a}
@keyframes toast-in{from{opacity:0;transform:translateY(-8px)}}
form[hidden]{display:none}
