/* ======================================
   FMC LOGIN PREMIUM V20
====================================== */

#loginPage{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:25px;

    background:
    radial-gradient(circle at top left,#32d56d 0%,transparent 35%),
    radial-gradient(circle at bottom right,#58e89a 0%,transparent 35%),
    linear-gradient(135deg,#0B8F43,#16a34a);

}

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

.loginContainer{

    width:100%;
    max-width:420px;

    padding:40px 30px;

    text-align:center;

    border-radius:30px;

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

    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);

    border:1px solid rgba(255,255,255,.35);

    box-shadow:
    0 20px 50px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.25);

}

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

.loginLogo{

    width:110px;

    height:auto;

    margin:auto;

    margin-bottom:20px;

    display:block;

    filter:
    drop-shadow(0 10px 20px rgba(0,0,0,.18));

}

/* =========================
   TITLE
========================= */

.loginContainer h1{

    margin:0;

    font-size:40px;

    font-weight:800;

    color:#111827;

    letter-spacing:.5px;

}

.loginSub{

    margin-top:8px;

    color:#6B7280;

    font-size:16px;

    margin-bottom:18px;

}

/* =========================
   SERVER
========================= */

.serverStatus{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    width:max-content;

    margin:25px auto;

    padding:12px 22px;

    border-radius:50px;

    background:#ffffff;

    color:#374151;

    font-weight:600;

    box-shadow:
    0 5px 15px rgba(0,0,0,.08);

}

.dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#FACC15;

    animation:pulse 1.2s infinite;

}

@keyframes pulse{

0%{

transform:scale(1);

opacity:1;

}

50%{

transform:scale(1.4);

opacity:.4;

}

100%{

transform:scale(1);

opacity:1;

}

}

/* =========================
   LABEL
========================= */

#loginPage label{

    display:block;

    text-align:left;

    margin-top:18px;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

    color:#374151;

}

/* =========================
   INPUT
========================= */

#loginPage input{

    width:100%;

    padding:17px;

    border:none;

    border-radius:18px;

    background:#F5F7FA;

    font-size:16px;

    outline:none;

    box-sizing:border-box;

    transition:.25s;

}

#loginPage input:focus{

    background:#ffffff;

    box-shadow:
    0 0 0 3px rgba(11,143,67,.15);

}

/* =========================
   BUTTON
========================= */

.loginBtn{

    width:100%;

    margin-top:28px;

    padding:18px;

    border:none;

    border-radius:18px;

    background:#0B8F43;

    color:#fff;

    font-size:18px;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    cursor:pointer;

    transition:.25s;

}

.loginBtn:hover{

    transform:translateY(-2px);

    box-shadow:
    0 12px 30px rgba(11,143,67,.35);

}

.loginBtn:active{

    transform:scale(.98);

}

/* =========================
   REGISTER
========================= */

.registerBox{

    margin-top:24px;

    color:#6B7280;

    font-size:15px;

}

.registerBox a{

    color:#0B8F43;

    text-decoration:none;

    font-weight:700;

    margin-left:6px;

}

.registerBox a:hover{

    text-decoration:underline;

}

/* =========================
   VERSION
========================= */

.loginVersion{

    margin-top:28px;

    color:#9CA3AF;

    font-size:13px;

}

/* =========================
   LOGIN MESSAGE PREMIUM
========================= */

.loginMessage{

    display:none;

    margin:16px 0 10px;

    padding:15px 18px;

    border-radius:14px;

    font-size:14px;

    font-weight:500;

    font-family:"Segoe UI",Roboto,sans-serif;

    text-align:left;

    line-height:1.45;

    letter-spacing:.15px;

    display:flex;

    align-items:center;

    gap:10px;

    animation:loginMessageShow .25s ease;

    box-shadow:
    0 6px 16px rgba(0,0,0,.08);

}

/* SUCCESS */

.loginMessage.success{

    color:#166534;

    background:#F0FDF4;

    border:1px solid #BBF7D0;

}

.loginMessage.success::before{

    content:"✓";

    font-size:18px;

    font-weight:700;

    color:#16A34A;

}

/* ERROR */

.loginMessage.error{

    color:#991B1B;

    background:#FEF2F2;

    border:1px solid #FECACA;

}

.loginMessage.error::before{

    content:"!";

    width:22px;

    height:22px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#DC2626;

    color:#fff;

    font-size:13px;

    font-weight:700;

    flex-shrink:0;

}

/* WARNING */

.loginMessage.warning{

    color:#92400E;

    background:#FFFBEB;

    border:1px solid #FDE68A;

}

.loginMessage.warning::before{

    content:"!";

    width:22px;

    height:22px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#F59E0B;

    color:#fff;

    font-size:13px;

    font-weight:700;

    flex-shrink:0;

}

@keyframes loginMessageShow{

    from{

        opacity:0;

        transform:translateY(8px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}