/* ================================
   PSR e-KPP
   style.css
================================ */

:root{

    --primary:#D90429;
    --secondary:#07162E;
    --accent:#3FA9F5;

    --glass:rgba(255,255,255,.08);
    --glassBorder:rgba(255,255,255,.15);

    --white:#fff;
    --text:#dfe7f1;

    --shadow:0 25px 60px rgba(0,0,0,.45);

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    overflow:hidden;

    background:#07162E;

    color:white;

}


/*==============================
ANIMOWANE TŁO
==============================*/

.background{

    position:fixed;

    inset:0;

    overflow:hidden;

    z-index:-5;

    background:linear-gradient(135deg,#06111d,#081e39,#0b2d54);

}

.gradient{

    position:absolute;

    width:180%;

    height:180%;

    background:

    radial-gradient(circle at 20% 30%,rgba(217,4,41,.35),transparent 25%),

    radial-gradient(circle at 80% 20%,rgba(63,169,245,.30),transparent 30%),

    radial-gradient(circle at 60% 80%,rgba(255,255,255,.05),transparent 35%);

    animation:moveBackground 18s linear infinite;

}

@keyframes moveBackground{

0%{

transform:translate(-8%,-5%) rotate(0deg);

}

50%{

transform:translate(-2%,-2%) rotate(180deg);

}

100%{

transform:translate(-8%,-5%) rotate(360deg);

}

}


/*==============================
LOGOWANIE
==============================*/

.login-container{

    width:100%;

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:25px;

}


.login-card{

    width:430px;

    backdrop-filter:blur(18px);

    background:var(--glass);

    border:1px solid var(--glassBorder);

    border-radius:30px;

    padding:45px;

    box-shadow:var(--shadow);

    animation:showCard 1s ease;

}


@keyframes showCard{

from{

opacity:0;

transform:translateY(40px) scale(.95);

}

to{

opacity:1;

transform:translateY(0) scale(1);

}

}


/*==============================
LOGO
==============================*/

.logo{

    text-align:center;

    margin-bottom:35px;

}

.logo img{

    width:110px;

    margin-bottom:15px;

    animation:logoFloat 5s infinite ease-in-out;

}

@keyframes logoFloat{

0%,100%{

transform:translateY(0px);

}

50%{

transform:translateY(-8px);

}

}

.logo h1{

    font-size:34px;

    font-weight:700;

}

.logo p{

    margin-top:8px;

    color:#d0d6df;

    font-size:14px;

    line-height:1.5;

}


/*==============================
INPUTY
==============================*/

.input-group{

    position:relative;

    margin-bottom:28px;

}

.input-group input{

    width:100%;

    height:60px;

    border:none;

    outline:none;

    border-radius:16px;

    padding-left:55px;

    padding-right:55px;

    font-size:16px;

    background:rgba(255,255,255,.07);

    color:white;

    transition:.3s;

}

.input-group input:focus{

    background:rgba(255,255,255,.12);

    box-shadow:0 0 0 2px rgba(63,169,245,.5);

}

.input-group label{

    position:absolute;

    left:55px;

    top:18px;

    transition:.3s;

    color:#bfc7d3;

    pointer-events:none;

}

.input-group input:focus+label,

.input-group input:not(:placeholder-shown)+label{

    top:-10px;

    left:18px;

    font-size:12px;

    background:#07162E;

    padding:2px 10px;

    border-radius:30px;

    color:white;

}

.input-group .material-icons-round{

    position:absolute;

    left:18px;

    top:18px;

    color:#bfc7d3;

}

.showPassword{

    position:absolute;

    right:16px;

    top:15px;

    background:none;

    border:none;

    cursor:pointer;

    color:#bfc7d3;

}


/*==============================
CHECKBOX
==============================*/

.remember{

    margin-bottom:25px;

    color:#d8d8d8;

    font-size:14px;

}

.remember input{

    margin-right:8px;

}


/*==============================
PRZYCISK
==============================*/

.loginButton{

    width:100%;

    height:58px;

    border:none;

    border-radius:15px;

    background:linear-gradient(135deg,#D90429,#B10222);

    color:white;

    font-size:18px;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    box-shadow:0 10px 30px rgba(217,4,41,.45);

}

.loginButton:hover{

    transform:translateY(-3px);

    box-shadow:0 18px 40px rgba(217,4,41,.55);

}

.loginButton:active{

    transform:scale(.98);

}


/*==============================
STOPKA
==============================*/

.footer{

    margin-top:35px;

    text-align:center;

    color:#9ca9ba;

    font-size:13px;

}


/*==============================
RESPONSYWNOŚĆ
==============================*/

@media(max-width:500px){

.login-card{

width:100%;

padding:35px 25px;

}

.logo img{

width:85px;

}

.logo h1{

font-size:28px;

}

}

.login-message {
    min-height: 22px;
    margin-top: 14px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
}

.login-message.error {
    color: #ff6b6b;
}

.login-message.success {
    color: #57e49b;
}

.login-message.loading {
    color: rgba(255, 255, 255, 0.75);
}

.loginButton:disabled {
    opacity: 0.7;
    cursor: wait;
}

