/* ==========================================================
   GoldEdge Analytics
   Authentication Pages
========================================================== */

/* ---------- Page ---------- */

.auth-page{

    min-height:calc(100vh - 170px);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:60px 20px;

}

/* ---------- Container ---------- */

.auth-container{

    width:100%;

    max-width:640px;

}

/* ---------- Card ---------- */

.auth-card{

    background:#121212;

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:45px;

    box-shadow:0 12px 30px rgba(0,0,0,.25);

}

/* ---------- Title ---------- */

.auth-card h1{

    color:#ffffff;

    text-align:center;

    font-size:42px;

    font-weight:700;

    margin-bottom:12px;

}

.auth-subtitle{

    color:#B8B8B8;

    text-align:center;

    font-size:15px;

    margin-bottom:45px;

    line-height:1.6;

}

/* ---------- Progress ---------- */

.auth-progress{

    display:flex;

    align-items:center;

    margin-bottom:35px;

}

.progress-step{

    display:flex;

    flex-direction:column;

    align-items:center;

    color:#666;

    font-size:12px;

    min-width:70px;

}

.progress-step span{

    width:18px;

    height:18px;

    border-radius:50%;

    border:2px solid #D4AF37;

    margin-bottom:8px;

    transition:.3s;

}

.progress-step.active{

    color:#D4AF37;

}

.progress-step.active span{

    background:#D4AF37;

}

.progress-line{

    flex:1;

    height:2px;

    background:#2A2A2A;

    transition:.3s;

    margin:0 15px 20px;

}

.progress-line.active{

    background:#D4AF37;

}

/* ---------- Form ---------- */

.auth-form{

    width:100%;

}

/* ---------- Rows ---------- */

.auth-row{

    display:flex;

    gap:18px;

}

/* ---------- Fields ---------- */

.auth-field{

    flex:1;

    display:flex;

    flex-direction:column;

    margin-bottom:18px;

}

.auth-field label{

    color:#ffffff;

    font-size:14px;

    font-weight:600;

    margin-bottom:8px;

}

/* ---------- Inputs ---------- */

.auth-form input,

.auth-form select{

    width:100%;

    height:52px;

    padding:0 16px;

    background:#1A1A1A;

    border:1px solid rgba(212,175,55,.18);

    border-radius:12px;

    color:#ffffff;

    font-size:15px;

    transition:.25s;

}

.auth-form input:focus,

.auth-form select:focus{

    outline:none;

    border-color:#D4AF37;

    box-shadow:0 0 12px rgba(212,175,55,.18);

}

/* ---------- Checkbox ---------- */

.auth-checkbox{

    margin:10px 0 28px;

}

.auth-checkbox label{

    color:#CFCFCF;

    font-size:14px;

    line-height:1.6;

}

.auth-checkbox input{

    width:auto;

    height:auto;

    margin-right:8px;

}

.auth-checkbox a{

    color:#D4AF37;

    text-decoration:none;

}

.auth-checkbox a:hover{

    text-decoration:underline;

}

/* ---------- Buttons ---------- */

.auth-actions{

    display:flex;

    gap:15px;

    margin-top:20px;

}

.primary-button,
.secondary-button{

    flex:1;

    height:54px;

    border-radius:12px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:all .25s ease;

}

/* Primary */

.primary-button{

    background:#D4AF37;

    border:none;

    color:#111111;

}

.primary-button:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(212,175,55,.20);

}

/* Secondary */

.secondary-button{

    background:transparent;

    border:1px solid #D4AF37;

    color:#D4AF37;

}

.secondary-button:hover{

    background:#D4AF37;

    color:#111111;

}

.auth-actions-single{

    margin-top:20px;

}

.auth-actions-single .primary-button{

    width:100%;

}

/* ---------- Login ---------- */

.auth-login{

    margin-top:28px;

    text-align:center;

    color:#CFCFCF;

    font-size:14px;

}

.auth-login a{

    color:#D4AF37;

    text-decoration:none;

    font-weight:600;

}

.auth-login a:hover{

    text-decoration:underline;

}

/* ---------- Responsive ---------- */

@media (max-width:768px){

    .auth-page{

        padding:40px 15px;

    }

    .auth-card{

        padding:30px;

    }

    .auth-row{

        flex-direction:column;

        gap:0;

    }

    .auth-actions{

        flex-direction:column;

    }

    .primary-button,

    .secondary-button{

        width:100%;

    }

}

/* ---------- Field Errors ---------- */

.field-error{

    display:block;

    min-height:18px;

    margin-top:6px;

    color:#ff7b7b;

    font-size:13px;

}

.input-error{

    border:1px solid #ff4d4d !important;

    box-shadow:0 0 10px rgba(255,77,77,.15);

}

/* ==========================================================
   Password Fields
========================================================== */

.password-wrapper{

    position:relative;

    width:100%;

}

.password-wrapper input{

    padding-right:55px;

}

.toggle-password{

    position:absolute;

    top:50%;

    right:16px;

    transform:translateY(-50%);

    background:none;

    border:none;

    color:#D4AF37;

    cursor:pointer;

    font-size:17px;

    transition:.2s;

}

.toggle-password:hover{

    color:#F4D66A;

}

.password-strength{

    margin-top:10px;

}

.strength-bar{

    width:100%;

    height:6px;

    background:#2A2A2A;

    border-radius:50px;

    overflow:hidden;

    margin-bottom:8px;

}

.strength-bar::after{

    content:"";

    display:block;

    width:0;

    height:100%;

    background:#D4AF37;

    transition:.3s;

}

.field-info{

    display:block;

    margin-top:6px;

    color:#B8B8B8;

    font-size:13px;

}