:root{--kx-bg:#020713;--kx-panel:rgba(8,20,38,.92);--kx-line:rgba(110,171,229,.20);--kx-text:#f8fbff;--kx-muted:#9fb0c5;--kx-gold:#d8a23b;--kx-gold-2:#ffe39b;--kx-blue:#2e8cff;--kx-cyan:#55d8ff}
*{box-sizing:border-box}html,body{min-height:100%}body.kx-auth-page{margin:0;min-height:100vh;overflow-x:hidden;color:var(--kx-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 78% 14%,rgba(46,140,255,.24),transparent 30%),radial-gradient(circle at 17% 82%,rgba(216,162,59,.12),transparent 30%),linear-gradient(135deg,#020713 0%,#04101f 52%,#06162a 100%)}
.kx-auth-grid,.kx-auth-orb{position:fixed;pointer-events:none}.kx-auth-grid{inset:0;opacity:.24;background-image:linear-gradient(rgba(83,145,205,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(83,145,205,.07) 1px,transparent 1px);background-size:70px 70px}.kx-auth-orb{width:460px;height:460px;border-radius:50%;filter:blur(100px);opacity:.18}.kx-auth-orb-blue{top:-190px;right:-100px;background:#1675e5}.kx-auth-orb-gold{bottom:-240px;left:-150px;background:#b7781b}
.kx-auth-shell{position:relative;z-index:1;width:min(100% - 32px,620px);min-height:100vh;margin:0 auto;padding:42px 0;display:grid;place-items:center}.kx-auth-card{position:relative;width:100%;padding:30px 34px 32px;overflow:hidden;border:1px solid var(--kx-line);border-radius:28px;background:linear-gradient(180deg,rgba(10,24,45,.96),rgba(5,13,25,.96));box-shadow:0 30px 85px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(16px)}.kx-auth-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--kx-gold),var(--kx-cyan),transparent)}
.kx-auth-brand{display:flex;justify-content:center;text-decoration:none}.kx-auth-brand img{display:block;width:min(390px,90%);height:auto;filter:drop-shadow(0 14px 28px rgba(0,0,0,.30))}.kx-auth-head{margin-top:8px;text-align:center}.kx-auth-head>span,.kx-auth-step-title>span{color:var(--kx-gold-2);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.kx-auth-head h1{margin:8px 0 0;color:#fff;font-size:clamp(30px,6vw,42px);line-height:1.05;letter-spacing:-.045em}.kx-auth-head p{max-width:430px;margin:12px auto 0;color:var(--kx-muted);font-size:14px;line-height:1.55}
.kx-auth-progress{margin:26px 0 24px}.kx-auth-progress-track{height:7px;overflow:hidden;border-radius:999px;background:rgba(128,161,198,.14)}.kx-auth-progress-track span{display:block;width:33.333%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--kx-gold),var(--kx-cyan));transition:width .35s ease}.kx-auth-progress.is-step-2 .kx-auth-progress-track span{width:66.666%}.kx-auth-progress.is-step-3 .kx-auth-progress-track span{width:100%}.kx-auth-progress-labels{display:flex;justify-content:space-between;margin-top:8px;color:#7588a0;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.kx-auth-alert{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:13px 14px;border-radius:14px;font-size:13px;line-height:1.45}.kx-auth-alert-info{color:#c9e8ff;border:1px solid rgba(85,216,255,.20);background:rgba(46,140,255,.08)}.kx-auth-alert-success{color:#c9f8dc;border:1px solid rgba(78,225,139,.24);background:rgba(78,225,139,.08)}.kx-auth-alert-error{color:#ffd0cd;border:1px solid rgba(255,106,99,.28);background:rgba(255,80,72,.09)}.kx-auth-alert-error ul{margin:0;padding-left:18px}
.kx-auth-step-title{margin-bottom:18px}.kx-auth-step-title h2{margin:5px 0 0;color:#fff;font-size:23px;line-height:1.15;letter-spacing:-.025em}.kx-auth-form{display:grid;gap:16px;margin-top:26px}.kx-auth-spaced-form{margin-top:28px}.kx-auth-field{display:grid;gap:7px}.kx-auth-field label{color:#dbe8f7;font-size:12px;font-weight:800}.kx-auth-input-wrap{position:relative;display:flex;align-items:center}.kx-auth-input-wrap>i{position:absolute;left:15px;z-index:1;color:#7391b2;font-size:14px}.kx-auth-input-wrap input{width:100%;min-height:52px;padding:0 46px 0 44px;border:1px solid rgba(114,169,222,.22);border-radius:14px;outline:none;color:#fff;font:inherit;font-size:14px;background:rgba(3,10,20,.66);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.kx-auth-input-wrap input:focus{border-color:rgba(85,216,255,.55);background:rgba(4,13,26,.88);box-shadow:0 0 0 4px rgba(46,140,255,.08)}.kx-auth-input-wrap input[readonly]{color:#a9b8ca;cursor:default}.kx-auth-input-wrap input::placeholder{color:#64778f}.kx-auth-password-toggle{position:absolute;right:9px;width:36px;height:36px;border:0;border-radius:10px;color:#9bb0c8;cursor:pointer;background:transparent}.kx-auth-password-toggle:hover{color:#fff;background:rgba(255,255,255,.05)}.kx-auth-validation{min-height:0;color:#ff8e88;font-size:11px}
.kx-auth-remember{display:flex;align-items:center;gap:9px;color:#aebed1;font-size:12px;cursor:pointer}.kx-auth-remember input{width:16px;height:16px;accent-color:#2e8cff}.kx-auth-submit{min-height:52px;margin-top:4px;border:1px solid rgba(85,216,255,.42);border-radius:14px;color:#fff;font-size:14px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#1488e8,#2fb5f3);box-shadow:0 12px 28px rgba(26,144,231,.22);transition:transform .2s ease,box-shadow .2s ease}.kx-auth-submit:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(26,144,231,.32)}.kx-auth-submit i{margin-left:9px}.kx-auth-submit-link{display:flex;align-items:center;justify-content:center;text-decoration:none}.kx-auth-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 20px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(112,169,224,.12)}.kx-auth-links a{color:#9fc5ea;font-size:12px;font-weight:750;text-decoration:none}.kx-auth-links a:hover{color:#fff}
.kx-auth-success-block{text-align:center;margin-top:28px}.kx-auth-success-block>i{display:block;margin-bottom:12px;color:#4ee18b;font-size:48px}.kx-auth-success-block strong{display:block;color:#fff;font-size:24px}.kx-auth-success-block p{margin:8px 0 20px;color:var(--kx-muted);font-size:14px}.kx-auth-logout-card{max-width:560px}.kx-auth-logout-form{margin-top:26px}
@media(max-width:560px){.kx-auth-shell{width:min(100% - 20px,620px);padding:12px 0}.kx-auth-card{padding:24px 20px 26px;border-radius:22px}.kx-auth-brand img{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
