*{box-sizing:border-box}:root{--blue: #2563eb;--indigo: #4f46e5;--purple: #7c3aed;--dark: #0f172a;--muted: #64748b;--border: rgba(148, 163, 184, .25)}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--dark);background:radial-gradient(circle at 15% 20%,rgba(37,99,235,.35),transparent 28rem),radial-gradient(circle at 85% 15%,rgba(124,58,237,.28),transparent 26rem),radial-gradient(circle at 65% 85%,rgba(14,165,233,.18),transparent 28rem),linear-gradient(135deg,#eef4ff 0%,#f8fafc 44%,#f5f3ff 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 85%);mask-image:linear-gradient(to bottom,black,transparent 85%)}.container{min-height:100vh;display:grid;place-items:center;padding:32px}.login-form,.user-profile,.change-password-form,.admin-panel{width:min(100%,540px);position:relative;overflow:hidden;background:rgba(255,255,255,.82);border:1px solid var(--border);border-radius:26px;box-shadow:0 28px 90px #0f172a29;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:36px}.login-form:before,.user-profile:before{content:"V";display:grid;place-items:center;width:62px;height:62px;margin-bottom:20px;border-radius:20px;color:#fff;font-size:30px;font-weight:950;background:linear-gradient(135deg,var(--blue),var(--indigo),var(--purple));box-shadow:0 16px 36px #4f46e557}.login-form:after,.user-profile:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:28px;background:linear-gradient(135deg,rgba(37,99,235,.35),rgba(124,58,237,.28));opacity:.45;filter:blur(28px);z-index:-1}h2,h3,h4{margin-top:0;color:var(--dark);letter-spacing:-.035em}h2{font-size:32px;margin-bottom:22px}p{color:var(--muted)}.form-group{margin:18px 0}label{display:block;margin-bottom:8px;font-weight:800;color:#334155}input{width:100%;border:1px solid #d8e0ec;border-radius:15px;padding:15px 16px;font-size:15px;background:rgba(255,255,255,.92);color:var(--dark);outline:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2563eb24}button{width:100%;position:relative;overflow:hidden;border:0;border-radius:15px;padding:15px 18px;margin-top:10px;font-size:15px;font-weight:900;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--indigo),var(--purple));box-shadow:0 16px 30px #4f46e547;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}button:after{content:"";position:absolute;top:0;left:-110%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transition:.55s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 38px #4f46e55c}button:hover:not(:disabled):after{left:110%}button:disabled{opacity:.65;cursor:not-allowed}.error-message{margin:16px 0;padding:13px 15px;color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:15px}.user-email{padding:14px 16px;background:rgba(248,250,252,.9);border:1px solid #e2e8f0;border-radius:15px}hr{border:0;border-top:1px solid #e2e8f0;margin:28px 0}img[alt="2FA QR Code"]{display:block;margin:18px auto;padding:14px;background:white;border-radius:20px;box-shadow:0 12px 32px #0f172a1f}code{padding:4px 7px;border-radius:8px;background:#eef2ff;color:#3730a3;font-weight:900}@media (max-width: 640px){.container{padding:18px}.login-form,.user-profile,.change-password-form,.admin-panel{padding:24px;border-radius:22px}}
