/* ===========================
   NebulaID
   Modern Glass UI
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{

    width:100%;
    height:100%;

    overflow:hidden;

    font-family:
        "Segoe UI",
        Arial,
        sans-serif;

    color:#ffffff;
}

/* ===========================
   Background
=========================== */

body{

    display:flex;

    justify-content:center;

    align-items:center;

    background:#0d1028;

    position:relative;

}

.background{

    position:absolute;

    inset:0;

    overflow:hidden;

}

/* Градиент */

body::before{

    content:"";

    position:absolute;

    inset:0;

    background:

linear-gradient(
135deg,
#352a87 0%,
#131d42 45%,
#0f172a 100%
);

}

/* Светящиеся круги */

.background span{

    position:absolute;

    border-radius:50%;

    filter:blur(70px);

    opacity:.55;

    animation:float 14s infinite ease-in-out;

}

.background span:nth-child(1){

    width:320px;
    height:320px;

    background:#6f6cff;

    top:-80px;
    left:-80px;

}

.background span:nth-child(2){

    width:260px;
    height:260px;

    background:#00d9ff;

    bottom:-60px;
    right:-60px;

    animation-duration:18s;

}

.background span:nth-child(3){

    width:180px;
    height:180px;

    background:#b04cff;

    top:55%;
    left:50%;

    animation-duration:12s;

}

@keyframes float{

    0%{

        transform:
        translateY(0)
        translateX(0)
        scale(1);

    }

    50%{

        transform:
        translateY(-40px)
        translateX(20px)
        scale(1.15);

    }

    100%{

        transform:
        translateY(0)
        translateX(0)
        scale(1);

    }

}

/* ===========================
   Glass Card
=========================== */

.login-card,
.dashboard-card{

    position:relative;

    z-index:5;

    width:430px;

    padding:45px;

    border-radius:26px;

    backdrop-filter:blur(18px);

    background:

rgba(255,255,255,.10);

    border:

1px solid rgba(255,255,255,.20);

    box-shadow:

0 20px 60px rgba(0,0,0,.35);

    animation:show .8s ease;

}

@keyframes show{

    from{

        opacity:0;

        transform:
        translateY(35px)
        scale(.96);

    }

    to{

        opacity:1;

        transform:
        translateY(0)
        scale(1);

    }
}

/* ===========================
   Logo
=========================== */

.logo{

    text-align:center;

    margin-bottom:30px;

}

.logo svg{

    margin-bottom:18px;

    filter:
    drop-shadow(0 0 18px rgba(0,212,255,.45));

    transition:.4s;

}

.logo svg:hover{

    transform:rotate(8deg) scale(1.05);

}

.logo h1{

    font-size:34px;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:8px;

}

.logo p{

    color:#d9defb;

    opacity:.9;

    font-size:15px;

}

/* ===========================
   Inputs
=========================== */

.input-group{

    margin-bottom:18px;

}

.input-group input{

    width:100%;

    padding:16px 18px;

    border-radius:14px;

    border:1px solid rgba(255,255,255,.12);

    background:
    rgba(255,255,255,.08);

    color:white;

    outline:none;

    font-size:16px;

    transition:.35s;

}

.input-group input::placeholder{

    color:#c7d0ff;

}

.input-group input:focus{

    background:
    rgba(255,255,255,.12);

    border-color:#54c8ff;

    box-shadow:
    0 0 18px rgba(84,200,255,.45);

    transform:translateY(-2px);

}

/* ===========================
   Button
=========================== */

button,
.logout-btn{

    display:block;

    width:100%;

    margin-top:12px;

    border:none;

    text-decoration:none;

    text-align:center;

    cursor:pointer;

    padding:16px;

    border-radius:14px;

    font-size:16px;

    font-weight:600;

    color:white;

    transition:.35s;

    background:

linear-gradient(
90deg,
#6d5cff,
#00cfff
);

    box-shadow:

0 12px 28px rgba(0,180,255,.35);

}

button:hover,
.logout-btn:hover{

    transform:
    translateY(-3px);

    box-shadow:

0 18px 40px rgba(0,210,255,.5);

}

button:active,
.logout-btn:active{

    transform:scale(.98);

}

/* ===========================
   Message
=========================== */

#message{

    margin-top:18px;

    text-align:center;

    font-size:15px;

    min-height:24px;

    transition:.3s;

}

.success{

    color:#76ffae;

}

.error{

    color:#ff8c8c;

}

/* ===========================
   Dashboard
=========================== */

.dashboard-card h2{

    text-align:center;

    margin-top:10px;

    margin-bottom:12px;

    font-size:28px;

    font-weight:600;

}

.subtitle{

    text-align:center;

    color:#cfd7ff;

    margin-bottom:28px;

    font-size:15px;

    opacity:.9;

}

/* ===========================
   Info Box
=========================== */

.info-box{

    display:flex;

    flex-direction:column;

    gap:15px;

    margin-bottom:28px;

}

.info-box .item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:16px 18px;

    border-radius:14px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;

}

.info-box .item:hover{

    transform:translateX(6px);

    background:rgba(255,255,255,.12);

    border-color:rgba(0,212,255,.35);

}

.info-box span{

    color:#d4dcff;

}

.info-box strong{

    color:#ffffff;

    font-weight:600;

}

/* ===========================
   Smooth transitions
=========================== */

a,
button,
input{

    transition:
        background .3s,
        color .3s,
        border-color .3s,
        box-shadow .3s,
        transform .3s;

}

/* ===========================
   Scrollbar
=========================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#12172c;

}

::-webkit-scrollbar-thumb{

    background:#4e67ff;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#00d4ff;

}

/* ===========================
   Mobile
=========================== */

@media (max-width:600px){

    .login-card,
    .dashboard-card{

        width:92%;

        padding:30px 24px;

        border-radius:22px;

    }

    .logo h1{

        font-size:28px;

    }

    .dashboard-card h2{

        font-size:22px;

    }

    button,
    .logout-btn{

        padding:15px;

        font-size:15px;

    }

    .input-group input{

        font-size:15px;

        padding:15px;

    }

}

/* ===========================
   Small animation
=========================== */

.login-card,
.dashboard-card{

    animation:fadeIn .7s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:
            translateY(20px)
            scale(.98);

    }

    to{

        opacity:1;

        transform:
            translateY(0)
            scale(1);

    }

}
.logo-image{

    width:80px;

    height:80px;

    margin-bottom:18px;

    filter:
        drop-shadow(0 0 18px rgba(0,212,255,.45));

    transition:.3s;

}

.logo-image:hover{

    transform:rotate(8deg) scale(1.05);

}
