  [hidden]{display:none!important}
  .seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:4px;margin:0 0 18px}
  .seg button{background:transparent;border:0;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;line-height:1.25;padding:9px 4px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
  .seg button svg{width:18px;height:18px}
  .seg button.on{background:var(--surface);color:var(--green);box-shadow:0 0 0 1px var(--line)}
  .hint{font-size:12.5px;color:var(--muted);margin:-8px 0 14px;line-height:1.5}
  .otp{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:6px 0 14px}
  .otp input{height:52px;text-align:center;font-size:22px;font-weight:700;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;color:var(--text);width:100%;min-width:0}
  .otp input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow)}
  .linkbtn{background:none;border:0;padding:0;color:var(--green);font:inherit;font-size:13.5px;cursor:pointer}
  .linkbtn:disabled{color:var(--faint);cursor:default}
  .msg{border-radius:10px;padding:10px 12px;font-size:13.5px;margin:0 0 14px;line-height:1.45}
  .msg.err{background:rgba(247,86,110,.08);border:1px solid rgba(247,86,110,.35);color:#ff9aa9}
  .msg.warn{background:rgba(255,190,60,.08);border:1px solid rgba(255,190,60,.35);color:#ffd27a}
  .msg.ok{background:rgba(0,255,0,.07);border:1px solid rgba(0,255,0,.25);color:#9dff9d}
