.code-input-container{width:100%}.code-input-wrapper{display:flex;gap:12px;justify-content:center;margin:20px 0}.code-input{width:50px;height:50px;border:1px solid rgba(255,255,255,.3);border-radius:12px;text-align:center;font-size:24px;font-weight:600;color:var(--text);background:#0f0f2399;transition:all .2s ease-in-out;outline:none}.code-input:focus{border-color:#7c5cff99;box-shadow:0 0 0 3px #7c5cff26;transform:scale(1.05);background:#0f0f23cc}.code-input:disabled{background:#0f0f2366;cursor:not-allowed;opacity:.6;border-color:#ffffff26}.code-input-error{border-color:#ef4444cc;animation:shake .3s ease-in-out}.code-input-error:focus{border-color:#ef4444e6;box-shadow:0 0 0 3px #ef444433}.code-input-error-message{text-align:center;color:#ef4444;font-size:14px;margin-top:8px;font-weight:500}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(max-width:480px){.code-input-wrapper{gap:8px}.code-input{width:42px;height:42px;font-size:20px}}.resend-code-button{width:100%;padding:12px 20px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0f;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;margin-top:20px}.resend-code-button:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.resend-code-button:active:not(:disabled){transform:translateY(0)}.resend-code-button:disabled{opacity:.55;cursor:not-allowed;transform:none;background:#ffffff0a}.auth-container{width:100%;max-width:440px;padding:20px;position:relative;z-index:2}.auth-card{border-radius:24px;padding:40px 36px;border:1px solid rgba(255,255,255,.12);background:#0f0f23d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 22px 70px #0000008c,0 0 0 1px #ffffff0f inset;position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;inset:-50px;background:radial-gradient(500px 300px at 20% 20%,rgba(124,92,255,.15),transparent 60%),radial-gradient(500px 300px at 80% 80%,rgba(167,139,250,.1),transparent 60%);opacity:.5;pointer-events:none;z-index:0}.auth-card>*{position:relative;z-index:1}.auth-logo{display:flex;justify-content:center;align-items:center;margin-bottom:24px}.logo-img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(124,92,255,.25));transition:transform .3s ease}.logo-img:hover{transform:scale(1.05)}.auth-card h1{margin:0 0 32px;font-size:28px;font-weight:850;text-align:center;letter-spacing:-.4px;background:linear-gradient(135deg,var(--p1),var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:10px;font-weight:700;font-size:14px;color:var(--muted);letter-spacing:.2px}.form-group input{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;font-size:15px;background:#ffffff0a;color:var(--text);transition:all .2s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:#7c5cff66;background:#ffffff0f;box-shadow:0 0 0 3px #7c5cff1a}.form-group input:disabled{background:#ffffff05;cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:var(--muted2)}.consent-label{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#94a3b8;line-height:1.5;cursor:pointer}.consent-label input[type=checkbox]{margin-top:2px;cursor:pointer;width:18px;height:18px;flex-shrink:0}.consent-label a{color:#667eea;text-decoration:none;transition:opacity .2s}.consent-label a:hover{opacity:.8;text-decoration:underline}.error{background:#ff78781f;color:#ffd2d2f2;padding:14px 16px;border-radius:14px;margin-bottom:20px;font-size:14px;border:1px solid rgba(255,120,120,.25);font-weight:600}.btn-primary,.btn-secondary{width:100%;padding:14px 20px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:linear-gradient(135deg,var(--p1),var(--p2));color:#fff;font-size:15px;font-weight:750;cursor:pointer;transition:all .2s ease;box-shadow:0 18px 46px #7c5cff40;font-family:inherit}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 60px #7c5cff54}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);box-shadow:none}.btn-secondary:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-links{margin-top:24px;text-align:center;font-size:14px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.auth-links a{color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:10px;transition:all .2s ease;font-weight:600}.auth-links a:hover{color:var(--text);background:#ffffff0f}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:fadeInUp .4s ease-out}.form-group{animation:fadeInUp .4s ease-out backwards}.form-group:nth-child(1){animation-delay:.05s}.form-group:nth-child(2){animation-delay:.1s}.form-group:nth-child(3){animation-delay:.15s}.form-group:nth-child(4){animation-delay:.2s}.state-code,.state-login,.state-success,.state-redirecting{transition:opacity .3s ease,transform .3s ease}.fade-out{opacity:0;transform:translateY(-4px)}.state-success{display:flex;align-items:center;justify-content:center;min-height:400px}.success-message{font-size:20px;font-weight:600;color:var(--text);margin:0;opacity:0;animation:messageFadeIn .4s ease-out .8s forwards}.state-redirecting{display:flex;align-items:center;justify-content:center;min-height:400px}.redirecting-content{text-align:center;animation:redirectingFadeIn .3s ease-out}.spinner{width:40px;height:40px;border:3px solid rgba(124,92,255,.2);border-top-color:var(--p1);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.redirecting-text{font-size:16px;color:var(--muted);margin:0;font-weight:500}@keyframes redirectingFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.success-animation-container{position:fixed;inset:0;background:#fffffffa;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease-in-out}.success-animation-container.success-visible{opacity:1}.success-animation-content{text-align:center;animation:successFadeIn .5s ease-out}.success-checkmark{width:80px;height:80px;margin:0 auto 24px;animation:checkmarkScale .5s ease-out .2s both}.checkmark-svg{width:100%;height:100%}.checkmark-circle{stroke:#10b981;stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:checkmarkStroke .6s cubic-bezier(.65,0,.45,1) forwards;fill:none}.checkmark-check{stroke:#10b981;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:checkmarkStroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}.success-logo{margin:20px auto;opacity:0;animation:logoFadeIn .4s ease-out .6s forwards}.success-logo-img{height:48px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.success-message{font-size:20px;font-weight:600;color:#0f172a;margin:0;opacity:0;animation:messageFadeIn .4s ease-out .8s forwards}@keyframes successFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes checkmarkScale{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes checkmarkStroke{to{stroke-dashoffset:0}}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.footer{margin-top:auto;padding:var(--space-xl, 24px) var(--space-lg, 20px);background:var(--bg-secondary, #111118);border-top:1px solid var(--glass-border, rgba(255, 255, 255, .1))}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-xl, 24px)}.footer-left{flex:1}.footer-brand{display:flex;align-items:center;gap:var(--space-md, 16px);text-decoration:none;color:inherit;transition:opacity .2s}.footer-brand:hover{opacity:.8}.footer-logo{display:flex;align-items:center}.footer-logo-badge{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66}.footer-brand-text{display:flex;flex-direction:column;gap:4px}.footer-brand-title{font-size:18px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.2}.footer-brand-subtitle{font-size:14px;color:#94a3b8;line-height:1.3}.footer-right{flex:1}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-md, 16px) var(--space-lg, 20px)}.footer-link{font-size:14px;color:#94a3b8;text-decoration:none;transition:color .2s;white-space:nowrap}.footer-link:hover{color:#e2e8f0}.footer-copyright{margin-top:var(--space-lg, 20px);padding-top:var(--space-lg, 20px);border-top:1px solid var(--glass-border, rgba(255, 255, 255, .1));text-align:center;font-size:14px;color:#64748b}@media(min-width:769px){.footer-container{flex-direction:row;align-items:flex-start}.footer-links{justify-content:flex-end}.footer-copyright{text-align:center}}@media(max-width:768px){.footer{padding:var(--space-lg, 20px) var(--space-md, 16px)}.footer-links{flex-direction:column;gap:var(--space-sm, 12px)}}.cookie-banner{position:fixed;bottom:var(--space-lg, 20px);left:var(--space-lg, 20px);z-index:1000;max-width:480px;animation:cookieBannerSlideUp .3s ease-out}@keyframes cookieBannerSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cookie-banner-content{display:flex;gap:var(--space-md, 16px);padding:var(--space-lg, 20px);background:var(--bg-secondary, #111118);border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:16px;box-shadow:0 8px 32px #0006;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.cookie-banner-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#667eea}.cookie-banner-text{flex:1;font-size:14px;color:#94a3b8;line-height:1.5}.cookie-banner-text p{margin:0}.cookie-banner-link{color:#667eea;text-decoration:none;transition:opacity .2s}.cookie-banner-link:hover{opacity:.8;text-decoration:underline}.cookie-banner-actions{display:flex;flex-direction:column;gap:var(--space-sm, 12px);flex-shrink:0}.cookie-banner-btn{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.cookie-banner-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cookie-banner-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.cookie-banner-btn-secondary{background:#ffffff0d;color:#e2e8f0;border:1px solid rgba(255,255,255,.1)}.cookie-banner-btn-secondary:hover{background:#ffffff1a}@media(max-width:768px){.cookie-banner{bottom:var(--space-md, 16px);left:var(--space-md, 16px);right:var(--space-md, 16px);max-width:100%}.cookie-banner-content{flex-direction:column;gap:var(--space-md, 16px)}.cookie-banner-actions{flex-direction:row;width:100%}.cookie-banner-btn{flex:1}}.auth-layout{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary, #0a0a0f)}.auth-layout-main{display:flex;flex-direction:column;flex:1;align-items:center;justify-content:center;padding:var(--space-xl, 24px) var(--space-lg, 20px);min-height:calc(100vh - 200px)}:root{--bg: #05050c;--panel: rgba(255, 255, 255, .06);--panel2: rgba(255, 255, 255, .08);--stroke: rgba(255, 255, 255, .1);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .68);--muted2: rgba(255, 255, 255, .54);--p1: #7c5cff;--p2: #a78bfa;--p3: #4c3cff;--shadow: 0 18px 60px rgba(0, 0, 0, .55);--shadow2: 0 12px 36px rgba(0, 0, 0, .45)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}#root{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font-family:inherit}
