/* V20 unified premium finishing layer for Admin, Staff, Customer and Contractor login. */
html{scroll-behavior:smooth}body{font-feature-settings:"kern" 1,"liga" 1}body:after{content:"VHANJA  •  SECURE  •  VERIFIED";position:fixed;right:18px;bottom:12px;z-index:50;font:800 8px/1.2 Inter,system-ui,sans-serif;letter-spacing:.18em;color:#7890a644;pointer-events:none}.login-container,.login-frame,.customer-auth-shell,.cp-login-shell{animation:vgLoginReveal .65s cubic-bezier(.2,.8,.2,1) both}@keyframes vgLoginReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}input:focus{outline:none}.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f0b24f!important;outline-offset:3px}.signin-btn,.customer-submit,.login-btn,.cp-submit{position:relative;overflow:hidden}.signin-btn:after,.customer-submit:after,.login-btn:after,.cp-submit:after{content:"";position:absolute;inset:-60% auto -60% -45%;width:35%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,#ffffff55,transparent);transition:left .55s}.signin-btn:hover:after,.customer-submit:hover:after,.login-btn:hover:after,.cp-submit:hover:after{left:115%}@media(prefers-reduced-motion:reduce){.login-container,.login-frame,.customer-auth-shell,.cp-login-shell{animation:none}.signin-btn:after,.customer-submit:after,.login-btn:after,.cp-submit:after{display:none}}
/* Contractor signature login */
.cp-login{background:#04111e}.cp-login-shell{grid-template-columns:minmax(540px,1.12fr) minmax(420px,.88fr)}.cp-brand{padding:38px clamp(38px,5vw,76px);justify-content:space-between;background:radial-gradient(circle at 85% 5%,#ef76222d,transparent 28%),radial-gradient(circle at 5% 90%,#13a97a20,transparent 30%),linear-gradient(145deg,#04111f,#082943 55%,#0a3b50)}.cp-brand-top,.cp-form-top{display:flex;align-items:center;justify-content:space-between}.cp-logo{width:230px;padding:10px 14px;border-radius:17px;background:#fff;box-shadow:0 18px 48px #0005}.cp-logo img{width:100%;height:58px;object-fit:contain;margin:0;padding:0;border-radius:0}.cp-live{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#d7e9f3}.cp-live i{width:8px;height:8px;border-radius:50%;background:#43e09f;box-shadow:0 0 0 5px #43e09f20,0 0 18px #43e09f}.cp-brand-copy{max-width:760px}.cp-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #ffffff25;border-radius:999px;background:#ffffff0d!important;color:#cfe2ef!important}.cp-brand h1{font-size:clamp(44px,5.4vw,76px);letter-spacing:-.055em}.cp-brand h1 em{font-style:normal;background:linear-gradient(90deg,#ffb16c,#ffe0a3,#62dfb1);background-clip:text;-webkit-background-clip:text;color:transparent}.cp-flow{margin-top:28px;padding:20px;border:1px solid #ffffff24;border-radius:22px;background:#ffffff0c;backdrop-filter:blur(14px)}.cp-flow>small{display:block;color:#71c8ff;font-weight:900;letter-spacing:.14em}.cp-flow>strong{display:block;margin:6px 0 17px}.cp-flow>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cp-flow span{display:flex;flex-direction:column;gap:5px;padding:11px;border-radius:12px;background:#ffffff0a;color:#9bb4c6;font-size:10px;font-weight:800}.cp-flow span i{font-size:17px}.cp-flow span.done{color:#dff9ef;background:#1eb9801c}.cp-brand footer{color:#8da9ba;font-size:11px}.cp-form{padding:34px clamp(35px,5vw,72px);background:radial-gradient(circle at 100% 0,#ffeadb,transparent 27%),linear-gradient(180deg,#fff,#f5f8fb)}.cp-form-top>a,.cp-form-top>span{color:#577087;text-decoration:none;font-size:11px;font-weight:800}.cp-login-card{width:min(470px,100%);margin:auto;padding:34px;border:1px solid #dce6ee;border-radius:26px;background:#ffffffd9;box-shadow:0 25px 70px #102b4618;backdrop-filter:blur(20px)}.cp-login-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:20px;border-radius:16px;background:linear-gradient(135deg,#ef7622,#b94c0d);color:#fff;font-size:23px;box-shadow:0 12px 28px #ef762244}.cp-login-card h2{font-size:40px;margin:8px 0}.cp-input{position:relative}.cp-input>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#7890a4}.cp-input input{padding-left:43px;padding-right:46px}.cp-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;padding:8px;background:transparent;color:#64748b;box-shadow:none}.cp-submit{display:flex;align-items:center;justify-content:space-between}.cp-success,.cp-notice,.cp-error{display:flex;gap:9px;margin:14px 0;padding:12px;border-radius:11px}.cp-success{background:#e8faf2;color:#08724f}.cp-notice{background:#fff5db;color:#805a10}.cp-help{text-align:center;margin-top:18px;color:#718297;font-size:11px}.cp-form aside{display:flex;gap:10px}.cp-form aside>i{color:#07825d}@media(max-width:900px){.cp-login-shell{grid-template-columns:1fr}.cp-brand{min-height:500px}.cp-form{min-height:650px}.cp-flow{display:none}}@media(max-width:560px){.cp-brand{display:flex;min-height:320px;padding:24px}.cp-live{display:none}.cp-logo{width:185px}.cp-brand h1{font-size:38px}.cp-brand p,.cp-features,.cp-brand footer{display:none}.cp-form{padding:24px;min-height:620px}.cp-login-card{padding:25px}.cp-form-top{margin-bottom:25px}}
