:root{--primary-color: #667eea;--primary-dark: #5a67d8;--secondary-color: #764ba2;--success-color: #48bb78;--danger-color: #f56565;--warning-color: #ed8936;--info-color: #4299e1;--light-color: #f7fafc;--dark-color: #2d3748;--gradient-primary: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);--gradient-secondary: linear-gradient(45deg, #667eea 0%, #764ba2 50%, #f093fb 100%)}*{box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--gradient-secondary);min-height:100vh;margin:0;padding:0;position:relative;overflow-x:hidden;animation:backgroundShift 20s ease-in-out infinite}@keyframes backgroundShift{0%,to{background:linear-gradient(45deg,#667eea,#764ba2,#f093fb)}25%{background:linear-gradient(45deg,#764ba2,#f093fb,#667eea)}50%{background:linear-gradient(45deg,#f093fb,#667eea,#764ba2)}75%{background:linear-gradient(45deg,#667eea,#f093fb,#764ba2)}}body:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="a" cx="50%" cy="50%"><stop offset="0%" stop-color="%23ffffff" stop-opacity="0.15"/><stop offset="100%" stop-color="%23ffffff" stop-opacity="0"/></radialGradient></defs><circle cx="200" cy="200" r="100" fill="url(%23a)"><animate attributeName="r" values="100;150;100" dur="8s" repeatCount="indefinite"/></circle><circle cx="800" cy="300" r="150" fill="url(%23a)"><animate attributeName="r" values="150;200;150" dur="10s" repeatCount="indefinite"/></circle><circle cx="300" cy="700" r="120" fill="url(%23a)"><animate attributeName="r" values="120;170;120" dur="12s" repeatCount="indefinite"/></circle><circle cx="700" cy="800" r="80" fill="url(%23a)"><animate attributeName="r" values="80;130;80" dur="6s" repeatCount="indefinite"/></circle></svg>') no-repeat center center;background-size:cover;pointer-events:none;opacity:.7}body:after{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><circle cx="100" cy="100" r="2" fill="%23ffffff" opacity="0.6"><animate attributeName="cy" values="100;900;100" dur="15s" repeatCount="indefinite"/></circle><circle cx="300" cy="200" r="1.5" fill="%23ffffff" opacity="0.4"><animate attributeName="cy" values="200;800;200" dur="18s" repeatCount="indefinite"/></circle><circle cx="500" cy="150" r="2.5" fill="%23ffffff" opacity="0.5"><animate attributeName="cy" values="150;950;150" dur="20s" repeatCount="indefinite"/></circle><circle cx="700" cy="100" r="1" fill="%23ffffff" opacity="0.3"><animate attributeName="cy" values="100;900;100" dur="22s" repeatCount="indefinite"/></circle><circle cx="900" cy="180" r="2" fill="%23ffffff" opacity="0.4"><animate attributeName="cy" values="180;980;180" dur="16s" repeatCount="indefinite"/></circle></svg>') repeat;background-size:200px 200px;pointer-events:none;opacity:.3;animation:floatParticles 30s linear infinite}@keyframes floatParticles{0%{transform:translateY(0)}to{transform:translateY(-200px)}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;z-index:1;animation:containerFadeIn 1s ease-out}@keyframes containerFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.auth-card{background:#fffffff2;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border-radius:24px;box-shadow:0 25px 50px #00000026,0 0 0 1px #ffffff4d,inset 0 1px #fff6;padding:3rem;width:100%;max-width:450px;border:1px solid rgba(255,255,255,.2);position:relative;transform:translateY(0);transition:all .4s cubic-bezier(.4,0,.2,1);animation:cardSlideUp .8s cubic-bezier(.4,0,.2,1)}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.auth-card:hover{transform:translateY(-5px);box-shadow:0 35px 70px #0003,0 0 0 1px #ffffff4d,inset 0 1px #fff6}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);border-radius:24px 24px 0 0;animation:gradientFlow 3s ease-in-out infinite}@keyframes gradientFlow{0%,to{background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}50%{background:linear-gradient(90deg,var(--secondary-color),var(--primary-color))}}.auth-logo{text-align:center;margin-bottom:2rem;animation:logoFloat .8s ease-out .3s both}@keyframes logoFloat{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-logo i{font-size:4rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;display:block;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.auth-logo h1{font-size:2rem;font-weight:700;color:var(--dark-color);margin:0;letter-spacing:-.5px;animation:titleSlide .8s ease-out .5s both}@keyframes titleSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.auth-logo p{color:#6b7280;margin:.5rem 0 0;font-size:.9rem;animation:subtitleSlide .8s ease-out .7s both}@keyframes subtitleSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.form-floating{margin-bottom:1.5rem;animation:formSlide .6s ease-out both}.form-floating:nth-child(1){animation-delay:.9s}.form-floating:nth-child(2){animation-delay:1.1s}.form-floating:nth-child(3){animation-delay:1.3s}@keyframes formSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-floating .form-control{border:2px solid #e5e7eb;border-radius:16px;padding:1rem .75rem;height:auto;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.form-floating .form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #667eea26,0 8px 25px #667eea1a;background:#fffffff2;transform:translateY(-2px)}.form-floating .form-control:hover{border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.form-floating label{color:#6b7280;font-weight:500;transition:all .3s ease}.form-floating .form-control:focus~label{color:var(--primary-color)}.btn-primary{background:var(--gradient-primary);border:none;border-radius:16px;padding:1rem 2rem;font-weight:600;font-size:1rem;letter-spacing:.025em;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;position:relative;overflow:hidden;animation:buttonSlide .6s ease-out 1.5s both}@keyframes buttonSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 35px #667eea66;background:linear-gradient(135deg,var(--primary-dark),var(--secondary-color))}.btn-primary:active{transform:translateY(-1px);transition:transform .1s}.remember-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;animation:checkboxSlide .6s ease-out 1.3s both}@keyframes checkboxSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.remember-checkbox input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--primary-color);border-radius:4px;transition:all .3s ease}.remember-checkbox input[type=checkbox]:hover{transform:scale(1.1)}.remember-checkbox label{color:#6b7280;font-size:.9rem;margin:0;cursor:pointer;transition:color .3s ease}.remember-checkbox label:hover{color:var(--primary-color)}.auth-links{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(229,231,235,.5);animation:linksSlide .6s ease-out 1.7s both}@keyframes linksSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-links a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:all .3s ease;position:relative;display:inline-block}.auth-links a:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background:var(--primary-color);transition:width .3s ease}.auth-links a:hover:after{width:100%}.auth-links a:hover{color:var(--primary-dark);transform:translateY(-1px)}.alert{border-radius:16px;border:none;margin-bottom:1.5rem;padding:1rem 1.25rem;font-weight:500;animation:alertSlide .5s ease-out}@keyframes alertSlide{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.alert-danger{background:#f5656526;color:var(--danger-color);border-left:4px solid var(--danger-color)}.alert-success{background:#48bb7826;color:var(--success-color);border-left:4px solid var(--success-color)}@media (max-width: 576px){.auth-card{padding:2rem;margin:1rem;border-radius:20px}.auth-logo i{font-size:3rem}.auth-logo h1{font-size:1.75rem}.form-floating .form-control,.btn-primary{border-radius:12px}}.loading{opacity:.8;pointer-events:none}.loading .btn-primary{background:#6b7280;animation:loadingPulse 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,to{opacity:.8}50%{opacity:1}}.spinner-border-sm{width:1rem;height:1rem}*{transition:color .3s ease,background-color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a}::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#667eeacc}@keyframes rippleEffect{to{transform:translate(-50%,-50%) scale(2);opacity:0}}
