.login-logo{z-index:1;justify-content:center;margin-bottom:1.5rem;animation:.5s ease-out slideUp;display:flex;position:relative}.login-logo-image{object-fit:contain;filter:drop-shadow(0 10px 30px #0000004d);width:auto;height:100px}body{font-family:var(--font-family);background:var(--background-gradient);min-height:100vh;color:var(--text-primary);background-attachment:fixed;flex-direction:column;justify-content:center;align-items:center;line-height:1.6;display:flex;position:relative;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 80%,#d4af3726 0%,#0000 50%),radial-gradient(circle at 80% 20%,#c9a63526 0%,#0000 50%),radial-gradient(circle at 40% 40%,#e6c5471a 0%,#0000 40%);width:200%;height:200%;animation:20s ease-in-out infinite float;position:absolute;top:-50%;left:-50%}@keyframes float{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(30px,-30px)rotate(5deg)}66%{transform:translate(-20px,20px)rotate(-5deg)}}form{z-index:1;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);width:100%;max-width:420px;box-shadow:0 25px 50px -12px var(--shadow-color), 0 0 0 1px #ffffff0d inset;border-radius:24px;margin:1rem;padding:3rem 2.5rem;animation:.6s ease-out slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}form:before{content:"Zaloguj się";text-align:center;background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:700;display:block}form:after{content:"Zaloguj się aby otrzymać dostęp do strony";text-align:center;color:var(--text-secondary);margin-top:.75rem;margin-bottom:2rem;font-size:.95rem;display:block}form>div{margin-bottom:1.5rem}label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;transition:color .3s;display:block}input[type=text],input[type=password]{width:100%;font-size:1rem;font-family:var(--font-family);color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;outline:none;padding:1rem 1.25rem;transition:all .3s}input[type=text]:hover,input[type=password]:hover{background:#ffffff14;border-color:#fff3}input[type=text]:focus,input[type=password]:focus{border-color:var(--input-focus-border);background:#ffffff1a;box-shadow:0 0 0 4px #d4af3726,0 0 20px #d4af371a}input::placeholder{color:#ffffff59}form>div:focus-within label{color:var(--text-primary)}button[type=submit]{width:100%;font-size:1rem;font-weight:600;font-family:var(--font-family);color:var(--text-primary);background:var(--primary-gradient);cursor:pointer;border:none;border-radius:12px;margin-top:.5rem;padding:1rem 1.5rem;transition:all .3s;position:relative;overflow:hidden}button[type=submit]:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 10px 40px -10px #d4af3780,0 0 20px #d4af374d}button[type=submit]:hover:before{left:100%}button[type=submit]:active{transform:translateY(0)}button[type=submit]:focus{outline:none;box-shadow:0 0 0 4px #d4af374d,0 10px 40px -10px #d4af3780}.login-alert{z-index:1;border-radius:12px;justify-content:flex-start;align-items:center;gap:1rem;width:calc(100% - 2rem);max-width:420px;margin-top:1.5rem;padding:1rem 1.25rem;animation:.5s ease-out forwards slideInFromTop;display:flex;position:relative}.login-alert.error{background:#f5576c1a;border:1px solid #f5576c4d;animation:.5s ease-out forwards slideInFromTop,.5s ease-in-out .5s shake}.login-alert.error .login-alert-message p{color:var(--danger-color)}.login-alert.warning{background:#ffa5001a;border:1px solid #ffa50080}.login-alert.warning .login-alert-message p{color:orange}.login-alert-icon{font-size:1.5rem}.login-alert-message p{margin:0;font-size:.95rem;font-weight:500}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@media (width<=480px){form{border-radius:20px;margin:.5rem;padding:2rem 1.5rem}form:before{font-size:1.75rem}form:after{margin-bottom:1.5rem;font-size:.875rem}input[type=text],input[type=password]{padding:.875rem 1rem}button[type=submit]{padding:.875rem 1.25rem}}@media (prefers-contrast:high){input[type=text],input[type=password],button[type=submit]{border:2px solid var(--text-primary)}}
