.stack-form fieldset{min-width:0;margin:0;padding:18px;border:1px solid #ddd4e7;border-radius:14px}
.stack-form fieldset legend{padding:0 7px;color:#44374f;font-weight:700}
.stack-form select{box-sizing:border-box;width:100%;min-height:48px;padding:10px 12px;border:1px solid #c9bfda;border-radius:10px;background:#fff;color:#252133;font:inherit}
.stack-form textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #c9bfda;border-radius:10px;background:#fff;color:#252133;font:inherit}
.stack-form label.check{display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.stack-form label.check input{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0}
.stack-form details{padding:12px;border:1px solid #e6deed;border-radius:12px}
.stack-form details summary{cursor:pointer;font-weight:700}

.birth-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.birth-calendar label{position:relative;display:block}.birth-calendar input{position:absolute;opacity:0;width:1px;height:1px}.birth-calendar span{display:flex;justify-content:center;align-items:center;min-height:48px;padding:6px;border:1px solid #c9bfda;border-radius:10px;background:#fff;font-weight:700;text-align:center}.birth-calendar input:checked+span{border:2px solid #6d4489;background:#f0e7f6;color:#4c2366}.birth-calendar input:focus-visible+span{outline:3px solid #9165aa}.birth-date-grid,.birth-time-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.birth-time-grid{grid-template-columns:1fr 1fr}.birth-date-grid label,.birth-time-grid label{min-width:0}.birth-date-grid input,.birth-time-grid input{box-sizing:border-box;width:100%;min-width:0;min-height:48px}
