/* Shared Ã‘ande Factura identity for login, registration and recovery. */
body.apifactura-login {
    --primary:#123e3a; --login-ink:#123e3a; --login-muted:#5b736a;
    --login-line:#81968e; --login-bg:#f5f8f6;
    margin:0; padding:0; min-height:100vh; min-height:100svh;
    background:var(--login-bg); color:var(--login-ink);
    font:14px/1.6 'Inter',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
}
.apifactura-login * { box-sizing:border-box; }
.apifactura-login .login-shell { display:grid; grid-template-columns:46% 54%; min-height:100vh; min-height:100svh; width:100%; }
.apifactura-login .login-showcase {
    display:flex; flex-direction:column; justify-content:space-between; gap:48px;
    min-width:0; padding:56px 64px; background:#123e3a; color:#f4faf6;
    position:relative; overflow:hidden;
}
.apifactura-login .login-showcase::after { content:''; position:absolute; width:380px; height:380px; border:1px solid #75dfc01a; border-radius:50%; bottom:-255px; right:-100px; pointer-events:none; }
.apifactura-login .showcase-brand { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.apifactura-login .showcase-brand img { display:block; width:190px; height:auto; background:#fff; padding:14px 18px; border-radius:12px; }
.apifactura-login .showcase-brand > span { color:#b9d8cc; font-size:13px; }
.apifactura-login .showcase-copy { max-width:440px; margin:auto 0; padding:30px 0; }
.apifactura-login .showcase-copy h2 { font-size:40px; font-weight:600; line-height:1.17; letter-spacing:-.035em; margin:0 0 26px; text-wrap:balance; }
.apifactura-login .showcase-copy h2 span { color:#75dfc0; }
.apifactura-login .showcase-copy p { color:#c7dfd5; font-size:15px; line-height:1.8; max-width:36ch; margin:0; }
.apifactura-login .showcase-status { color:#b9d8cc; font-size:12px; position:relative; z-index:1; }
.apifactura-login .login-card { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; padding:56px 48px; }
.apifactura-login .login-card .card { width:100%; max-width:420px; border:0; border-radius:0; background:transparent; box-shadow:none; margin:0; }
.apifactura-login .card-header { padding:0 0 28px !important; border:0; background:transparent !important; text-align:left !important; }
.apifactura-login .card-header img { display:none; }
.apifactura-login .card-header h1 { font-size:29px; line-height:1.25; font-weight:650; letter-spacing:-.035em; margin:0 0 10px; color:var(--login-ink); text-wrap:balance; }
.apifactura-login .login-intro { margin:0; font-size:14px; color:var(--login-muted); }
.apifactura-login .card-body { padding:0 !important; }
.apifactura-login .form-label { display:block; margin-bottom:8px; font-size:13px; font-weight:550; color:#36564b; }
.apifactura-login .form-label i { color:#527265; margin-right:5px; }
.apifactura-login .form-control { min-height:50px; padding:12px 14px; border:1px solid var(--login-line); border-radius:10px; background:#fff; color:#173e33; font:inherit; font-size:14px; box-shadow:none; }
.apifactura-login .form-control::placeholder { color:#667b72; opacity:1; }
.apifactura-login .form-control:focus { border-color:#26785f; box-shadow:0 0 0 3px #26785f20; outline:0; }
.apifactura-login .mb-3 { margin-bottom:21px !important; }
.apifactura-login .btn-primary,.apifactura-login .btn-success { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:12px 18px; border:1px solid #123e3a; border-radius:10px; background:#123e3a; color:#fff; font-size:14px; line-height:1.5; font-weight:600; transition:background .18s ease,border-color .18s ease; }
.apifactura-login .btn-primary:hover,.apifactura-login .btn-success:hover { background:#1b5b4e; border-color:#1b5b4e; color:#fff; }
.apifactura-login a { color:#165b46; text-underline-offset:3px; }
.apifactura-login .text-muted { color:var(--login-muted) !important; }
.apifactura-login .small,.apifactura-login small { font-size:12px; }
.apifactura-login .alert { border-radius:10px; font-size:13px; padding:13px 16px !important; line-height:1.7; }
.apifactura-login .card-footer { padding:24px 0 0 !important; margin-top:30px; border-top:1px solid #dce7e1; background:transparent !important; color:var(--login-muted); }
.apifactura-login .auth-switch { margin:0 0 14px; font-size:13px; color:var(--login-muted); }
.apifactura-login .auth-switch a { margin-left:4px; font-weight:600; }
.apifactura-login :focus-visible { outline:2px solid #277d6d; outline-offset:3px; }
.apifactura-login ::selection { background:#75dfc0; color:#0b2926; }
.apifactura-login input { caret-color:#123e3a; }
@media (min-width:1500px) { .apifactura-login .login-showcase { padding:72px 80px; } .apifactura-login .showcase-copy h2 { font-size:46px; } }
@media (max-width:1050px) { .apifactura-login .login-showcase { padding:40px 36px; } .apifactura-login .login-card { padding:40px 32px; } .apifactura-login .showcase-copy h2 { font-size:34px; } }
@media (max-width:767px) {
    .apifactura-login .login-shell { display:block; }
    .apifactura-login .login-showcase { display:none; }
    .apifactura-login .login-card { min-height:100vh; min-height:100svh; padding:34px 24px; align-items:center; }
    .apifactura-login .card-header img { display:block; width:156px; height:auto; margin:0 0 34px; }
    .apifactura-login .card-header h1 { font-size:27px; }
    .apifactura-login .card-header { padding-bottom:24px !important; }
    .apifactura-login .form-control { font-size:16px; }
}
@media (max-width:359px) { .apifactura-login .login-card { padding:28px 18px; } .apifactura-login .card-header h1 { font-size:25px; } }
@media (prefers-reduced-motion:reduce) { .apifactura-login * { transition:none !important; } }
