*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    height:100%;
    font-family:Arial,Helvetica,sans-serif;
}

body{
    color:#fff;
}

.maintenance{
    position:relative;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle at top right,
            rgba(255,255,255,.08),
            transparent 45%
        ),
        radial-gradient(circle at bottom left,
            rgba(255,255,255,.05),
            transparent 50%
        ),
        linear-gradient(
            135deg,
            rgba(0,0,0,.80),
            rgba(0,0,0,.55),
            rgba(0,0,0,.85)
        ),
        url("../media/images/astrion_braven_wblogo.webp");

    background-size:
        auto,
        auto,
        auto,
        cover;

    background-position:
        top right,
        bottom left,
        center,
        center;

    background-repeat:no-repeat;
}

.maintenance_overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.15),
            rgba(0,0,0,.35),
            rgba(0,0,0,.70)
        );
}

.maintenance_content{
    position:relative;
    z-index:2;
    width:min(480px,90%);
    padding:55px 45px;
    text-align:center;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.15);
    border-radius:24px;
    box-shadow: 0 25px 80px rgba(0,0,0,.35);
    animation:fadeUp .8s ease;
}

.maintenance_logo{
    width:220px;
    margin-bottom:25px;
}

.maintenance_badge{
    display:inline-block;
    padding:8px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.15);
    letter-spacing:2px;
    margin-bottom:25px;
    text-transform:uppercase;
    text-align:center;
    width:100%;
}

.maintenance_content h1{
    font-weight:600;
    margin-bottom:18px;
}

.maintenance_content p{
    color:rgba(255,255,255,.75);
    line-height:1.8;
    margin-bottom:35px;
}

.maintenanceForm{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.maintenanceForm input{
    height:55px;
    outline:none;
    border-radius:12px;
    padding:0 18px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.15);
    color:#fff;
    transition:.25s;
}

.maintenanceForm input::placeholder{
    color:rgba(255,255,255,.55);
}

.maintenanceForm input:focus{
    border-color:#fff;
    background:rgba(255,255,255,.15);
}

.maintenanceForm button{
    position:relative;
    overflow:hidden;
    height:55px;
    border:none;
    border-radius:12px;
    background:#fff;
    color:#181818;
    font-weight:600;
    cursor:pointer;
    transition:.25s;
}

.maintenanceForm button:hover{
    transform:translateY(-2px);
    background:#f2f2f2;
}

.maintenanceForm button:active{
    transform:scale(.97);
}

.maintenanceForm button.loading{
    pointer-events:none;
    color:transparent;
}

.maintenanceForm button.loading::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:18px;
    height:18px;
    margin:-9px 0 0 -9px;
    border:2px solid rgba(0,0,0,.2);
    border-top-color:#181818;
    border-radius:50%;
    animation:maintenanceSpin .7s linear infinite;
}

.maintenanceForm button.success{
    background:#16a34a;
    color:transparent;
}

.maintenanceForm button.success::after{
    content:"✓";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:#fff;
    font-size:18px;
    font-weight:700;
}

.maintenanceForm button.error{
    background:#dc2626;
    color:transparent;
    animation:maintenanceShake .35s;
}

.maintenanceForm button.error::after{
    content:"✕";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:#fff;
    font-size:18px;
    font-weight:700;
}

@keyframes maintenanceSpin{
    to{
        transform:rotate(360deg);
    }
}

@keyframes maintenanceShake{
    0%,100%{
        transform:translateX(0);
    }
    20%{
        transform:translateX(-4px);
    }
    40%{
        transform:translateX(4px);
    }
    60%{
        transform:translateX(-3px);
    }
    80%{
        transform:translateX(3px);
    }
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:600px){
    .maintenance_content{
        padding:40px 28px;
    }

    .maintenance_logo{
        width:170px;
    }
}