/* Pantallas de cuenta sin sesión: login/registro, recuperar, restablecer y verificar correo. */
:root{--bg:#f6f8fc;--white:#fff;--text:#172033;--muted:#667085;--green:#00c853;--green2:#caffb8;--border:#dbe1ec;--red:#ff3340;--red-text:#c8102e;--shadow:0 5px 16px rgba(30,50,80,.07)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(135deg,#fff4dc 0%,#f6f8fc 45%,#f3ffe9 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;display:flex;align-items:center;justify-content:center;padding:24px 16px}
[hidden]{display:none!important}
.card{width:100%;max-width:410px;background:var(--white);border:1px solid var(--border);border-radius:22px;box-shadow:0 18px 40px rgba(30,50,80,.10);padding:30px 28px}
.logo{display:flex;justify-content:center;margin:0 0 22px}
.logo .logo-img{display:block;width:260px;max-width:100%;height:auto}
h1{font-size:21px;letter-spacing:-.5px;margin:0 0 6px;text-align:center}
.lead{color:var(--muted);font-size:13.5px;line-height:1.55;text-align:center;margin:0 0 20px}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef2f7;border-radius:28px;padding:4px;margin-bottom:22px}
.tabs button{border:0;background:transparent;padding:10px;border-radius:24px;font-weight:700;font-size:13px;color:#536174;cursor:pointer}
.tabs button.active{background:var(--white);color:#007f35;box-shadow:0 2px 6px rgba(30,50,80,.08)}
form{display:flex;flex-direction:column;gap:14px}
label{font-size:12px;font-weight:700;color:#334155;display:flex;flex-direction:column;gap:6px}
input{border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;font-size:16px;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s}
input:focus{border-color:var(--green)}
input:focus-visible{outline:2px solid #007f35;outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hint{font-weight:500;color:var(--muted);font-size:11px}
.btn{border:0;background:#008939;color:#fff;border-radius:25px;padding:13px 22px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);margin-top:4px;text-align:center;text-decoration:none;display:block;font-family:inherit}
.btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:#fff;color:#334155;border:1.5px solid var(--border);box-shadow:none}
.error{color:var(--red-text);font-size:12px;font-weight:600;min-height:16px;margin:0}
.row-end{display:flex;justify-content:flex-end;margin-top:-6px}
.small-link{font-size:12px;font-weight:700;color:#007f35;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.small-link:hover{text-decoration:underline}
/* Avisos */
.notice{border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.55;margin:0}
.notice.ok{background:#efffe9;border:1px solid #c9f2c0;color:#0b5d2a}
.notice.info{background:#f3f6fa;border:1px solid var(--border);color:#334155}
.notice.warn{background:#fff8e6;border:1px solid #ffe2a3;color:#7a5200}
.notice .small-link{display:inline-block;margin-top:6px}
.panel{display:flex;flex-direction:column;gap:14px;text-align:center}
.panel .big{font-size:44px;line-height:1}
.panel h2,.panel h1{font-size:19px;margin:0}
.panel p{margin:0;color:#475569;font-size:13.5px;line-height:1.6}
.foot{text-align:center;margin-top:18px;font-size:12px;color:var(--muted)}
.foot a{color:#007f35;font-weight:700;text-decoration:none}
.terms{text-align:center;font-size:11.5px;color:var(--muted);margin:2px 0 0}
.terms a{color:#007f35;font-weight:700;text-decoration:none}
.terms a:hover{text-decoration:underline}
