:root{--bg:#f4f5f7;--card:#fff;--text:#1d2330;--muted:#667085;--border:#d0d5dd;--accent:#2457d6;--ok-bg:#e7f6ec;--ok-text:#146c2e;--err-bg:#fdecec;--err-text:#a4161a;color:var(--text);font-family:system-ui,Segoe UI,sans-serif}body{background:var(--bg);margin:0;padding:40px 16px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;max-width:520px;margin:0 auto;padding:28px}h1{margin:0 0 20px;font-size:1.4rem}form{gap:14px;display:grid}label{gap:4px;font-size:.9rem;font-weight:600;display:grid}input{font:inherit;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-weight:400}.req{color:var(--err-text)}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-self:start;padding:9px 16px}button:disabled{opacity:.55;cursor:default}.muted{color:var(--muted)}.banner{border-left:5px solid;border-radius:6px;margin:16px 0 0;padding:14px 16px}.banner p{margin:0 0 6px}.banner p:last-child{margin-bottom:0}.banner .title{font-size:1.05rem;font-weight:700}.banner button{margin-top:10px}.success{background:var(--ok-bg);color:var(--ok-text)}.error{background:var(--err-bg);color:var(--err-text)}
