*{box-sizing:border-box}
body{margin:0;background:#f4f6f8;color:#1f2937;font-family:Arial,sans-serif}
.container{max-width:920px;margin:0 auto;padding:24px}
.card{background:#fff;border-radius:16px;padding:24px;margin:16px 0;box-shadow:0 8px 24px rgba(0,0,0,.06)}
h1,h2{margin-top:0}
label{display:block;margin:12px 0}
input[type=text],input[type=email],input[type=number]{width:100%;padding:11px;border:1px solid #cfd6df;border-radius:9px}
.option{display:block;padding:12px;border:1px solid #e1e6eb;border-radius:10px;margin:8px 0}
.btn{display:inline-block;background:#2563eb;color:#fff;padding:12px 18px;border:0;border-radius:10px;text-decoration:none;cursor:pointer}
.btn.secondary{background:#475569}
.notice{background:#fff7d6;padding:12px 14px;border-radius:10px}
.error{background:#fee2e2;color:#991b1b;padding:12px 14px;border-radius:10px}
.success{background:#dcfce7;color:#166534;padding:12px 14px;border-radius:10px}
table{width:100%;border-collapse:collapse}
th,td{border:1px solid #d8dee6;padding:10px;text-align:left;vertical-align:top}
small{color:#64748b}
.progress{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.progress>span{display:block;height:100%;background:#2563eb}

/* Big update: privacy consent */
.consent-box{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc;line-height:1.45}
.consent-box input{width:auto;margin-top:4px;flex:0 0 auto}
.consent-box a{font-weight:600;text-decoration:underline}
