.login-page{background:linear-gradient(135deg,ivory 0%,#fff8dc 30%,#fff 70%,linen 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.background-decorations{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.blob{filter:blur(80px);opacity:.3;border-radius:50%;animation:25s ease-in-out infinite float;position:absolute}.blob-1{background:radial-gradient(circle,#fff8dc99,#0000);width:500px;height:500px;animation-delay:0s;top:-15%;left:-15%}.blob-2{background:radial-gradient(circle,#faf0e680,#0000);width:450px;height:450px;animation-delay:-10s;bottom:-15%;right:-15%}.blob-3{background:radial-gradient(circle,#fffff066,#0000);width:400px;height:400px;animation-delay:-20s;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-40px)scale(1.05)}66%{transform:translate(-30px,30px)scale(.95)}}.glass-card{-webkit-backdrop-filter:blur(40px)saturate(200%);z-index:10;background:#ffffffb3;border:1px solid #fffc;border-radius:30px;width:100%;max-width:400px;padding:3rem 2.5rem;animation:.8s cubic-bezier(.34,1.56,.64,1) cardSlideIn;position:relative;box-shadow:0 25px 50px -12px #00000014,0 8px 16px -8px #0000000a,inset 0 2px 4px #ffffffe6}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.card-header{text-align:center;margin-bottom:2.5rem}.card-title{color:#1c1c1e;letter-spacing:-.8px;background:linear-gradient(135deg,#1c1c1e 0%,#3a3a3c 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:2.25rem;font-weight:700}.card-subtitle{color:#8e8e93;letter-spacing:.2px;margin:0;font-size:.938rem;font-weight:400}.login-form{flex-direction:column;gap:.875rem;display:flex}.input-group{width:100%;position:relative}.input-icon{color:#8e8e93;pointer-events:none;z-index:2;width:20px;height:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:1.125rem;transform:translateY(-50%)}.input-icon svg{stroke-width:2px;width:100%;height:100%}.glass-input{color:#1c1c1e;-webkit-backdrop-filter:blur(20px);background:#fff9;border:1.5px solid #0000000f;border-radius:16px;outline:none;width:100%;padding:1.125rem 1.125rem 1.125rem 3.25rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-size:1rem;font-weight:400;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a,inset 0 1px 2px #ffffffe6}.glass-input::placeholder{color:#c7c7cc;font-weight:400}.glass-input:hover{background:#ffffffbf;border-color:#0000001a;box-shadow:0 4px 12px #0000000f,inset 0 1px 2px #fff}.glass-input:focus{background:#ffffffd9;border-color:#00000026;box-shadow:0 8px 24px #00000014,0 0 0 4px #00000008,inset 0 1px 2px #fff}.glass-input:focus+.input-icon{color:#1c1c1e}.glass-input:disabled{opacity:.5;cursor:not-allowed}.forgot-password{text-align:right;margin-top:.25rem}.forgot-password a{color:#8e8e93;letter-spacing:.1px;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.forgot-password a:hover{color:#1c1c1e}.error-message{-webkit-backdrop-filter:blur(20px);color:#d70015;letter-spacing:.1px;background:#ff3b3014;border:1.5px solid #ff3b3026;border-radius:14px;padding:1rem 1.125rem;font-size:.875rem;font-weight:500;animation:.4s errorShake}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.login-button{color:#1c1c1e;cursor:pointer;letter-spacing:.3px;background:linear-gradient(135deg,#fffffff2 0%,#fff8dce6 100%);border:1.5px solid #00000014;border-radius:16px;outline:none;width:100%;margin-top:1rem;padding:1.125rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a,inset 0 1px 2px #fff}.login-button:before{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#fff 0%,#fffff0f2 100%);border-color:#0000001f;transform:translateY(-2px)scale(1.005);box-shadow:0 12px 32px #0000001f,0 4px 8px #0000000f,inset 0 1px 2px #fff}.login-button:hover:not(:disabled):before{left:100%}.login-button:active:not(:disabled){transform:translateY(0)scale(.995);box-shadow:0 4px 12px #0000001a,inset 0 2px 4px #0000000f}.login-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{border:2.5px solid #1c1c1e26;border-top-color:#1c1c1e;border-radius:50%;width:20px;height:20px;margin:0 auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.glass-card{border-radius:26px;max-width:360px;padding:2.5rem 2rem}.card-title{font-size:2rem}.blob{filter:blur(60px)}}@media (max-width:480px){.login-page{padding:1rem}.glass-card{border-radius:24px;max-width:100%;padding:2.25rem 1.75rem}.card-title{font-size:1.875rem}.card-subtitle{font-size:.875rem}.glass-input{border-radius:14px;padding:1rem 1rem 1rem 3rem;font-size:.938rem}.input-icon{width:18px;height:18px;left:1rem}.login-button{border-radius:14px;padding:1rem;font-size:.938rem}.blob{filter:blur(50px);opacity:.25}.blob-1{width:350px;height:350px}.blob-2{width:300px;height:300px}.blob-3{width:250px;height:250px}}@media (max-width:360px){.glass-card{padding:2rem 1.5rem}.card-title{font-size:1.75rem}}.glass-input:focus-visible{outline-offset:2px;outline:3px solid #0000001a}.login-button:focus-visible{outline-offset:2px;outline:3px solid #00000026}a:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #0003}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.blob{animation:none}}@media (prefers-contrast:high){.glass-card{border:2px solid #1c1c1e}.glass-input{border:2px solid #8e8e93}.login-button{border:2px solid #1c1c1e}}
