/* Entrada (login / registro): línea Pizarra + lima, igual que la página de inicio. */
:root{--bg:#ffffff;--bg2:#eef2f6;--card:#ffffff;--text:#1c2b3a;--muted:#5c6c7c;--line:rgba(28,43,58,.14);--lime:#b7ef4c;--ink:#1c2b3a;--field:#f4f7fa;--err-bg:#fde8ec;--err:#8a1c2e;--glow:rgba(183,239,76,.28)}
@media (prefers-color-scheme:dark){:root:not([data-modo="claro"]){--bg:#111b26;--bg2:#192634;--card:#1f2f40;--text:#eef2f6;--muted:#93a4b5;--line:rgba(238,242,246,.14);--ink:#eef2f6;--field:#17232f;--err-bg:#4b1e29;--err:#fecdd3;--glow:rgba(183,239,76,.12)}}
:root[data-modo="oscuro"]{--bg:#111b26;--bg2:#192634;--card:#1f2f40;--text:#eef2f6;--muted:#93a4b5;--line:rgba(238,242,246,.14);--ink:#eef2f6;--field:#17232f;--err-bg:#4b1e29;--err:#fecdd3;--glow:rgba(183,239,76,.12)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(900px 420px at 85% -10%,var(--glow),transparent 60%),var(--bg);color:var(--text);font:16px/1.45 ui-rounded,"SF Pro Rounded","Nunito","Avenir Next Rounded","Quicksand","Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:440px;margin:0 auto;padding:28px 16px 48px}
.wrap.wide{max-width:560px}
.brand{display:flex;align-items:center;justify-content:space-between;margin:6px 0 22px}
.brand a{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:800;letter-spacing:-.03em;font-size:20px}
.brand .lg-dog{width:46px;height:46px;border-radius:13px;display:block}.brand .lg-word{font-weight:800;font-size:26px;letter-spacing:-.04em}
.lg-d{display:none}.lg-l{display:block}
@media (prefers-color-scheme:dark){:root:not([data-modo="claro"]) .lg-l{display:none}:root:not([data-modo="claro"]) .lg-d{display:block}}
:root[data-modo="oscuro"] .lg-l{display:none}:root[data-modo="oscuro"] .lg-d{display:block}

.brand .back{font-weight:600;font-size:14px;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:28px 24px;box-shadow:0 24px 60px rgba(17,27,38,.14)}
h1{margin:0 0 4px;font-size:30px;letter-spacing:-.035em;line-height:1.1}
.sub{margin:0 0 8px;color:var(--muted);font-size:15px}
label{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:13px;font-weight:600;color:var(--muted)}
input,select{background:var(--field);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:13px 14px;font:inherit;font-size:16px;outline:none;width:100%}
input:focus,select:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(183,239,76,.25)}
button{margin-top:22px;width:100%;background:var(--lime);color:#10200f;border:0;border-radius:16px;padding:15px;font:inherit;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 12px 28px rgba(183,239,76,.28)}
button:hover{filter:brightness(1.05)}
.errors{background:var(--err-bg);color:var(--err);padding:12px 14px;border-radius:14px;margin:14px 0 0;font-size:14px}
.links{text-align:center;margin-top:20px;color:var(--muted);font-size:14px}
.links a{color:var(--text);font-weight:700;text-decoration-color:var(--lime);text-underline-offset:3px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px}
.full{grid-column:1/-1}
@media (max-width:560px){.grid{grid-template-columns:1fr}}
