:root{color-scheme:light;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:#172033;background:#f5f7fb;--primary:#4f46e5;--muted:#667085;--glass:#ffffffe0;--glass-soft:#ffffff8f;--glass-border:#ffffffc9;--glass-highlight:#fffffff0;--glass-shadow:#312e8129;--focus:#6366f126}
*{box-sizing:border-box}
body{display:grid;position:relative;min-height:100vh;margin:0;padding:24px;place-items:center;background:radial-gradient(circle at 12% 2%,#c4b5fd 0,transparent 35%),radial-gradient(circle at 92% 14%,#bae6fd 0,transparent 34%),radial-gradient(circle at 50% 105%,#ddd6fe 0,transparent 38%),#f7f8fc;overflow-x:hidden}body::before,body::after{position:fixed;z-index:0;border:1px solid #ffffff80;border-radius:50%;content:"";background:#ffffff2e;box-shadow:inset 0 1px #ffffffa3}body::before{width:280px;height:280px;left:-90px;bottom:8%}body::after{width:190px;height:190px;right:-45px;top:11%}
.auth-card{position:relative;z-index:1;width:min(430px,100%);padding:30px;border:1px solid var(--glass-border);border-radius:24px;background:linear-gradient(145deg,var(--glass),var(--glass-soft));box-shadow:inset 0 1px var(--glass-highlight),0 28px 75px var(--glass-shadow);-webkit-backdrop-filter:blur(26px) saturate(155%);backdrop-filter:blur(26px) saturate(155%)}
.brand{display:flex;align-items:center;gap:13px;margin-bottom:24px}.brand-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid #ffffff66;border-radius:14px;color:white;background:linear-gradient(135deg,#4f46e5d9,#2563ebc9);font-size:23px;box-shadow:inset 0 1px #ffffff5e,0 10px 24px #4f46e538;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-name{font-size:18px;font-weight:800}.brand-subtitle{color:var(--muted);font-size:12px}
h1{margin:0 0 7px;font-size:25px}.intro{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.6}
label{display:block;margin:14px 0 6px;color:#475467;font-size:13px;font-weight:700}input{width:100%;padding:11px 12px;border:1px solid var(--glass-border);border-radius:10px;outline:none;font:inherit;background:#ffffff8c;box-shadow:inset 0 1px #ffffffd6;transition:border-color .2s,background .2s,box-shadow .2s;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}input:hover{background:#ffffffb5}input:focus{border-color:#818cf8;background:#ffffffd1;box-shadow:0 0 0 4px var(--focus),inset 0 1px white}
button{width:100%;margin-top:20px;padding:11px;border:1px solid #ffffff38;border-radius:10px;cursor:pointer;color:white;background:linear-gradient(135deg,#4f46e5e8,#2563ebe0);font:inherit;font-size:14px;font-weight:700;line-height:1.3;box-shadow:inset 0 1px #ffffff4f,0 8px 20px #4f46e53b;transition:background .2s,box-shadow .2s,transform .15s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}button:hover{background:linear-gradient(135deg,#4338ca,#1d4ed8);box-shadow:inset 0 1px #ffffff4f,0 11px 25px #4f46e54a;transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}
.message{display:none;margin-top:15px;padding:10px;border:1px solid #ffffff9c;border-radius:9px;font-size:13px;box-shadow:inset 0 1px #ffffffbf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.message:not(:empty){display:block}.message.error{color:#b42318;background:#fef3f2bd}.message.success{color:#067647;background:#ecfdf3bd}.loading{color:var(--muted);text-align:center}
