:root{
    --login-blue:#102b46;
    --login-blue-dark:#071f36;
    --login-green:#39a845;
    --login-green-dark:#238437;
    --login-text:#10233f;
    --login-muted:#66758a;
    --login-border:#d9e2ec;
    --login-bg:#f4f7fb;
    --login-shadow:0 18px 45px rgba(16,35,63,.13);
}
*{box-sizing:border-box}
html,body{height:100%}
body.login-v2{
    margin:0;
    min-height:100vh;
    color:var(--login-text);
    font-family:Arial,Helvetica,sans-serif;
    background:linear-gradient(135deg,#f9fbfd 0%,#edf3f8 100%);
    overflow-x:hidden;
}
.login-v2-shell{
    min-height:100vh;
    padding:10px 12px 22px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.login-v2-frame{
    width:min(1180px,100%);
    height:min(650px,calc(100vh - 28px));
    min-height:560px;
    display:grid;
    grid-template-columns:43% 57%;
    overflow:hidden;
    border:1px solid rgba(16,35,63,.12);
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 36px rgba(16,35,63,.10);
}
.login-v2-left{
    position:relative;
    padding:44px 42px;
    color:var(--login-blue);
    background:#f7fafc;
    overflow:hidden;
    display:flex;
    align-items:center;
}
.login-v2-left:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.76) 52%,rgba(255,255,255,.90) 100%),
        url("../images/login-bg-office.svg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    opacity:1;
    filter:blur(.15px);
    transform:scale(1.015);
}
/* Sem faixa curva: o painel esquerdo fica limpo e usa apenas a imagem suave de fundo. */
.login-v2-left:after{
    display:none;
}
.login-v2-left-pattern{
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(57,168,69,.28) 1px,transparent 1px);
    background-size:12px 12px;
    mask-image:radial-gradient(circle at 73% 11%,#000 0 9%,transparent 18%),radial-gradient(circle at 12% 94%,#000 0 8%,transparent 18%);
    opacity:.32;
}
.login-v2-left-inner{position:relative;z-index:2;width:100%;max-width:430px}
.login-v2-left-dynamic{width:100%;position:relative;z-index:2}
.login-v2-left h1{
    margin:0;
    font-size:34px;
    line-height:1.22;
    font-weight:800;
    letter-spacing:-.7px;
    color:var(--login-blue);
}
.login-v2-left h1 span{color:var(--login-green-dark)}
.login-v2-left .line{width:42px;height:4px;margin:24px 0 26px;border-radius:20px;background:var(--login-green)}
.login-v2-benefits{display:grid;gap:20px;margin-top:2px}
.login-v2-benefit{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(16,35,63,.10)}
.login-v2-benefit:last-child{border-bottom:0;padding-bottom:0}
.login-v2-benefit-icon{width:58px;height:58px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(16,35,63,.07);box-shadow:0 9px 22px rgba(16,35,63,.10)}
.login-v2-benefit-icon img{width:32px;height:32px}
.login-v2-benefit strong{display:block;margin-bottom:6px;font-size:17px;color:var(--login-blue)}
.login-v2-benefit small{display:block;font-size:14px;line-height:1.45;color:#31445f}
.login-v2-right{
    padding:22px 38px 18px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at 85% 4%,rgba(57,168,69,.10),transparent 22%),#f8fafc;
}
.login-v2-brand{
    width:min(430px,92%);
    margin:0 0 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
}
.login-v2-logo-icon{display:block;width:78px;height:auto;object-fit:contain;background:transparent;flex:0 0 auto}
.login-v2-brand-text{line-height:1}
.login-v2-brand-name{font-size:36px;font-weight:800;letter-spacing:-1px;color:var(--login-blue);white-space:nowrap}
.login-v2-brand-name span{color:var(--login-green-dark)}
.login-v2-brand-subtitle{margin-top:9px;font-size:13px;font-weight:700;letter-spacing:3.2px;text-transform:uppercase;color:#66758a;white-space:nowrap}
.login-v2-card{width:100%;max-width:430px;padding:27px 34px 26px;background:#fff;border:1px solid rgba(16,35,63,.09);border-radius:16px;box-shadow:var(--login-shadow)}
.login-v2-card h2{margin:0 0 7px;text-align:center;font-size:24px;color:var(--login-blue)}
.login-v2-subtitle{margin:0 0 25px;text-align:center;color:var(--login-muted);font-size:14px}
.login-v2-form label{display:block;margin:13px 0 7px;font-size:13px;font-weight:700;color:var(--login-blue);text-align:left}
.login-v2-input-wrap{position:relative;clear:both}
.login-v2-input,.login-v2-select{width:100%;height:40px;padding:0 13px;border:1px solid var(--login-border);border-radius:8px;background:#fff;color:var(--login-text);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}
.login-v2-input.with-icon{padding-left:42px}
.login-v2-input.has-eye{padding-right:42px}
.login-v2-input:focus,.login-v2-select:focus{border-color:var(--login-green);box-shadow:0 0 0 3px rgba(57,168,69,.16)}
.login-v2-field-icon{position:absolute;left:13px;top:50%;width:18px;height:18px;transform:translateY(-50%);opacity:.62;pointer-events:none}
.login-v2-eye{position:absolute;right:12px;top:50%;width:20px;height:20px;transform:translateY(-50%);opacity:.55;cursor:pointer}
.login-v2-button{height:40px;border-radius:8px;font-size:15px;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .10s}
.login-v2-button:active{transform:translateY(1px)}
.login-v2-button-primary{width:100%;margin-top:20px;border:0;color:#fff;background:linear-gradient(135deg,#32aa44,#188736);box-shadow:0 6px 14px rgba(35,132,55,.22)}
.login-v2-button-primary:hover{background:linear-gradient(135deg,#43bd55,#239941);box-shadow:0 8px 18px rgba(35,132,55,.30)}
.login-v2-button-primary:disabled{opacity:.70;cursor:wait}
.login-v2-separator{display:flex;align-items:center;gap:13px;margin:18px 0 14px;color:var(--login-muted);font-size:13px}
.login-v2-separator:before,.login-v2-separator:after{content:"";height:1px;flex:1;background:var(--login-border)}
.login-v2-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.login-v2-button-secondary{border:1px solid #95d79d;background:#fff;color:var(--login-blue);box-shadow:none;font-size:14px;font-weight:700}
.login-v2-button-secondary:hover{background:#f6fbf7;border-color:#55bd50;color:#1d7030;box-shadow:0 2px 8px rgba(57,168,69,.12)}
.login-v2-button-icon{width:18px;height:18px;vertical-align:-4px;margin-right:8px}
.login-v2-secure{margin-top:25px;display:flex;align-items:center;gap:8px;color:var(--login-muted);font-size:13px}
.login-v2-secure img{width:18px;height:18px;opacity:.75}
.login-v2-copy{position:absolute;left:0;right:0;bottom:5px;text-align:center;color:#6b7a90;font-size:12px}
.login-v2-alert{position:fixed;top:14px;left:50%;z-index:20;transform:translateX(-50%);max-width:760px;padding:12px 18px;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(16,35,63,.16);font-size:14px}
.login-v2-alert.error{border-left:5px solid #d94b4b}
.login-v2-alert.success{border-left:5px solid var(--login-green)}
@media (max-width:1050px){
    body.login-v2{overflow:auto}
    .login-v2-frame{height:auto;min-height:0;grid-template-columns:1fr}
    .login-v2-left{min-height:320px;padding:38px 34px}
    .login-v2-left:after{display:none}
    .login-v2-right{padding:30px 18px}
    .login-v2-card{max-width:470px}
    .login-v2-copy{position:static;margin-top:10px}
}
@media (max-width:620px){
    .login-v2-shell{padding:0}
    .login-v2-frame{border-radius:0;border:0}
    .login-v2-left{display:none}
    .login-v2-brand{width:310px;gap:12px}
    .login-v2-logo-icon{width:54px}
    .login-v2-brand-name{font-size:27px}
    .login-v2-brand-subtitle{font-size:10px;letter-spacing:2px}
    .login-v2-card{padding:25px 22px;border-radius:14px}
    .login-v2-actions{grid-template-columns:1fr}
    .login-v2-right{min-height:100vh}
    .login-v2-copy{font-size:11px}
}
@media (max-height:720px) and (min-width:1051px){
    .login-v2-frame{height:calc(100vh - 24px);min-height:610px}
    .login-v2-left{padding-top:40px;padding-bottom:40px}
    .login-v2-left h1{font-size:31px}
    .login-v2-benefits{gap:14px}
    .login-v2-benefit{grid-template-columns:50px 1fr;gap:14px;padding-bottom:14px}
    .login-v2-benefit-icon{width:50px;height:50px}
    .login-v2-benefit-icon img{width:28px;height:28px}
    .login-v2-benefit strong{font-size:15px}
    .login-v2-benefit small{font-size:13px}
    .login-v2-right{padding-top:18px}
    .login-v2-brand{width:390px;margin-bottom:16px}
    .login-v2-logo-icon{width:70px}
    .login-v2-brand-name{font-size:32px}
    .login-v2-brand-subtitle{font-size:12px}
    .login-v2-card{max-width:420px;padding:24px 36px}
    .login-v2-card h2{font-size:22px}
    .login-v2-input,.login-v2-select,.login-v2-button{height:40px}
    .login-v2-secure{margin-top:14px}
}


/* Ajuste final: painel esquerdo claro com imagem institucional suave */
.login-v2-left{
    background:#f7fafc;
}
.login-v2-left-inner,
.login-v2-left-dynamic{
    position:relative;
    z-index:2;
}

/* Ajuste 2026-07: deixa a imagem institucional do painel esquerdo visível,
   sem a faixa verde e com verde menos dominante nos botões secundários. */
.login-v2-left:before{
    background:
        linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.58) 52%,rgba(255,255,255,.82) 100%),
        url("../images/login-bg-office.svg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    opacity:1;
    filter:blur(.10px);
    transform:scale(1.025);
}

.login-v2-left-pattern{
    opacity:.20;
}

.login-v2-button-secondary{
    border-color:var(--login-border);
    color:var(--login-blue);
}

.login-v2-button-secondary:hover{
    background:#f6fbf7;
    border-color:#8ed59a;
    color:#1d7030;
}

/* --------------------------------------------------------------------------
   Ajuste final - 2026-07
   Objetivo:
   - tornar a imagem institucional do painel esquerdo visível;
   - remover o pontilhado verde;
   - aproximar foco/ícones/botões secundários do azul predominante do sistema;
   - manter o verde como cor de ação/destaque principal.
   -------------------------------------------------------------------------- */

.login-v2-left{
    background:#f7f9fc;
}

/* Imagem de fundo mais visível.
   Ajuste fino:
   - mais visível: aumente opacity para .50 ou .55
   - mais discreta: reduza para .28 ou .24 */
.login-v2-left:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url("../images/login-bg-office.svg");
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    opacity:.42;
    filter:brightness(1.04) contrast(1.08) saturate(.82);
    transform:scale(1.02);
}

/* Remove o pontilhado verde para deixar o painel mais limpo. */
.login-v2-left-pattern{
    display:none;
}

/* A linha vira azul, alinhando mais com o sistema interno. */
.login-v2-left .line{
    width:48px;
    height:4px;
    background:#2d7cbf;
}

/* Cards dos ícones mais neutros. */
.login-v2-benefit-icon{
    background:#ffffff;
    border:1px solid #d8e3ec;
    box-shadow:0 8px 18px rgba(16,43,70,.08);
}

/* Se os ícones forem SVG/PNG monocromáticos, aproxima o tom do azul do sistema. */
.login-v2-benefit-icon img{
    filter:brightness(0) saturate(100%) invert(35%) sepia(71%) saturate(692%) hue-rotate(171deg) brightness(91%) contrast(89%);
}

/* O verde continua no destaque da palavra "empresa". */
.login-v2-left h1 span{
    color:var(--login-green-dark);
}

/* Foco dos campos em azul, para ficar coerente com o restante do sistema. */
.login-v2-input:focus,
.login-v2-select:focus{
    border-color:#2d7cbf;
    box-shadow:0 0 0 3px rgba(45,124,191,.18);
}

/* Botão principal com verde menos vibrante. */
.login-v2-button-primary{
    background:#2f9b42;
    box-shadow:0 6px 14px rgba(47,155,66,.20);
}

.login-v2-button-primary:hover{
    background:#27863a;
    box-shadow:0 8px 18px rgba(47,155,66,.24);
}

/* Botões secundários com comportamento mais azul/neutro. */
.login-v2-button-secondary{
    border:1px solid #cfdbe6;
    color:#28496b;
    background:#fff;
    box-shadow:none;
}

.login-v2-button-secondary:hover{
    border-color:#2d7cbf;
    color:#20476f;
    background:#f4f9fd;
    box-shadow:0 2px 8px rgba(45,124,191,.10);
}

