:root{
  --bg:#fff0f6; --card:#ffffff; --text:#1f2937; --muted:#6b7280;
  --pink:#d63384; --border:#f3c6da;
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial; color:var(--text); }
.wrap{ min-height:100vh; display:flex; align-items:flex-start; justify-content:center; padding:28px 14px; }
.card{ width:min(720px, 100%); background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px; }
.h1{ color:var(--pink); font-weight:800; font-size:22px; margin:0 0 6px; }
.sub{ color:var(--muted); font-size:13px; margin:0 0 14px; }
.row{ margin:12px 0; }
label{ display:block; font-size:13px; color:var(--muted); margin-bottom:6px; }
input[type="text"], select{
  width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; outline:none;
}
input:focus, select:focus{ border-color:var(--pink); box-shadow:0 0 0 3px rgba(214,51,132,.12); }
.radio-line{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.radio-line label{ display:flex; gap:8px; align-items:center; margin:0; color:var(--text); font-size:14px; }
.btn{ background:var(--pink); border:none; color:white; padding:10px 14px; border-radius:10px; font-weight:800; cursor:pointer; }
.btn2{ background:white; border:1px solid var(--border); color:var(--pink); padding:10px 14px; border-radius:10px; font-weight:800; cursor:pointer; }
.err{ background:#fff5f5; border:1px solid #fecaca; color:#991b1b; padding:10px 12px; border-radius:10px; margin:12px 0; }
.ok{ background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; padding:10px 12px; border-radius:10px; margin:12px 0; }
.hr{ height:1px; background:var(--border); margin:14px 0; }
.brand{ display:flex; gap:10px; align-items:center; margin-bottom:12px; }
.logo{ width:34px; height:34px; object-fit:contain; }
pre{ white-space:pre-wrap; margin:0; }
.mono{ font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }
.actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
