/* Profesor Particular .IO — teacher onboarding pages
 * /completar-perfil/ and /aprobar-perfil/ (shared, so neither page carries
 * its own copy). Mobile first: base = phone, wider screens only centre the
 * card. Spacing on the --ds-space scale from site-chrome.css. */
/* Brand v7 (CLAUDE.md F2b): navy ink, sky, highlighter; no red, so errors
   are navy on a highlighter tint */
:root{--ob-blue:#0f172a;--ob-sky:#bfdbfe;--ob-navy:#0b1f5c;--ob-deep:#1e40af;--ob-ink:#0f172a;--ob-ink-2:#334155;--ob-ink-3:#475569;--ob-line:#e2e8f0;--ob-bg:#f1f5f9;--ob-err:#0f172a;--ob-err-bg:#fff3a6;}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--ob-bg);color:var(--ob-ink);font:16px/1.55 'Schibsted Grotesk',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.ob{max-width:560px;margin:0 auto;padding:var(--ds-space-05,1rem)}
.ob-logo{display:flex;align-items:center;gap:var(--ds-space-03,.5rem);min-height:44px;font-weight:600;letter-spacing:-.02em;color:var(--ob-ink);text-decoration:none;margin-bottom:var(--ds-space-05,1rem)}
.ob-logo i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ob-blue);color:#fff;font-style:normal;font-size:14px}
.ob-logo b{color:var(--ob-blue)}
.ob-card{background:#fff;border-radius:16px;padding:var(--ds-space-06,1.5rem) var(--ds-space-05,1rem)}
.ob-card+.ob-card{margin-top:var(--ds-space-04,.75rem)}
.ob h1{font-size:28px;line-height:1.1;font-weight:600;letter-spacing:-.04em;margin-bottom:var(--ds-space-03,.5rem)}
.ob-lede{color:var(--ob-ink-2);margin-bottom:var(--ds-space-05,1rem)}
.ob-field{margin-bottom:var(--ds-space-05,1rem)}
.ob-field[hidden]{display:none}
.ob label{display:block;font-weight:600;margin-bottom:var(--ds-space-02,.25rem)}
.ob-help{font-size:14px;color:var(--ob-ink-3);margin-bottom:var(--ds-space-03,.5rem)}
.ob input[type=text],.ob input[type=tel],.ob input[type=url],.ob input[type=email],.ob select,.ob textarea{width:100%;min-height:48px;padding:var(--ds-space-03,.5rem) var(--ds-space-04,.75rem);border:1.5px solid var(--ob-line);border-radius:10px;font:inherit;color:inherit;background:#fff}
.ob textarea{min-height:140px;resize:vertical}
.ob input:focus,.ob select:focus,.ob textarea:focus{outline:2px solid var(--ob-blue);outline-offset:1px;border-color:var(--ob-blue)}
.ob-count{font-size:13px;color:var(--ob-ink-3);text-align:right;margin-top:var(--ds-space-02,.25rem)}
.ob .ob-check{display:flex;gap:var(--ds-space-04,.75rem);align-items:flex-start;min-height:44px;cursor:pointer;font-weight:600}
.ob .ob-check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--ob-blue)}
.ob-consent{border:0;display:grid;gap:var(--ds-space-04,.75rem)}
/* The optional stats opt-in sits apart from the two required statements */
.ob-stats{margin-top:var(--ds-space-05,1rem);padding-top:var(--ds-space-05,1rem);border-top:1px solid var(--ob-line)}
.ob-stats legend{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ob-ink-3);margin-bottom:var(--ds-space-03,.5rem)}
.ob-stats .ob-check{font-weight:400;color:var(--ob-ink-2)}
.ob-stats-note{font-size:14px;color:var(--ob-ink-3)}
.ob-stats-note a{color:inherit}
.ob-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ob-band{background:var(--ob-sky);border-radius:16px;padding:var(--ds-space-06,1.5rem) var(--ds-space-05,1rem);margin-top:var(--ds-space-04,.75rem)}
.ob-band h2{font-size:22px;line-height:1.15;font-weight:600;letter-spacing:-.03em;color:var(--ob-navy);margin-bottom:var(--ds-space-02,.25rem)}
.ob-band p{color:var(--ob-deep);margin-bottom:var(--ds-space-05,1rem)}
.ob-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:0;border-radius:10px;background:var(--ob-ink);color:#fff;font-family:inherit;font-size:16px;font-weight:600;line-height:1;cursor:pointer}
.ob-btn:disabled{opacity:.5;cursor:not-allowed}
.ob-msg{border-radius:12px;padding:var(--ds-space-04,.75rem) var(--ds-space-05,1rem);margin-top:var(--ds-space-04,.75rem);font-weight:600}
.ob-msg[hidden]{display:none}
.ob-msg.err{background:var(--ob-err-bg);color:var(--ob-err)}
.ob-msg.ok{background:#f1f5f9;color:#0f172a}
.ob-foot{font-size:13px;color:var(--ob-ink-3);padding:var(--ds-space-05,1rem) var(--ds-space-02,.25rem)}
.ob-foot a{color:var(--ob-ink-2)}
@media (min-width:600px){.ob{padding:var(--ds-space-07,2rem) var(--ds-space-05,1rem)}.ob-card,.ob-band{padding:var(--ds-space-07,2rem)}.ob h1{font-size:34px}.ob-btn{width:auto;padding:0 var(--ds-space-06,1.5rem)}}
