:root{
  --yellow:#ffc51b;
  --yellow-dark:#e5ae00;
  --dark:#282828;
  --ink:#151515;
  --paper:#f3f2ee;
  --line:#2d2d2d;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
a{color:inherit}
img{display:block;max-width:100%}
button,input{font:inherit}

.farol-auth-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 5vw}
.farol-auth-shell{width:min(1320px,100%);display:grid;grid-template-columns:minmax(420px,1fr) minmax(460px,560px);gap:90px;align-items:center}
.farol-auth-side{display:flex;flex-direction:column;align-items:flex-start}
.farol-auth-logo img{width:min(430px,82vw)}
.farol-auth-side-copy{width:min(430px,100%);margin-top:38px}
.farol-auth-rule{display:block;width:100%;height:1px;background:#333;margin-bottom:17px}
.farol-auth-side-copy h2{font-size:26px;line-height:1.05;margin:0 0 32px}
.farol-auth-side-copy h2 strong{font-size:28px}
.farol-auth-side-copy p{font-size:16px;line-height:1.35;margin:0 0 25px;font-weight:600}
.farol-auth-side-copy p strong{font-size:15px}
.farol-auth-side-copy p a{text-decoration:underline}
.farol-auth-yellow-button{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);padding:18px 27px;text-decoration:none;font-size:18px;font-weight:800;border-radius:6px;min-width:320px}
.farol-auth-yellow-button:hover{background:#f4b800}

.farol-auth-content{display:flex;flex-direction:column;align-items:center}
.farol-auth-card{width:100%;background:var(--yellow);border-radius:13px;padding:55px 42px 28px}
.farol-auth-card h1{text-align:center;font-size:25px;line-height:1.12;margin:0 0 38px}
.farol-auth-intro{text-align:center;font-size:18px;font-weight:700;margin:-8px 0 36px}
.farol-auth-recovery-copy{text-align:center;font-size:16px;line-height:1.35;font-weight:700;margin:-18px 0 45px}
.farol-auth-card label{display:block;font-size:17px;font-weight:800;margin:0 0 28px}
.farol-auth-input{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;height:46px;margin-top:11px;border:1.7px solid var(--dark);border-radius:14px;overflow:hidden;background:#fff}
.farol-auth-input>i{display:block;background:var(--yellow);border-right:1px solid var(--dark)}
.farol-auth-input>i:last-child{border-right:0;border-left:1px solid var(--dark)}
.farol-auth-input input{min-width:0;width:100%;height:100%;border:0;outline:0;background:#fff;padding:0 10px;font-size:15px}
.farol-auth-field-help{display:block;font-size:10px;font-weight:400;margin-top:6px;color:#5d4a00}
.password-field{position:relative;display:grid}
.password-field>i:last-of-type{visibility:hidden}
.farol-auth-eye{position:absolute;right:0;top:0;width:40px;height:44px;border:0;border-left:1px solid var(--dark);background:var(--yellow);display:flex;align-items:center;justify-content:center;cursor:pointer}
.farol-auth-eye svg{width:22px;height:22px;fill:#2b2b2b}
.farol-auth-eye.is-visible{background:#efb600}

.farol-auth-dark-button{width:100%;min-height:60px;border:0;border-radius:6px;background:var(--dark);color:var(--yellow);font-size:19px;font-weight:900;cursor:pointer;margin:8px 0 28px}
.farol-auth-dark-button:hover{background:#191919}
.farol-auth-dark-button.link-button{display:flex;align-items:center;justify-content:center;text-decoration:none}

.farol-auth-text-link{display:block;width:max-content;max-width:100%;margin:0 auto;text-align:center;font-size:17px;font-weight:800;text-decoration:underline;text-underline-offset:6px}
.farol-auth-back-home{display:block;margin-top:22px;font-size:17px;font-weight:700;text-decoration:underline;text-underline-offset:5px}

.farol-auth-alert{padding:11px 13px;border-radius:6px;margin:-20px 0 24px;font-size:12px;line-height:1.4}
.farol-auth-alert.error{background:#ffe7e7;color:#842020;border:1px solid #dc9f9f}
.farol-auth-alert.success{background:#edf8e8;color:#2b6428;border:1px solid #a5cf99}

.security-copy h2{font-size:25px;margin-bottom:45px}
.security-copy p{font-size:15px;font-weight:600;margin-bottom:28px}
.security-copy p strong{font-weight:900}
.recovery-card{padding-top:55px}
.recovery-card h1{margin-bottom:42px}
.recovery-card label{margin-top:42px}

@media(max-width:1000px){
  .farol-auth-main{padding:34px 5vw}
  .farol-auth-shell{grid-template-columns:1fr;gap:35px;max-width:620px}
  .farol-auth-side{align-items:center;text-align:center}
  .farol-auth-logo img{width:290px}
  .farol-auth-side-copy{margin-top:24px}
  .farol-auth-yellow-button{min-width:0;width:100%}
  .security-copy{display:none}
  .login-copy h2,.login-copy p{display:none}
  .login-copy .farol-auth-rule{display:none}
  .login-copy{margin-top:15px}
  .login-copy .farol-auth-yellow-button{max-width:360px}
}

@media(max-width:620px){
  .farol-auth-main{padding:24px 16px 35px;align-items:flex-start}
  .farol-auth-logo img{width:225px}
  .farol-auth-shell{gap:24px}
  .farol-auth-card{padding:36px 20px 24px;border-radius:10px}
  .farol-auth-card h1{font-size:23px;margin-bottom:31px}
  .farol-auth-intro{font-size:17px;margin-bottom:30px}
  .farol-auth-recovery-copy{font-size:15px;margin-bottom:30px}
  .farol-auth-card label{font-size:16px;margin-bottom:22px}
  .farol-auth-input{height:44px}
  .farol-auth-dark-button{min-height:56px;font-size:17px;margin-bottom:23px}
  .farol-auth-text-link,.farol-auth-back-home{font-size:16px}
  .farol-auth-side-copy{width:100%}
  .farol-auth-yellow-button{font-size:16px;padding:15px 18px}
  .recovery-card label{margin-top:28px}
}


/* =========================================================
   AJUSTE 2 — TIPOGRAFIA MAIS COMPACTA + FORÇA DE SOBRESCRITA
   ========================================================= */
@media (min-width: 621px) {
  .farol-auth-side-copy h2{
    font-size:22px !important;
    line-height:1.08 !important;
  }
  .farol-auth-side-copy h2 strong{
    font-size:24px !important;
  }
  .farol-auth-side-copy p{
    font-size:14px !important;
    line-height:1.35 !important;
  }
  .farol-auth-side-copy p strong{
    font-size:14px !important;
  }
  .farol-auth-yellow-button{
    font-size:16px !important;
  }

  .farol-auth-card h1{
    font-size:22px !important;
  }
  .farol-auth-intro{
    font-size:16px !important;
  }
  .farol-auth-recovery-copy{
    font-size:14px !important;
    line-height:1.4 !important;
  }
  .farol-auth-card label{
    font-size:15px !important;
  }
  .farol-auth-input input{
    font-size:14px !important;
  }
  .farol-auth-dark-button{
    font-size:17px !important;
    min-height:56px !important;
  }
  .farol-auth-text-link{
    font-size:15px !important;
  }
  .farol-auth-back-home{
    font-size:15px !important;
  }
  .security-copy h2{
    font-size:22px !important;
  }
  .security-copy p{
    font-size:14px !important;
  }
}
