/* ===== TEMPLO · login / alta / onboarding / bloqueo ===== */
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px 18px;background:var(--bg)}
.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 22px 24px;box-shadow:0 18px 50px rgba(0,0,0,.07)}
.auth-logo{width:min(62%,220px);height:auto;display:block;margin:0 auto 20px}
.auth-title{font-family:var(--display);text-transform:uppercase;font-size:clamp(22px,5.6vw,30px);line-height:1;margin:0 0 6px;text-align:center}
.auth-note{font-size:12.5px;color:var(--muted);line-height:1.5;text-align:center;margin:10px 0 0}
.auth-err{background:#fdecec;border:1px solid rgba(200,40,40,.28);color:#a11;border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:700;margin:10px 0 4px;text-align:center}
.auth-badge{display:block;width:fit-content;margin:0 auto 14px;background:#eefaf2;border:1px solid rgba(26,162,87,.35);color:#0d6b38;border-radius:99px;padding:5px 12px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}

/* onboarding */
.onb-bar{display:flex;gap:6px;margin:0 0 18px}
.onb-bar span{flex:1;height:4px;border-radius:99px;background:var(--line2)}
.onb-bar span.on{background:var(--gold)}
.onb-opts{display:grid;gap:8px}
.onb-opt{width:100%;text-align:left;border:1px solid var(--line2);background:var(--bg2);border-radius:14px;padding:14px 16px;font-weight:800;font-size:14.5px;color:var(--ink)}
.onb-opt.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.onb-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* calendario del onboarding */
.cal{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--bg2)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:900}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-dow{margin-bottom:4px}
.cal-dow div{text-align:center;font-size:9.5px;font-weight:900;color:var(--muted);letter-spacing:.06em}
.cal-d{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:13px;font-weight:800;background:#fff;border:1px solid var(--line);color:var(--ink)}
.cal-d.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.cal-d.dim{opacity:.28}

/* bloqueo por membresía: sin salida */
.lock-screen{position:fixed;inset:0;z-index:400;background:rgba(10,9,6,.94);display:grid;place-items:center;padding:24px 18px;backdrop-filter:blur(6px)}
.lock-card{width:100%;max-width:400px;background:#fff;border-radius:22px;padding:28px 22px;text-align:center}
.lock-icon{font-size:34px;margin:2px 0 8px}
.lock-due{font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#a11;background:#fdecec;border-radius:99px;padding:5px 12px;width:fit-content;margin:6px auto 0}

.auth-link{color:var(--ink);font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.auth-link:active{opacity:.6}
.auth-warn{background:#fff8e1;border:1px solid var(--gold);border-radius:12px;padding:11px 12px;font-size:12px;font-weight:700;color:#6b5200;margin:0 0 14px;text-align:left;line-height:1.5}

.auth-ok{background:#eefaf2;border:1px solid rgba(26,162,87,.3);color:#0d6b38;border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:800;margin:0 0 4px;text-align:center}

/* ===== Selector de país + WhatsApp ===== */
.phone-row{display:flex;gap:8px;align-items:stretch}
.cc-btn{display:flex;align-items:center;gap:6px;background:#fff;border:1.5px solid #e6e0d4;
  border-radius:12px;padding:0 12px;height:52px;cursor:pointer;font-size:15px;font-weight:700;
  color:#141108;white-space:nowrap;flex:none}
.cc-btn:active{background:#faf8f3}
.cc-flag{font-size:19px;line-height:1}
.cc-dial{font-variant-numeric:tabular-nums}
.cc-caret{font-size:11px;color:#9a948a;margin-left:1px}
.phone-input{flex:1;min-width:0}
.cc-menu{margin-top:8px;background:#fff;border:1.5px solid #e6e0d4;border-radius:12px;
  overflow:hidden;max-height:230px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.cc-item{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;
  border-bottom:1px solid #f1ece1;padding:12px 14px;cursor:pointer;font-size:14px;text-align:left}
.cc-item:last-child{border-bottom:0}
.cc-item:active{background:#faf8f3}
.cc-item.on{background:#fbf4e2}
.cc-item .cc-name{flex:1;font-weight:600;color:#141108}
.cc-item .cc-dial{color:#7d786d;font-weight:700}
