:root{
    --riwell-green:#9ABC68;
    --riwell-green-dark:#557B2E;
    --riwell-green-soft:#EEF5E6;
    --riwell-blue:#5487B9;
    --riwell-ink:#1D2B36;
    --riwell-muted:#74808A;
    --riwell-line:#E3E9E0;
}

.riwell-auth-page{
    margin:0;
    min-height:100vh;
    background:#F7F9F5;
    color:var(--riwell-ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

.riwell-auth-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(420px,1.08fr) minmax(480px,.92fr);
}

.riwell-auth-brand{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    padding:64px clamp(44px,7vw,112px);
    background:
        radial-gradient(circle at 20% 15%,rgba(255,255,255,.28),transparent 22%),
        radial-gradient(circle at 86% 82%,rgba(84,135,185,.22),transparent 27%),
        linear-gradient(145deg,#9ABC68 0%,#89AD58 62%,#769B49 100%);
}

.riwell-auth-brand::before,
.riwell-auth-brand::after{
    content:"";
    position:absolute;
    border:1px solid rgba(255,255,255,.24);
    border-radius:50%;
}

.riwell-auth-brand::before{width:420px;height:420px;right:-180px;top:-120px}
.riwell-auth-brand::after{width:260px;height:260px;left:-100px;bottom:-90px}

.riwell-auth-brand-inner{position:relative;z-index:1;max-width:610px}
.riwell-auth-logo-box{display:inline-flex;background:transparent;border-radius:0;padding:0;box-shadow:none}
.riwell-auth-logo-box img{width:190px;height:auto;display:block}

.riwell-auth-copy{margin-top:70px;color:#fff}
.riwell-auth-eyebrow{display:inline-block;font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em;color:var(--riwell-green-dark);margin-bottom:9px}
.riwell-auth-brand .riwell-auth-eyebrow{color:rgba(255,255,255,.76)}
.riwell-auth-copy h1{max-width:570px;font-size:clamp(1.72rem,3.2vw,3.4rem);font-weight:540;line-height:1.03;letter-spacing:-.055em;margin:0 0 22px}
.riwell-auth-copy p{max-width:520px;font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,.83);margin:0}

.riwell-auth-features{margin-top:42px;display:flex;flex-wrap:wrap;gap:10px}
.riwell-auth-features span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);border-radius:999px;color:#fff;font-size:.78rem;backdrop-filter:blur(8px)}

.riwell-auth-content{position:relative;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:64px clamp(38px,7vw,96px)}
.riwell-login-wrap{width:min(430px,100%);margin:auto}
.riwell-login-heading{margin-bottom:34px}
.riwell-login-heading h2{font-size:2rem;font-weight:650;letter-spacing:-.04em;margin:0 0 9px}
.riwell-login-heading p{color:var(--riwell-muted);line-height:1.6;margin:0}

.riwell-login-form .form-label{font-size:.78rem;font-weight:650;color:#53616A;margin-bottom:7px}
.riwell-auth-input{position:relative}
.riwell-auth-input>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;color:#879388;font-size:1rem}
.riwell-auth-input .form-control{height:49px;padding-left:43px;padding-right:44px;border-radius:10px;border-color:#DDE5DA;background:#FCFDFC}
.riwell-auth-input .form-control:focus{border-color:var(--riwell-green);box-shadow:0 0 0 .22rem rgba(154,188,104,.15);background:#fff}
.riwell-password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#78847A;display:grid;place-items:center}
.riwell-password-toggle:hover{background:var(--riwell-green-soft);color:var(--riwell-green-dark)}

.riwell-login-submit{height:49px;border-radius:10px;font-weight:650;background:var(--riwell-green);border-color:var(--riwell-green);color:#172117;box-shadow:0 8px 24px rgba(116,151,69,.16)}
.riwell-login-submit:hover,.riwell-login-submit:focus{background:#7F9F52;border-color:#7F9F52;color:#fff}
.riwell-auth-link,.riwell-auth-register a{color:#66893D;text-decoration:none;font-weight:600}
.riwell-auth-link:hover,.riwell-auth-register a:hover{color:var(--riwell-green-dark);text-decoration:underline}
.riwell-auth-register{text-align:center;color:#879087;font-size:.8rem;margin-top:22px}
.riwell-auth-alert{border-radius:10px;font-size:.82rem;border-width:1px}

.riwell-auth-mobile-brand{display:none;text-align:center;margin-bottom:34px}
.riwell-auth-mobile-brand img{width:170px;height:auto}
.riwell-auth-footer{position:absolute;left:clamp(38px,7vw,96px);right:clamp(38px,7vw,96px);bottom:25px;display:flex;justify-content:space-between;gap:20px;color:#A0A99F;font-size:.7rem}

/* Keeps Shield's other default auth views visually consistent when they use this layout. */
.riwell-auth-content>.container{width:min(520px,100%)!important;padding:0!important;margin:auto!important}
.riwell-auth-content>.container>.card{width:100%!important;max-width:none!important;border:1px solid var(--riwell-line);border-radius:16px;box-shadow:0 18px 55px rgba(29,43,54,.08)!important}
.riwell-auth-content>.container>.card .card-body{padding:30px}
.riwell-auth-content>.container>.card .btn-primary{background:var(--riwell-green);border-color:var(--riwell-green);color:#172117}

@media(max-width:991.98px){
    .riwell-auth-shell{grid-template-columns:1fr}
    .riwell-auth-brand{display:none}
    .riwell-auth-content{min-height:100vh;padding:44px 28px 70px}
    .riwell-auth-mobile-brand{display:block}
    .riwell-auth-footer{left:28px;right:28px}
}

@media(max-width:575.98px){
    .riwell-auth-content{padding:32px 20px 64px}
    .riwell-auth-mobile-brand{margin-bottom:28px}
    .riwell-auth-mobile-brand img{width:150px}
    .riwell-login-heading{margin-bottom:27px}
    .riwell-login-heading h2{font-size:1.7rem}
    .riwell-auth-footer{left:20px;right:20px;bottom:18px}
}
