*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:#f8fafc}.gradient-orb{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}.orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(14,165,233,.12) 0%,transparent 70%);top:-200px;left:-100px;animation:orbFloat1 15s ease-in-out infinite}.orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,.08) 0%,transparent 70%);bottom:-150px;right:-100px;animation:orbFloat2 18s ease-in-out infinite}.orb-3{width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 70%);top:50%;left:50%;animation:orbFloat3 20s ease-in-out infinite}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,80px) scale(1.1)}66%{transform:translate(-30px,40px) scale(.95)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-60px,-40px) scale(1.05)}66%{transform:translate(40px,-70px) scale(.9)}}@keyframes orbFloat3{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-40%,-60%) scale(1.15)}}.grid-pattern{position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:1}.glass-card{background:#ffffffa6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(203,213,225,.5);border-radius:24px;box-shadow:0 8px 32px #0000000f,0 0 0 1px #fff9,inset 0 1px #fffc;position:relative;z-index:10;overflow:hidden}.glass-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(14,165,233,.4),transparent)}.logo-glow{filter:drop-shadow(0 0 20px rgba(14,165,233,.2)) drop-shadow(0 4px 12px rgba(0,0,0,.1))}.crm-input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(203,213,225,.6);background:#ffffffb3;color:#1e293b;font-size:15px;font-family:inherit;outline:none;transition:all .3s ease}.crm-input::placeholder{color:#94a3b8b3}.crm-input:focus{border-color:#0ea5e980;box-shadow:0 0 0 3px #0ea5e91a,0 0 20px #0ea5e914;background:#ffffffe6}.crm-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;cursor:pointer}.crm-select option{background:#fff;color:#1e293b}.shimmer-btn{position:relative;overflow:hidden;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0ea5e940}.shimmer-btn:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:rotate(30deg) translate(-100%);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:rotate(30deg) translate(-100%)}20%{transform:rotate(30deg) translate(100%)}to{transform:rotate(30deg) translate(100%)}}.shimmer-btn:hover{box-shadow:0 6px 25px #0ea5e966;transform:translateY(-1px)}.shimmer-btn:active{transform:translateY(0)}.shimmer-btn:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none}.shimmer-btn:disabled:after{display:none}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake-error{animation:shake .5s ease-in-out}@keyframes checkStroke{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.checkmark{stroke-dasharray:100;stroke-dashoffset:100;animation:checkStroke .5s ease forwards}.scan-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(14,165,233,.5),transparent);animation:scanDown 3s ease-in-out infinite;pointer-events:none}@keyframes scanDown{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
