:root{--navy:#0d1526;--ink:#111c2e;--muted:#5b6b81;--line:#dbe3ef;--accent:#2563eb;--bg:#f5f7fb}
  *{box-sizing:border-box}
  body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
  .wrap{max-width:760px;margin:0 auto;padding:34px 22px 60px}
  .brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
  .mark{width:42px;height:42px;border-radius:11px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
  h1{font-size:22px;margin:0}
  .sub{color:var(--muted);font-size:13.5px;margin-top:2px}
  .card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:18px}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .grid .full{grid-column:1/-1}
  label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
  input{width:100%;padding:11px 12px;border:1px solid #cfd8e6;border-radius:9px;font:14.5px inherit;background:#fff}
  input:focus{outline:2px solid #c7d9ff;border-color:var(--accent)}
  .hint{font-size:12.5px;color:var(--muted);margin-top:6px}
  button{margin-top:18px;width:100%;padding:12px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:600 15px inherit;cursor:pointer;
    transition:background .16s ease,box-shadow .16s ease,transform .06s ease}
  button:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 14px rgba(37,99,235,.28)}
  button:active:not(:disabled){transform:translateY(1px);box-shadow:none}
  button:disabled{opacity:.55;cursor:default}
  button.ghost{background:#eef3fb;color:#1d4ed8;width:auto;padding:8px 12px;margin:0;font-size:13px}
  button.ghost:hover:not(:disabled){background:#e0ebfd;box-shadow:none}
  .step{display:none}
  .step.on{display:block}
  .code-row{display:grid;grid-template-columns:1fr 130px;gap:12px;align-items:end;margin-top:16px}
  .code-row input{letter-spacing:5px;font-size:17px;text-align:center}
  .status{margin-top:14px;padding:11px 13px;border-radius:9px;font-size:13.5px;display:none}
  .status.on{display:block}
  .ok{background:#edf9f0;color:#166534;border:1px solid #c9ecd2}
  .warn{background:#fff7e8;color:#8a5a00;border:1px solid #f3e0b5}
  .err{background:#fdecec;color:#9b1c1c;border:1px solid #f6caca}
  a{color:var(--accent);text-decoration:none}
  .foot{margin-top:18px;font-size:13px;color:var(--muted)}
  .dev{font-size:12px;color:#8a5a00;background:#fffaf0;border:1px dashed #e8d2a1;border-radius:8px;padding:8px 10px;margin-top:10px;display:none}
  .dev.on{display:block}
  .consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#39465c;margin-top:18px;line-height:1.45}
  .consent input{width:auto;margin:2px 0 0}
