:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#eef4ff;background:#07101d}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 75% 15%,rgba(52,120,246,.18),transparent 30%),#07101d}.auth-shell{width:min(1040px,calc(100% - 32px));min-height:100vh;margin:auto;display:grid;place-items:center;position:relative}.auth-brand{position:absolute;left:0;top:28px;display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:21px}.auth-brand span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#3478f6,#215ac8);font-size:13px;font-weight:800}.auth-card{width:min(480px,100%);padding:42px;border:1px solid #223149;border-radius:20px;background:rgba(13,25,43,.95);box-shadow:0 30px 80px rgba(0,0,0,.32)}.auth-copy small{color:#6299ff;font-size:11px;font-weight:800;letter-spacing:.16em}.auth-copy h1{margin:9px 0 8px;font-size:32px}.auth-copy p{margin:0 0 28px;color:#8290a6;font-size:14px;line-height:1.7}.auth-alert{margin-bottom:18px;padding:12px 14px;border:1px solid #713b48;border-radius:9px;color:#ffb7c2;background:#2b1720;font-size:13px}form{display:grid;gap:17px}label{display:grid;gap:8px;color:#b9c5d7;font-size:13px;font-weight:650}input{height:48px;padding:0 14px;border:1px solid #2a3b56;border-radius:10px;outline:0;color:#eef4ff;background:#091524;font:inherit}input:focus{border-color:#4b84e6;box-shadow:0 0 0 3px rgba(52,120,246,.13)}.remember{display:flex;align-items:center;gap:8px;font-weight:500}.remember input{width:16px;height:16px;accent-color:#3478f6}form button{height:50px;border:0;border-radius:10px;color:#fff;background:linear-gradient(90deg,#3478f6,#2766d3);font-size:14px;font-weight:750;cursor:pointer}.auth-switch{text-align:center;margin:23px 0 0;color:#7f8ba0;font-size:13px}.auth-switch a{color:#78a8ff;text-decoration:none}@media(max-width:540px){.auth-card{padding:30px 22px}.auth-copy h1{font-size:27px}.auth-brand{top:18px}}

/* Calm authentication theme */
:root{color:#f2f0ea;background:#111318}body{background:#111318}.auth-brand span{background:#777f76}.auth-card{border-color:#353a42;background:#1b1f25;box-shadow:0 26px 70px rgba(0,0,0,.32)}.auth-copy small{color:#9fb4a8}.auth-copy p{color:#a1a4a9}label{color:#d1d0cc}input{border-color:#3a4048;color:#f2f0ea;background:#15181e}input:focus{border-color:#8faf9d;box-shadow:0 0 0 3px rgba(143,175,157,.12)}input.invalid{border-color:#d96c72;box-shadow:0 0 0 3px rgba(217,108,114,.1)}.remember input{accent-color:#8faf9d}form button{color:#111713;background:#9ab7a7}form button:hover{background:#aac4b6}form button i{display:none;font-style:normal}form button.loading span{display:none}form button.loading i{display:inline}.auth-switch{color:#999ca1}.auth-switch a{color:#b6c9be}.server-error{display:none}.input-error{min-height:0;color:#ee9298;font-size:11px;font-weight:500}.input-error:empty{display:none}.password-hint{color:#85898f;font-size:11px;font-weight:400}.auth-feedback{position:fixed;inset:0;z-index:20;padding:20px;display:grid;place-items:center;background:rgba(5,6,8,.72);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:.18s}.auth-feedback.show{opacity:1;visibility:visible}.auth-feedback section{width:min(410px,100%);position:relative;padding:33px 30px 27px;border:1px solid #474047;border-radius:16px;display:flex;flex-direction:column;align-items:center;background:#1d2025;box-shadow:0 25px 70px rgba(0,0,0,.48)}.auth-feedback section>button:first-child{position:absolute;right:12px;top:9px;width:34px;height:34px;border:0;color:#999ca1;background:transparent;font-size:23px}.auth-feedback section>span{width:56px;height:56px;margin-bottom:16px;border:1px solid #8c4b50;border-radius:50%;display:grid;place-items:center;color:#ec858b;background:#3a2226;font-size:27px}.auth-feedback strong{font-size:19px}.auth-feedback p{margin:11px 0 22px;color:#bebfc0;font-size:14px;line-height:1.7;text-align:center}.auth-feedback-confirm{min-width:125px;height:42px!important;color:#111713!important;background:#9ab7a7!important}
