/* ==========================================
   SPI UI Framework
   Auth Layout
   Version : 1.0.0
========================================== */

/* PAGE */
/* BACKGROUND */
/* CONTAINER */
/* CARD */
/* HEADER */
/* LOGO */
/* TITLE */
/* FORM */
/* REMEMBER */
/* BUTTON */
/* FOOTER */
/* RESPONSIVE */

/* ==========================================
   PAGE
========================================== */

.spi-auth{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:40px;

    background:
        radial-gradient(circle at top right,#dbeafe 0%,transparent 30%),
        radial-gradient(circle at bottom left,#dcfce7 0%,transparent 35%),
        var(--spi-bg);

    overflow:hidden;

    position:relative;

}

.spi-auth::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:#3b82f620;

    filter:blur(80px);

    top:-180px;

    right:-180px;

}

.spi-auth::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:#22c55e18;

    filter:blur(80px);

    left:-160px;

    bottom:-160px;

}

/* ==========================================
   CONTAINER
========================================== */

.spi-auth-container{

    position:relative;

    z-index:10;

    width:100%;

    max-width:460px;

}

/* ==========================================
   CARD
========================================== */

.spi-auth-card{

    padding:48px;

    border-radius:28px;

    background:var(--spi-card);

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

    box-shadow:

        0 25px 60px rgba(15,23,42,.08),

        0 8px 20px rgba(15,23,42,.05);

    backdrop-filter:blur(20px);

    transition:.35s;
    
    animation:spiFadeUp .6s ease;

}

.spi-auth-card:hover{

    transform:translateY(-4px);

    box-shadow:

        0 35px 70px rgba(15,23,42,.10),

        0 12px 30px rgba(15,23,42,.08);

}

.spi-auth-header{

    text-align:center;

    margin-bottom:36px;

}

.spi-auth-logo{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:20px;
    
    animation:spiLogo .7s ease;

}

@keyframes spiLogo{

    from{

        transform:scale(.85);

        opacity:0;

    }

    to{

        transform:scale(1);

        opacity:1;

    }

}

.spi-auth-logo img{

    width:100%;

    display:block;

}

.spi-auth-title{

    font-size:30px;

    font-weight:800;

    color:var(--spi-text);

    margin-bottom:8px;

}

.spi-auth-subtitle{

    color:var(--spi-text-secondary);

    font-size:15px;

}

.spi-auth-footer{

    margin-top:36px;

    padding-top:24px;

    border-top:1px solid var(--spi-border);

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:var(--spi-text-muted);

    font-size:12px;

}

/* ==========================================
   DIVIDER
========================================== */

.spi-auth-divider{

    width:70px;

    height:4px;

    margin:24px auto;

    border-radius:50px;

    background:linear-gradient(
        90deg,
        var(--spi-primary),
        var(--spi-secondary)
    );

}

/* ==========================================
   WELCOME
========================================== */

.spi-auth-welcome{

    font-size:24px;

    font-weight:700;

    color:var(--spi-text);

    margin-bottom:8px;

}

/* ==========================================
   DESCRIPTION
========================================== */

.spi-auth-description{

    color:var(--spi-text-secondary);

    font-size:15px;

    line-height:1.8;

    margin-bottom:32px;

}

.spi-input{

    transition:var(--spi-transition);

}

.spi-input:focus{

    transform:translateY(-1px);

}

/* ==========================================
   PASSWORD
========================================== */

.spi-password{

    position:relative;

}

.spi-password .spi-input{

    padding-right:52px;

}

.spi-password-toggle{

    position:absolute;

    top:50%;

    right:14px;

    transform:translateY(-50%);

    border:none;

    background:none;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--spi-text-muted);

    transition:var(--spi-transition);

}

.spi-password-toggle:hover{

    color:var(--spi-primary);

}

@keyframes spiFadeUp{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================================
   LINK
========================================== */

.spi-link{

    color:var(--spi-primary);

    font-size:14px;

    font-weight:600;

    transition:var(--spi-transition);

}

.spi-link:hover{

    color:var(--spi-primary-hover);

}

.spi-auth .spi-btn{

    height:52px;

    font-size:15px;

    font-weight:600;
    
    transition:var(--spi-transition);

}

.spi-auth .spi-btn:hover{

    box-shadow:var(--spi-shadow-sm);

}

@media(max-width:576px){

    .spi-auth{

        padding:20px;

    }

    .spi-auth-card{

        padding:30px 24px;

        border-radius:22px;

    }

    .spi-auth-title{

        font-size:24px;

    }

    .spi-auth-footer{

        flex-direction:column;

        gap:10px;

        text-align:center;

    }

    .spi-auth-welcome{

        font-size:22px;

    }

}