:root{--tivi-bg:6 10 28;--tivi-bg-top:8 13 36;--tivi-bg-bottom:4 7 26;--tivi-halo:79 70 229;--tivi-card:20 26 64;--tivi-card-dark:10 15 44;--tivi-modal:11 16 48;--tivi-field:17 24 54;--tivi-border:148 163 255;--tivi-text:255 255 255;--tivi-muted:165 180 207;--tivi-dots:165 180 252;--tivi-accent:139 92 246;--tivi-accent-light:167 139 250;--tivi-accent-pale:196 181 253;--tivi-indigo:99 102 241;--tivi-icon:129 140 248;--tivi-blue:59 130 246;--tivi-sky:56 189 248;--tivi-glow-violet:109 40 217;--tivi-glow-blue:37 99 235;--tivi-glow-cyan:8 145 178;--tivi-shadow:0 0 0;--tivi-ok:94 234 212;--tivi-ok-dark:20 184 166;--tivi-ok-soft:134 239 172;--tivi-ok-soft-dark:34 197 94;--tivi-secure:52 211 153;--tivi-error:252 165 165;--tivi-error-dark:239 68 68}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Outfit',sans-serif;background:rgb(var(--tivi-bg));min-height:100vh;overflow:hidden;color:rgb(var(--tivi-text))}.bg{position:fixed;inset:0;z-index:-4;overflow:hidden;background:radial-gradient(1200px 640px at 50% -12%,rgb(var(--tivi-halo) / .28),transparent 62%),linear-gradient(180deg,rgb(var(--tivi-bg-top)) 0%,rgb(var(--tivi-bg)) 55%,rgb(var(--tivi-bg-bottom)) 100%)}.bg-glow{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}.bg-glow-left{width:640px;height:640px;left:-220px;top:-240px;opacity:.55;background:radial-gradient(circle,rgb(var(--tivi-glow-violet)) 0%,rgb(var(--tivi-glow-violet) / 0) 68%);animation:glow-move-a 28s ease-in-out infinite alternate}.bg-glow-right{width:600px;height:600px;right:-240px;top:14%;opacity:.45;background:radial-gradient(circle,rgb(var(--tivi-glow-blue)) 0%,rgb(var(--tivi-glow-blue) / 0) 68%);animation:glow-move-b 32s ease-in-out infinite alternate}.bg-glow-bottom{width:560px;height:560px;left:28%;bottom:-330px;opacity:.30;background:radial-gradient(circle,rgb(var(--tivi-glow-cyan)) 0%,rgb(var(--tivi-glow-cyan) / 0) 68%);animation:glow-move-a 36s ease-in-out infinite alternate-reverse}@keyframes glow-move-a{to{transform:translate(60px,40px) scale(1.06)}}@keyframes glow-move-b{to{transform:translate(-50px,30px) scale(1.04)}}.dots{position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:radial-gradient(rgb(var(--tivi-dots) / .22) 1px,transparent 1.3px);background-size:24px 24px;mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 15%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 15%,transparent 78%)}.rings{position:fixed;left:50%;top:50%;z-index:-2;pointer-events:none;transform:translate(-50%,-50%)}.rings span{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:1px solid rgb(var(--tivi-border) / .07)}.rings span:nth-child(1){width:560px;height:560px;border-color:rgb(var(--tivi-accent) / .12);box-shadow:0 0 120px rgb(var(--tivi-indigo) / .10) inset}.rings span:nth-child(2){width:820px;height:820px}.rings span:nth-child(3){width:1100px;height:1100px;border-color:rgb(var(--tivi-border) / .05)}.horizon{position:fixed;left:0;right:0;bottom:0;height:260px;z-index:-2;pointer-events:none;background:radial-gradient(60% 100% at 50% 100%,rgb(var(--tivi-indigo) / .22),transparent 70%)}.horizon::before{content:"";position:absolute;left:10%;right:10%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--tivi-accent) / .55),rgb(var(--tivi-sky) / .55),transparent)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;position:relative}.login-card{width:100%;max-width:420px;padding:40px 36px 30px;position:relative;overflow:hidden;background:linear-gradient(160deg,rgb(var(--tivi-card) / .78) 0%,rgb(var(--tivi-card-dark) / .88) 100%);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid rgb(var(--tivi-border) / .18);border-radius:24px;box-shadow:0 30px 80px rgb(var(--tivi-shadow) / .55),0 0 0 1px rgb(var(--tivi-accent) / .06),inset 0 1px 0 rgb(var(--tivi-text) / .06);animation:cardEntry 0.8s cubic-bezier(0.16,1,0.3,1) forwards;opacity:0;transform:translateY(30px)}@keyframes cardEntry{to{opacity:1;transform:translateY(0)}}.login-card::before{content:'';position:absolute;top:0;left:28px;right:28px;height:2px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,transparent,rgb(var(--tivi-accent)),rgb(var(--tivi-blue)),rgb(var(--tivi-sky)),transparent)}.logo-section{text-align:center;margin-bottom:26px}.logo-wrapper{display:flex;align-items:center;justify-content:center;width:84px;height:84px;margin:0 auto 18px;position:relative;border-radius:24px;background:linear-gradient(160deg,rgb(var(--tivi-accent) / .18),rgb(var(--tivi-blue) / .10));border:1px solid rgb(var(--tivi-border) / .20);box-shadow:0 0 0 6px rgb(var(--tivi-accent) / .06),0 14px 34px rgb(var(--tivi-indigo) / .30)}.logo-wrapper img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 4px 12px rgb(var(--tivi-accent) / .45))}.panel-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;margin-bottom:12px;font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:rgb(var(--tivi-accent-pale));background:rgb(var(--tivi-accent) / .14);border:1px solid rgb(var(--tivi-accent) / .30)}.panel-pill i{font-size:10px}.welcome-title{font-family:'Space Grotesk',sans-serif;font-size:28px;font-weight:700;letter-spacing:-.3px;margin-bottom:6px;color:rgb(var(--tivi-text));-webkit-text-fill-color:rgb(var(--tivi-text))}.welcome-subtitle{color:rgb(var(--tivi-muted));font-size:14px;font-weight:400}.alert-box{padding:11px 14px;border-radius:12px;margin-bottom:20px;font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px;animation:shake 0.5s cubic-bezier(.36,.07,.19,.97) both}.alert-box.error{background:rgb(var(--tivi-error-dark) / .12);border:1px solid rgb(var(--tivi-error-dark) / .35);color:rgb(var(--tivi-error))}.alert-box.success{background:rgb(var(--tivi-ok-dark) / .12);border:1px solid rgb(var(--tivi-ok-dark) / .35);color:rgb(var(--tivi-ok))}@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-3px)}40%,60%{transform:translateX(3px)}}.form-group{margin-bottom:16px;position:relative}.form-label{display:block;font-size:11.5px;font-weight:700;color:rgb(var(--tivi-muted));margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.input-wrapper{position:relative}.form-input{width:100%;height:50px;padding:0 48px 0 46px;background:rgb(var(--tivi-card-dark) / .72);border:1px solid rgb(var(--tivi-border) / .20);border-radius:14px;color:rgb(var(--tivi-text));font-family:'Outfit',sans-serif;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s;outline:none}.form-input::placeholder{color:rgb(var(--tivi-muted) / .65)}.form-input:hover{border-color:rgb(var(--tivi-border) / .32)}.form-input:focus{border-color:rgb(var(--tivi-accent));background:rgb(var(--tivi-field) / .92);box-shadow:0 0 0 4px rgb(var(--tivi-accent) / .18)}.input-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:rgb(var(--tivi-icon));font-size:15px;transition:color 0.3s;pointer-events:none}.form-input:focus + .input-icon,.form-input:focus ~ .input-icon{color:rgb(var(--tivi-accent-light))}.toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border-radius:10px;background:none;border:none;color:rgb(var(--tivi-muted));cursor:pointer;transition:background .15s,color .15s}.toggle-password:hover{background:rgb(var(--tivi-border) / .12);color:rgb(var(--tivi-text))}.submit-btn{width:100%;height:52px;padding:0 24px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(90deg,rgb(var(--tivi-accent)) 0%,rgb(var(--tivi-indigo)) 55%,rgb(var(--tivi-blue)) 100%);border:none;border-radius:14px;color:rgb(var(--tivi-text));font-family:'Outfit',sans-serif;font-size:15.5px;font-weight:600;letter-spacing:.3px;cursor:pointer;position:relative;overflow:hidden;transition:all 0.3s ease;box-shadow:0 12px 30px rgb(var(--tivi-indigo) / .42),inset 0 1px 0 rgb(var(--tivi-text) / .18)}.submit-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(var(--tivi-text) / .2),transparent);transition:left 0.5s}.submit-btn:active{transform:translateY(0)}.submit-btn:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 16px 36px rgb(var(--tivi-indigo) / .50),inset 0 1px 0 rgb(var(--tivi-text) / .18)}.submit-btn:hover::before{left:100%}.submit-btn i{font-size:14px;transition:transform .15s}.submit-btn:hover i{transform:translateX(3px)}.submit-btn.loading{pointer-events:none;opacity:0.8}.submit-btn.loading::after{content:'';position:absolute;width:20px;height:20px;border:2px solid transparent;border-top-color:rgb(var(--tivi-text));border-radius:50%;animation:spin 0.8s linear infinite;right:20px;top:50%;transform:translateY(-50%)}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.secure-note{margin-top:18px;padding-top:16px;border-top:1px solid rgb(var(--tivi-border) / .10);text-align:center;font-size:12.5px;color:rgb(var(--tivi-muted) / .80)}.secure-note i{color:rgb(var(--tivi-secure));margin-right:6px}.pwd-modal-overlay{position:fixed;inset:0;background:rgb(var(--tivi-bg) / .82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;animation:fadeIn 0.3s ease}.pwd-modal-overlay.active{display:flex}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.pwd-modal{width:100%;max-width:460px;padding:40px 36px;position:relative;overflow:hidden;background:linear-gradient(160deg,rgb(var(--tivi-card)) 0%,rgb(var(--tivi-modal)) 100%);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgb(var(--tivi-border) / .18);border-radius:24px;box-shadow:0 30px 80px rgb(var(--tivi-shadow) / .6);animation:modalEntry 0.5s cubic-bezier(0.16,1,0.3,1)}@keyframes modalEntry{from{opacity:0;transform:translateY(20px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}.pwd-modal::before{content:'';position:absolute;top:0;left:28px;right:28px;height:2px;background:linear-gradient(90deg,transparent,rgb(var(--tivi-accent)),rgb(var(--tivi-blue)),rgb(var(--tivi-sky)),transparent)}.pwd-modal-header{text-align:center;margin-bottom:28px}.pwd-modal-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:26px;color:rgb(var(--tivi-text));background:linear-gradient(145deg,rgb(var(--tivi-accent-light)) 0%,rgb(var(--tivi-accent)) 40%,rgb(var(--tivi-blue)) 100%);box-shadow:0 0 0 6px rgb(var(--tivi-accent) / .14),0 10px 26px rgb(var(--tivi-indigo) / .45)}.pwd-modal-title{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;margin-bottom:8px;color:rgb(var(--tivi-text))}.pwd-modal-subtitle{color:rgb(var(--tivi-muted));font-size:14px;line-height:1.5}.pwd-rules{background:rgb(var(--tivi-field) / .75);border:1px solid rgb(var(--tivi-border) / .14);border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:12.5px}.pwd-rule{display:flex;align-items:center;gap:8px;color:rgb(var(--tivi-muted));padding:3px 0;transition:color 0.2s}.pwd-rule.valid{color:rgb(var(--tivi-ok))}.pwd-rule i{width:14px;font-size:11px}.pwd-modal-alert{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:13px;display:none;align-items:center;gap:8px}.pwd-modal-alert.error{background:rgb(var(--tivi-error-dark) / .15);border:1px solid rgb(var(--tivi-error-dark) / .3);color:rgb(var(--tivi-error));display:flex}.pwd-modal-alert.success{background:rgb(var(--tivi-ok-soft-dark) / .15);border:1px solid rgb(var(--tivi-ok-soft-dark) / .3);color:rgb(var(--tivi-ok-soft));display:flex}@media (max-width:480px){.login-card{padding:32px 20px 24px;border-radius:20px}.logo-wrapper{width:72px;height:72px;border-radius:20px}.logo-wrapper img{width:48px;height:48px}.welcome-title{font-size:24px}.pwd-modal{padding:32px 20px}}@media (prefers-reduced-motion:reduce){.bg-glow{animation:none}}.captcha-frame{position:relative;height:63px;border-radius:14px;overflow:hidden;isolation:isolate;border:1px solid rgb(var(--tivi-border) / .20);background:rgb(28 34 80);transition:border-color .15s}.captcha-frame:hover{border-color:rgb(var(--tivi-border) / .32)}.captcha-frame .cf-turnstile{margin:-1px;mix-blend-mode:lighten}
