:root{--radius:14px;--gap:14px;--max:380px}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:#fff;color:#111;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.shell{min-height:100dvh;display:grid;place-items:center;padding:24px}
.card{width:100%;max-width:var(--max);display:grid;gap:var(--gap);padding:28px;border:1px solid #e8e8e8;border-radius:var(--radius);box-shadow:0 8px 30px rgba(0,0,0,.04)}
h1{margin:0 0 6px;font-size:1.3rem;font-weight:600}
label{font-size:.9rem;color:#333}
input{width:100%;padding:12px 14px;border:1px solid #dcdcdc;border-radius:10px;outline:none;transition:border .15s ease}
input:focus{border-color:#8aa7ff;box-shadow:0 0 0 3px rgba(138,167,255,.25)}
button{margin-top:8px;padding:12px 14px;border:0;border-radius:10px;background:#111;color:#fff;font-weight:600;cursor:pointer}
button[disabled]{opacity:.6;cursor:not-allowed}
.error{min-height:1.2em;margin:0;color:#c00}

.note{color:#d00;font-weight:500;font-size:.9rem;margin-bottom:8px;}
.note a{color:#0077cc;text-decoration:none}
.note a:hover{text-decoration:underline}
