:root{--ink:#261d24;--muted:#776a73;--bg:#f8f4f4;--rose:#c97e8b;--rose-soft:#f4e3e7;--wine:#5f3b55;--wine-2:#40283a;--line:#eadfe2;--shadow:0 24px 70px rgba(66,42,59,.16)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.auth-page{min-height:100vh;display:grid;grid-template-columns:.92fr 1.08fr}.auth-visual{position:relative;min-height:100vh;overflow:hidden;background:#eadde1}.auth-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,20,28,.05),rgba(42,24,36,.58))}.visual-copy{position:absolute;z-index:2;left:44px;right:44px;bottom:42px;color:#fff}.visual-copy .mark{width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.96);color:var(--wine);display:grid;place-items:center;font-weight:900}.visual-copy h2{font-family:Georgia,serif;font-size:38px;line-height:1.08;max-width:560px;margin:18px 0 10px}.visual-copy p{max-width:520px;color:#f2eaf0;line-height:1.6}.auth-panel{background:#fff;padding:36px clamp(28px,6vw,82px) 50px;display:flex;align-items:center;justify-content:center;position:relative}.auth-card{width:min(520px,100%)}.back{position:absolute;top:26px;left:clamp(28px,6vw,82px);font-size:12px;color:var(--muted)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:36px}.brand>span{width:44px;height:44px;border-radius:14px;background:var(--wine);color:#fff;display:grid;place-items:center;font-weight:900}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{font-size:11px;color:var(--muted);margin-top:2px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--wine)}h1{font-size:clamp(38px,5vw,58px);line-height:1.02;letter-spacing:-.05em;margin:9px 0 14px}p.lead{color:var(--muted);line-height:1.65;margin:0 0 26px}.field{display:grid;gap:7px;margin:14px 0}.field span{font-size:11px;font-weight:800;color:#5e5059}.field input{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;outline:none;color:var(--ink);font:inherit}.field input:focus{border-color:#c99cab;box-shadow:0 0 0 4px rgba(201,126,139,.09)}.password-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.text-link{font-size:12px;color:var(--wine);font-weight:800}.btn{width:100%;border:0;border-radius:14px;padding:14px 18px;font-weight:900;cursor:pointer;min-height:52px}.btn:disabled{opacity:.65;cursor:wait}.primary{background:var(--wine);color:#fff;box-shadow:0 12px 26px rgba(95,59,85,.18)}.secondary{background:#fff;color:var(--wine);border:1px solid var(--line)}.actions{display:grid;gap:10px;margin-top:22px}.divider{display:flex;align-items:center;gap:12px;color:#a08f99;font-size:10px;margin:22px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.switch{text-align:center;font-size:13px;color:var(--muted)}.switch a{color:var(--wine);font-weight:900}.form-message{margin:16px 0 0;padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.5}.form-message.info{background:#f5f0f3;color:#5f3b55}.form-message.success{background:#eaf4e7;color:#4d6648}.form-message.warn{background:#fff4df;color:#7d5f2b}.form-message.error{background:#fff0f2;color:#9b4050}.purchase-note{margin-top:18px;padding:14px;border:1px solid var(--line);background:#fffafa;border-radius:14px;font-size:11px;color:var(--muted);line-height:1.55}.access-box{border:1px solid var(--line);border-radius:18px;background:#fffafa;padding:18px;margin-top:20px}.access-box strong{display:block;color:var(--wine);font-size:13px}.access-box span{display:block;color:var(--muted);font-size:12px;margin-top:5px;word-break:break-word}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:76px 22px 38px}.back{left:22px}.auth-card{max-width:560px}}@media(max-width:520px){h1{font-size:40px}.brand{margin-bottom:28px}}

/* V7.13 — autenticação acompanha o tema global */
:root{--surface:color-mix(in srgb,#fff 88%,var(--bg));--surface-2:color-mix(in srgb,#fff 62%,var(--rose-soft));--theme-focus:color-mix(in srgb,var(--rose) 14%,transparent);}
html{background:var(--wine)}body{background:var(--bg)}
.auth-panel,.field input,.secondary,.purchase-note,.access-box{background:var(--surface);}
.auth-visual{background:var(--rose-soft);}
.brand>span{background:var(--wine)}
.field input:focus{border-color:var(--rose);box-shadow:0 0 0 4px var(--theme-focus)}
.form-message.info{background:var(--surface-2);color:var(--wine)}
.primary{background:linear-gradient(135deg,var(--wine),var(--wine-2));box-shadow:0 12px 26px color-mix(in srgb,var(--wine) 18%,transparent)}
@media (display-mode: standalone){body::before,body::after{content:"";position:fixed;left:0;right:0;background:var(--wine);z-index:200;pointer-events:none}body::before{top:0;height:env(safe-area-inset-top)}body::after{bottom:0;height:env(safe-area-inset-bottom)}}

/* V7.28 — use brand symbol instead of AO placeholder on auth visuals */
.visual-copy .mark{
  font-size:0!important;
  color:transparent!important;
  background-image:url('../assets/icons/logo-symbol.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:70% 70%;
}
