:root{--orange:#e8590c;--dark:#1f2937;--gray:#6b7280;--bg:#f3f4f6;--ok:#16a34a;--bad:#dc2626}
*{box-sizing:border-box;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body{background:var(--bg);color:var(--dark)}
.wrap{max-width:640px;margin:0 auto;padding:24px 16px}
.card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 1px 4px rgba(0,0,0,.08);margin-bottom:16px}
h1{font-size:20px;margin-bottom:6px}
h2{font-size:16px;margin-bottom:14px}
.sub{color:var(--gray);font-size:13.5px;margin-bottom:18px;line-height:1.5}
.progress{height:6px;background:#e5e7eb;border-radius:99px;margin-bottom:22px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--orange);border-radius:99px;transition:width .3s}
.opt{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;
  border:2px solid #e5e7eb;border-radius:10px;padding:14px;margin-bottom:10px;background:#fff;
  cursor:pointer;font-size:15px}
.opt:hover{border-color:var(--orange)}
.opt small{display:block;color:var(--gray);font-size:12.5px;margin-top:2px}
.opt .arr{color:var(--orange);font-weight:700}
label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
input,select{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px}
input:focus{outline:none;border-color:var(--orange)}
.btn{display:inline-block;width:100%;padding:14px;border:0;border-radius:10px;font-size:16px;
  font-weight:700;cursor:pointer;margin-top:16px}
.btn-o{background:var(--orange);color:#fff}
.btn-g{background:#e5e7eb;color:var(--dark)}
.btn-r{background:#fee2e2;color:var(--bad)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.back{background:none;border:0;color:var(--gray);cursor:pointer;font-size:13px;margin-bottom:12px}
.slot{display:flex;justify-content:space-between;align-items:center;border:2px solid #e5e7eb;
  border-radius:10px;padding:13px;margin-bottom:9px;cursor:pointer;font-size:14.5px}
.slot:hover,.slot.sel{border-color:var(--orange);background:#fff7f2}
.slot small{color:var(--gray);display:block;font-size:12px}
.badge{display:inline-block;background:#dcfce7;color:var(--ok);border-radius:99px;padding:2px 10px;font-size:12px;font-weight:600}
.err{color:var(--bad);font-size:13px;margin-top:8px}
.recap{background:#f8fafc;border-radius:10px;padding:14px;font-size:14px;line-height:1.7;margin-bottom:8px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--gray);margin-top:14px;line-height:1.5}
.consent input{width:auto;margin-top:2px}
.footer{text-align:center;color:var(--gray);font-size:12px;padding:20px}
.spin{text-align:center;padding:30px;color:var(--gray)}
.demo{background:#fef3c7;color:#92400e;font-size:12px;border-radius:8px;padding:8px 12px;margin-bottom:14px}
