*{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#f6f1e8;--paper:#fffcf5;--forest:#063328;--forest2:#0b4636;
  --gold:#c9a84c;--gold2:#e6c66b;--ink:#10231c;
  --muted:rgba(16,35,28,.52);--line:rgba(6,51,40,.1);
}
html,body{min-height:100%;font-family:'Inter','Segoe UI',Arial,sans-serif;background:var(--cream);color:var(--ink)}
body{
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%,rgba(6,51,40,.07) 0%,transparent 60%),
    radial-gradient(ellipse 60% 40% at 100% 100%,rgba(201,168,76,.06) 0%,transparent 55%),
    var(--cream);
}
a{color:inherit;text-decoration:none}

/* ── TOPBAR ── */
.login-topbar{
  position:fixed;top:0;left:0;right:0;z-index:10;height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(22px,5vw,64px);
  background:rgba(246,241,232,.92);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.brand{display:flex;align-items:center;gap:10px;color:var(--forest);font-size:18px;font-weight:900;letter-spacing:.04em}
.brand span{
  width:32px;height:32px;display:grid;place-items:center;
  border:1.5px solid rgba(201,168,76,.5);border-radius:8px;
  color:var(--gold2);font-size:11px;
  background:linear-gradient(135deg,var(--forest),var(--forest2));
  box-shadow:0 4px 12px rgba(6,51,40,.2);
}
.brand em{font-style:normal;color:var(--gold)}
.brand b{color:var(--gold);font-size:23px}
nav{display:flex;gap:6px}
nav a{
  color:rgba(6,51,40,.55);font-size:13px;font-weight:700;
  padding:6px 14px;border-radius:8px;transition:all .2s;
}
nav a:hover{color:var(--forest);background:rgba(6,51,40,.06)}

/* ── LAYOUT ── */
.login-page{
  min-height:100vh;
  width:min(1120px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 440px;
  align-items:center;
  gap:52px;
  padding:108px 0 56px;
}

/* ── BRAND (lado esquerdo) ── */
.login-brand{display:flex;flex-direction:column}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--gold);font-size:11px;font-weight:900;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;
}
h1{
  max-width:600px;
  font-size:clamp(38px,5.5vw,68px);
  line-height:.96;letter-spacing:-.06em;
  color:var(--forest);margin-bottom:18px;
}
.sub{
  max-width:520px;color:var(--muted);font-size:16px;line-height:1.7;
}
.insight-card{
  width:min(540px,100%);margin-top:34px;
  border:1px solid var(--line);border-radius:12px;
  background:var(--paper);
  box-shadow:0 8px 32px rgba(6,51,40,.07);
  overflow:hidden;
}
.insight-card>div{
  display:flex;justify-content:space-between;gap:18px;
  padding:15px 20px;border-bottom:1px solid var(--line);
}
.insight-card>div:last-child{border-bottom:0}
.insight-card span{color:var(--muted);font-size:12px;font-weight:700}
.insight-card strong{color:var(--forest);font-size:13px;text-align:right;font-weight:800}
.login-points{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;width:min(600px,100%);margin-top:16px;
}
.login-points div{
  padding:16px;border:1px solid var(--line);border-radius:10px;
  background:var(--paper);
  box-shadow:0 4px 16px rgba(6,51,40,.05);
}
.login-points strong{display:block;color:var(--forest);font-size:13px;font-weight:800;margin-bottom:6px}
.login-points span{color:var(--muted);font-size:12px;line-height:1.5}

/* ── CARD (lado direito) ── */
.login-card{
  background:var(--paper);color:var(--ink);
  border:1px solid var(--line);border-radius:16px;
  padding:32px;
  box-shadow:0 24px 80px rgba(6,51,40,.1),0 4px 16px rgba(6,51,40,.06);
}
.card-head{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.card-head span{
  display:block;color:var(--gold);font-size:10px;font-weight:900;
  letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;
}
.auth-tabs{
  display:flex;gap:4px;
  background:rgba(6,51,40,.06);border-radius:10px;padding:3px;
}
.auth-tab{
  flex:1;border:none;background:transparent;border-radius:7px;
  padding:8px 0;font-size:13px;font-weight:700;
  color:var(--muted);cursor:pointer;transition:all .18s;font-family:inherit;
}
.auth-tab.active{
  background:#fff;color:var(--forest);
  box-shadow:0 1px 6px rgba(6,51,40,.12);
}
form{display:flex;flex-direction:column}
form>label{
  color:rgba(16,35,28,.55);font-size:11px;font-weight:900;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;
}
input[type="email"],input[type="password"],input[type="text"]{
  width:100%;height:48px;
  border:1.5px solid var(--line);border-radius:10px;
  background:#fff;color:var(--forest);
  font:inherit;font-size:14px;font-weight:600;
  padding:0 14px;outline:none;margin-bottom:14px;
  transition:border-color .2s,box-shadow .2s;
}
input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.14)}
.form-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin:2px 0 18px;
}
.remember{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}
.remember input{accent-color:var(--forest)}
.form-row a,.signup a{color:var(--forest);font-size:12px;font-weight:800}
button,.outline-action{
  width:100%;min-height:48px;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;font:inherit;font-size:13px;font-weight:900;
  text-decoration:none;cursor:pointer;transition:all .2s;
}
button{
  border:0;
  background:linear-gradient(135deg,var(--forest),var(--forest2));
  color:var(--cream);
  box-shadow:0 8px 24px rgba(6,51,40,.22);
}
button:hover:not(:disabled){box-shadow:0 12px 32px rgba(6,51,40,.3);transform:translateY(-1px)}
button:disabled{cursor:not-allowed;opacity:.65}
.google-action{
  border:1.5px solid var(--line);background:#fff;color:var(--forest);
  box-shadow:0 2px 8px rgba(6,51,40,.06);gap:10px;
}
.google-action:hover{border-color:rgba(6,51,40,.2);box-shadow:0 4px 16px rgba(6,51,40,.1);transform:translateY(-1px)}
.google-mark{
  width:22px;height:22px;display:grid;place-items:center;
  border-radius:50%;border:1px solid var(--line);
  color:#4285f4;font-weight:900;font-size:14px;background:#fff;
}
.auth-error{
  min-height:18px;margin-top:10px;color:#b03020;
  font-size:12px;font-weight:800;line-height:1.45;
}
.divider{
  position:relative;display:flex;justify-content:center;margin:20px 0;
}
.divider::before{
  content:"";position:absolute;top:50%;left:0;right:0;
  height:1px;background:var(--line);
}
.divider span{
  position:relative;z-index:1;padding:0 12px;
  background:var(--paper);color:var(--muted);font-size:11px;font-weight:800;
}
.outline-action{
  border:1.5px solid var(--line);color:var(--forest);background:#fff;
}
.outline-action:hover{border-color:rgba(6,51,40,.22);background:var(--cream)}

@media(max-width:930px){.login-page{grid-template-columns:1fr;gap:36px}.login-card{max-width:520px}}
@media(max-width:650px){
  .login-topbar{position:static;height:auto;padding:16px 20px;flex-direction:column;align-items:flex-start;gap:16px}
  .login-page{width:min(100% - 32px,1120px);padding:28px 0}
  .login-points{grid-template-columns:1fr}
}
