/* Marca Rolo exclusivamente en accesos. Nunca en cartas públicas de clientes. */
.ra-card,.ra-gate{
  --bg:#f3efe8;--card:#fffcf7;--text:#302620;--ink:#302620;--muted:#74665b;
  --line:#ded3c6;--wine:#8e2e3e;--red:#a84444;--danger:#a84444;--green:#2e7d53;
  color-scheme:light;color:var(--text);font-family:"DM Sans",Inter,"Segoe UI",sans-serif;
}
.ra-card{box-sizing:border-box;width:100%;max-width:450px!important;padding:30px!important;background:var(--card)!important;border:1px solid #e0d7ca!important;border-radius:24px!important;box-shadow:0 20px 65px #49342616!important;overflow:hidden;text-align:left}
.ra-card[hidden]{display:none!important}
.ra-card *{box-sizing:border-box}
.ra-card .ra-brand{margin:-30px -30px 26px;padding:18px 30px 22px}
.ra-brand{background:linear-gradient(155deg,#612433,#742b3a 65%,#4e1c29);border-top:4px solid #d6b775;text-align:center;color:#fff4e5}
.ra-logo{display:block;width:300px;max-width:100%;height:auto;object-fit:contain;margin:0 auto}
.ra-caption{display:block;color:#f1d6ac;font-size:10px;letter-spacing:1.9px;line-height:1.5;text-transform:uppercase;margin-top:4px}
.ra-card h1,.ra-card h2{color:#302620;font-family:Georgia,serif;line-height:1.15;letter-spacing:-.025em}
.ra-card input:not([type=checkbox]):not([type=radio]){width:100%;min-height:50px!important;background:#fff!important;color:#302620!important;border:1px solid #d9cfc3!important;border-radius:11px!important;font-size:16px!important}
.ra-card input:focus{outline:0;box-shadow:0 0 0 3px #8e2e3e20!important;border-color:#8e2e3e!important}
.ra-card label{font-size:12px;color:#65554d}
.ra-card :is(.primary,.pri,.thumb-primary,button[type=submit]){background:#8e2e3e!important;color:#fff!important;border-color:#8e2e3e!important;border-radius:11px!important;min-height:48px;box-shadow:0 6px 14px #8e2e3e16}
.ra-card button:disabled{opacity:.6;cursor:wait}
.ra-card :is(button,a):focus-visible{outline:3px solid #b26e35;outline-offset:3px}
.ra-gate{overflow:auto!important;background:#f3efe8!important}
#roloLogin.ra-gate{padding:24px 16px!important;align-items:safe center}
#roloEsperando.ra-card{padding-bottom:40px!important}
#roloLoginErr:empty{display:none}
#adminLoginGate .al-brand .ra-logo{width:310px;margin:0;max-width:100%}
#adminLoginGate .al-story{border-top:4px solid #d6b775;background:linear-gradient(155deg,#612433,#742b3a 65%,#4e1c29);padding-top:28px}
#adminLoginGate .al-story-title{margin-top:26px}
#pn-gate.ra-gate{display:grid!important;place-items:safe center;padding:32px 22px}
#pn-gate .ra-layout{width:100%;max-width:990px;min-height:620px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #e0d7ca;border-radius:26px;overflow:hidden;box-shadow:0 24px 80px #49342612;background:#fffcf7}
#pn-gate .pn-brand{max-width:none;padding:32px 42px;border-top:4px solid #d6b775;background:linear-gradient(155deg,#612433,#742b3a 65%,#4e1c29)}
#pn-gate .ra-logo{width:320px;margin:0 0 36px}
#pn-gate .pn-brand-h{font-size:40px;font-weight:400;letter-spacing:-1.2px}
#pn-gate .ra-benefits{margin:36px 0 0;padding:0;list-style:none;color:#efdad4;font-size:13px;line-height:1.7}
#pn-gate .ra-benefits li{padding:13px 0;border-top:1px solid #fff0df26}
#pn-gate .pn-formside{padding:38px;background:#fffcf7}
#pn-gate .pn-form-wrap{max-width:380px;width:100%;min-width:0}
#pn-gate :is(input,.pn-social){background:#fff;color:#302620;border-color:#d9cfc3}
#pn-gate input{font-size:16px;min-height:50px}
#pn-gate input:focus{outline:0;box-shadow:0 0 0 3px #8e2e3e20;border-color:#8e2e3e}
#pn-gate .primary{background:#8e2e3e;color:white;min-height:50px;border-radius:11px}
#pn-gate :is(a,button):focus-visible{outline:3px solid #b26e35;outline-offset:3px}
#profile-sheet #login-form.ra-card{max-width:none!important;box-shadow:none!important;padding:20px!important}
#profile-sheet #login-form.ra-card .ra-brand{margin:-20px -20px 20px;padding:12px 24px 16px}
#profile-sheet .ra-logo{width:215px}
@media(max-width:760px){
  .ra-card{padding:24px!important;border-radius:22px!important}
  .ra-card .ra-brand{margin:-24px -24px 24px;padding:14px 24px 18px}
  .ra-logo{width:245px}
  #adminLoginGate .al-brand .ra-logo{width:245px}
  #pn-gate.ra-gate{padding:18px 14px}
  #pn-gate .ra-layout{grid-template-columns:1fr;max-width:460px;min-height:0}
  #pn-gate .pn-brand{padding:18px 26px 24px;display:block}
  #pn-gate .ra-logo{width:245px;margin:0 0 18px}
  #pn-gate .pn-brand-h{font-size:28px;letter-spacing:-.6px}
  #pn-gate .ra-benefits{display:none}
  #pn-gate .pn-formside{padding:28px 26px}
}
@media(prefers-reduced-motion:reduce){.ra-gate *{animation:none!important;transition:none!important}}
