:root{
  --bg: #F5F3EF;        /* cream */
  --ink: #232323;       /* texto */
  --muted: #6f6c5d;     /* olive grisáceo para hints */
  --line: #ded7cc;      /* borde suave */
  --surface: #ffffff;   /* inputs */
  --chip: #E8D6C8;      /* nude */
  --primary: #FFC400;   /* acento amarillo de tus CTAs */
  --primary-ink: #1a1a1a;
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body.rw-auth-body{
  margin:0;
  background: var(--bg);
  color: var(--ink);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}

.rw-auth{
  width:min(540px, 92vw);
  margin: 48px auto;
  padding: 16px 0 64px;
}

.rw-auth__title{
  font-size: clamp(28px, 3.2vw, 38px);
  line-height:1.2;
  margin: 0 0 8px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.rw-auth__hint{
  margin: 0 0 20px;
  color: var(--muted);
}
.rw-auth__link{
  color: var(--ink);
  text-underline-offset: 2px;
}

.rw-social{ display:grid; gap:12px; margin:16px 0; }
.rw-btn{
  display:flex; align-items:center; justify-content:center;
  gap:10px; width:100%;
  border:1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  padding:14px 16px; border-radius:12px;
  font-weight:600; cursor:pointer;
}
.rw-btn:hover{ background:#faf9f7; }
.rw-btn--social .rw-ico{ width:22px; height:22px; display:grid; place-items:center; }
.rw-btn--social svg{ width:20px; height:20px; display:block; }
.rw-btn--google{ border-color:#e6e6e6; }
.rw-btn--facebook{ border-color:#d3dcff; }

.rw-sep{ display:flex; align-items:center; gap:16px; color:var(--muted); margin:16px 0; }
.rw-sep::before, .rw-sep::after{ content:""; height:1px; background:var(--line); flex:1; }
.rw-sep span{ display:inline-block; min-width:24px; text-align:center; }

.rw-field{ display:block; margin: 12px 0 6px; }
.rw-field > span{ display:block; font-size:14px; margin-bottom:6px; color:var(--muted); }
.rw-field input{
  width:100%; height:48px; border-radius:12px;
  border:1px solid var(--line); background:var(--surface);
  padding:0 14px; font-size:16px; color:var(--ink);
}
.rw-field input:focus{ outline:2px solid #d8cfc3; border-color:#d8cfc3; }

.rw-pass{ position:relative; }
.rw-eye{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  border:none; background:transparent; cursor:pointer; padding:6px;
  font-size:16px; opacity:.7;
}
.rw-eye:hover{ opacity:1; }

.rw-check{ display:flex; align-items:center; gap:8px; margin: 8px 0 18px; color:var(--ink); }
.rw-check input{ width:18px; height:18px; accent-color: var(--muted); }

.rw-btn--primary{
  background: var(--primary);
  border:1px solid #e5b700;
  color: var(--primary-ink);
  font-size:16px; padding:14px 18px;
}
.rw-btn--primary:hover{ filter: brightness(0.98); }

.rw-legal{ font-size:13px; color:var(--muted); margin:12px 2px 0; }
.rw-legal a{ color: var(--ink); text-underline-offset:2px; }

.rw-err{ color:#b74141; min-height:18px; display:block; margin-top:6px; }
.rw-ok{ color:#216e39; margin-top:10px; }
.hidden{ display:none; }

/* Responsive pequeño */
@media (max-width:420px){
  .rw-auth{ margin:24px auto 56px; }
}