/* ===== OnlyFreshNow Common Form Theme ===== */

body{
    background: linear-gradient(135deg,#e8f5e9,#f1f8f4);
    font-family:'Segoe UI', sans-serif;
}

.login-page{
    min-height:100vh;
    display:flex;
    align-items:center;
}

.login-shell{
    padding-top:32px;
    padding-bottom:32px;
}

/* Card */
.form-card{
    border:0;
    border-radius:20px;
    box-shadow:0 20px 50px rgba(0,0,0,0.08);
    animation:fadeIn .5s ease-in-out;
}

@keyframes fadeIn{
    from{opacity:0; transform:translateY(20px);}
    to{opacity:1; transform:translateY(0);}
}

/* Brand */
.brand{
    font-weight:700;
    color:#2e7d32;
}

.brand span{
    color:#ff6f00;
}

.brand-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:96px;
    padding:8px 16px;
    margin-bottom:12px;
    border-radius:999px;
    background:rgba(46,125,50,.1);
    color:#2e7d32;
    font-size:14px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.login-card{
    backdrop-filter:blur(8px);
}

.auth-logo{
    width:84px;
    height:84px;
    object-fit:cover;
    border-radius:22px;
    margin:0 auto 14px;
    display:block;
    box-shadow:0 10px 24px rgba(12,131,31,.16);
    border:3px solid rgba(255,255,255,.85);
}

.login-step + .login-step{
    margin-top:16px;
}

.form-label{
    font-weight:600;
    color:#355e3b;
}

/* Inputs */
.form-control{
    border-radius:12px;
    padding:12px;
}

.form-control:focus{
    border-color:#2e7d32;
    box-shadow:0 0 0 0.2rem rgba(46,125,50,.2);
}

/* Buttons */
.btn-primary{
    background:#ff6f00;
    border:none;
    border-radius:12px;
    font-weight:600;
}

.btn-primary:hover{
    background:#e65100;
}

.btn-success{
    background:#2e7d32;
    border:none;
    border-radius:12px;
    font-weight:600;
}

.btn-success:hover{
    background:#1b5e20;
}

.btn-dark{
    border-radius:12px;
}

.btn-outline-secondary{
    border-radius:12px;
}

/* Messages */
.msg-success{
    color:#2e7d32;
}

.msg-error{
    color:#d32f2f;
}

/* Footer Text */
.form-footer{
    font-size:13px;
    color:#777;
}
