/* Tela de login — mesma identidade do painel e da página inicial. */
:root{
  --forest:#16332a;--forest2:#1f4435;--green:#27523f;--ink:#1b3a2d;--muted:#666b5e;
  --paper:#e9dfc9;--card:#f6eedc;--field:#fbf5e6;--line:#d8caab;--gold:#c9a45c;--gold-light:#f3e3bd;--gold-text:#7a5c20;--ivory:#efe8d6;--wine:#8f3238;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);font:16px/1.55 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light)}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--gold)}
.eyebrow.dark{color:var(--gold-text)}

/* Lado esquerdo: foto do evento sob um véu verde */
.story{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:44px 56px;color:var(--ivory);background:linear-gradient(160deg,#1f4435f0 0,#16332ae6 55%,#0f241df2 100%),url('/evento-salao.jpg') center/cover no-repeat;border-right:1px solid #c9a45c80;overflow:hidden}
.story::after{content:"";position:absolute;inset:auto -20% -35% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#c9a45c33 0,transparent 65%);pointer-events:none}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;position:relative;z-index:1}
.brand b{display:block;font:600 28px/1 var(--serif);color:var(--gold-light)}
.brand small{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.75;margin-top:3px}
.storyCopy{position:relative;z-index:1;max-width:540px}
.story h1{font:600 clamp(40px,4.6vw,66px)/1.05 var(--serif);margin:22px 0 22px;text-wrap:balance}
.story h1 em{display:block;font-style:italic;font-weight:500;color:var(--gold-light)}
.storyCopy p{font-size:18px;color:#d3d8c6;margin:0 0 28px;max-width:460px}
.storyCopy ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;color:#c5cdb8}
.storyCopy li{display:flex;align-items:center;gap:9px}
.storyCopy li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.storyFoot{position:relative;z-index:1;font:italic 500 18px var(--serif);color:#c9d1bd}

/* Lado direito: cartão de convite com o formulário */
.area{display:grid;place-items:center;padding:40px 24px;background:radial-gradient(700px 420px at 80% -10%,#e2cd9c 0,transparent 68%),radial-gradient(600px 460px at 10% 110%,#d2dcc0 0,transparent 65%),var(--paper)}
.card{width:100%;max-width:440px;background:var(--card);border:1px solid #cdb47a;border-radius:20px;padding:44px 40px 36px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 5px var(--card),inset 0 0 0 6px #d9c9a6,0 1px 2px #5a472014,0 30px 60px -30px #5a472080}
.back{align-self:flex-start;font-size:14px;color:var(--muted);text-decoration:none;margin-bottom:26px;transition:color .15s}
.back:hover{color:var(--ink)}
.card h2{font:600 42px/1.05 var(--serif);margin:14px 0 8px}
.intro{margin:0 0 26px;color:var(--muted)}
label{font-size:13px;font-weight:600;letter-spacing:.04em;margin:0 0 7px}
input{width:100%;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:18px;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#9a9684}
input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px #c9a45c33}
.passwordField{position:relative}
.passwordField input{padding-right:92px}
#togglePassword{position:absolute;right:8px;top:7px;height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--gold-text);font:600 13px var(--sans);cursor:pointer}
#togglePassword:hover{background:#e9dcbd}
#error{min-height:22px;margin:-4px 0 12px;font-size:14px;font-weight:600;color:var(--wine)}
#error:empty{min-height:0;margin:0}
.submit{font:600 16px var(--sans);letter-spacing:.03em;color:#fdf8ec;background:var(--green);border:1px solid var(--green);border-radius:999px;padding:15px 24px;cursor:pointer;box-shadow:inset 0 0 0 1px #d9bd8166;transition:transform .15s,background-color .15s,box-shadow .15s}
.submit:hover{background:var(--forest);transform:translateY(-1px);box-shadow:inset 0 0 0 1px #d9bd8166,0 12px 20px -12px #16332acc}
.submit:disabled{opacity:.7;cursor:progress;transform:none}
.security{margin:22px 0 0;text-align:center;font-size:13px;color:var(--muted)}

@media(max-width:900px){
  body{grid-template-columns:1fr}
  .story{padding:28px 24px 36px;gap:28px;border-right:0;border-bottom:1px solid #c9a45c80}
  .story h1{font-size:40px;margin:16px 0 14px}
  .storyCopy p{font-size:16px;margin-bottom:20px}
  .storyFoot{display:none}
  .area{padding:32px 16px 48px}
  .card{padding:34px 24px 28px}
  .card h2{font-size:36px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
