.cda-wrap{max-width:1100px;margin:30px auto;font-family:inherit;color:#222}
.cda-card,.cda-participants{background:#fff;border:1px solid #eee;border-radius:22px;box-shadow:0 12px 35px rgba(0,0,0,.06);overflow:hidden}
.cda-header{text-align:center;padding:38px 24px 24px}
.cda-kicker{font-size:12px;letter-spacing:3px;font-weight:800;opacity:.65}
.cda-header h2,.cda-participants-header h2{margin:8px 0;font-size:34px;line-height:1.15}
.cda-header p,.cda-participants-header p{margin:8px auto;max-width:650px;opacity:.7}
.cda-legend{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:20px;font-size:13px}
.cda-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;border:1px solid #ccc}
.cda-dot.available{background:#d32f2f;border-color:#d32f2f}.cda-dot.occupied{background:#ddd}.cda-dot.selected{background:#222}
.cda-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #eee;border-bottom:1px solid #eee}
.cda-stats div{text-align:center;padding:18px 10px}
.cda-stats div+div{border-left:1px solid #eee}
.cda-stats strong{display:block;font-size:25px}.cda-stats span{font-size:12px;opacity:.65}
.cda-number-area{padding:28px 24px}
.cda-number-area h3{text-align:center;margin:0 0 20px}
.cda-numbers{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;max-height:430px;overflow:auto;padding:3px}
.cda-number{border:1px solid #ddd;background:#fff;border-radius:8px;padding:9px 3px;font-size:12px;cursor:pointer;transition:.15s}
.cda-number.is-available{background:#d32f2f;color:#fff;border-color:#d32f2f}.cda-number.is-available:hover{transform:translateY(-2px);background:#b71c1c;border-color:#b71c1c}
.cda-number.is-selected{background:#222;color:#fff;border-color:#222}
.cda-number.is-occupied{background:#eee;color:#aaa;border-color:#eee;cursor:not-allowed}
.cda-selected{margin:0 24px 20px;padding:14px 18px;background:#f6f6f6;border-radius:12px;text-align:center}
.cda-form{padding:0 24px 30px}
.cda-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cda-field label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}
.cda-field input,.cda-field select{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:12px 13px;background:#fff}
.cda-consent{display:flex;gap:9px;align-items:flex-start;margin:18px 0;font-size:13px;line-height:1.4}
.cda-consent input{margin-top:3px}
.cda-submit{width:100%;border:0;border-radius:12px;padding:14px 18px;background:#222;color:#fff;font-weight:800;cursor:pointer}
.cda-submit:disabled{opacity:.55;cursor:wait}
.cda-message{margin-top:12px;text-align:center;font-size:14px}.cda-message.is-error{color:#b42318}
.cda-success{text-align:center;padding:35px 20px 45px}.cda-success-icon{font-size:45px}.cda-success h3{font-size:28px;margin:8px 0}.cda-success p{opacity:.7}
.cda-final-number{font-size:64px;font-weight:900;letter-spacing:4px;margin:10px 0}
.cda-participants{margin-top:25px}.cda-participants-header{text-align:center;padding:30px 24px 20px}
.cda-columns{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #eee}
.cda-columns section{padding:24px}.cda-columns section+section{border-left:1px solid #eee}
.cda-columns h3{display:flex;justify-content:space-between;margin:0 0 12px}.cda-columns h3 span{font-size:12px;background:#f2f2f2;border-radius:20px;padding:4px 9px}
.cda-list{display:flex;flex-direction:column;gap:8px}.cda-person{display:flex;justify-content:space-between;gap:15px;padding:11px 13px;border:1px solid #eee;border-radius:10px}.cda-person span{opacity:.6;font-size:13px}.cda-empty{opacity:.6}
@media(max-width:700px){.cda-header h2,.cda-participants-header h2{font-size:28px}.cda-numbers{grid-template-columns:repeat(5,minmax(0,1fr));max-height:360px}.cda-grid,.cda-columns{grid-template-columns:1fr}.cda-columns section+section{border-left:0;border-top:1px solid #eee}.cda-stats{grid-template-columns:repeat(3,1fr)}}

.cda-gender-counters{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #eee}
.cda-gender-counter{text-align:center;padding:32px 20px}
.cda-gender-counter+.cda-gender-counter{border-left:1px solid #eee}
.cda-gender-counter strong{display:block;font-size:42px;line-height:1.1;margin:6px 0}
.cda-gender-counter span{opacity:.65}
.cda-gender-counter .cda-gender-label{display:block;font-size:18px;font-weight:800;opacity:1}
@media(max-width:700px){.cda-gender-counters{grid-template-columns:1fr}.cda-gender-counter+.cda-gender-counter{border-left:0;border-top:1px solid #eee}}
