/* Event Signup — front-end styles */
.mts-wrap { max-width: 700px; }
.mts-date-card { border:1px solid #ddd; border-radius:8px; padding:16px 18px; margin-bottom:18px; background:#fff; }
.mts-date { font-weight:700; font-size:17px; }
.mts-notes { color:#666; font-size:13px; margin:2px 0 12px; }

.mts-slot-summary { margin-bottom:14px; }
.mts-type-separator { display:flex; align-items:center; text-align:center; margin:14px 0 6px; }
.mts-type-separator:first-child { margin-top:0; }
.mts-type-separator::before, .mts-type-separator::after { content:''; flex:1; border-bottom:1px solid #d5d5d5; }
.mts-type-separator span { padding:0 10px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:#2271b1; white-space:nowrap; }
.mts-summary-row { display:flex; justify-content:space-between; align-items:center; padding:6px 10px; border-bottom:1px solid #eee; font-size:13px; }
.mts-summary-row:last-child { border-bottom:none; }
.mts-summary-row.mts-filled .mts-summary-status { color:#2e7d32; }
.mts-summary-label { font-weight:600; }
.mts-summary-status { color:#2271b1; }
.mts-summary-row.mts-filled .mts-summary-label { color:#888; }

.mts-actions { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:4px; }
.mts-open-meal-btn, .mts-open-volunteer-btn {
	background:#2271b1; color:#fff; border:none; padding:9px 16px; border-radius:4px; cursor:pointer; font-size:14px;
}
.mts-open-meal-btn:hover, .mts-open-volunteer-btn:hover { background:#135e96; }
.mts-open-meal-btn:disabled, .mts-open-volunteer-btn:disabled { background:#c3c4c7; color:#7f7f7f; cursor:not-allowed; }

.mts-form-panel { border:1px solid #e5e5e5; border-radius:6px; padding:16px; margin-top:10px; background:#fafafa; }
.mts-form-panel label { display:block; font-size:13px; font-weight:600; margin-bottom:10px; }
.mts-form-panel input[type=text], .mts-form-panel input[type=email], .mts-form-panel select {
	width:100%; max-width:400px; padding:6px 8px; margin-top:4px; box-sizing:border-box;
}
.mts-registrant-type { display:flex; gap:4px; align-items:center; }
.mts-registrant-type label { display:inline-flex; align-items:center; gap:4px; font-weight:500; margin-bottom:0; }
.mts-registrant-type input[type=radio] { width:auto; margin:0; }
.mts-parent-fields, .mts-company-fields { border-top:1px dashed #ddd; padding-top:10px; margin-top:6px; }
.mts-submit-btn { background:#2271b1; color:#fff; border:none; padding:8px 16px; border-radius:4px; cursor:pointer; }
.mts-cancel-btn { background:#fff; border:1px solid #ccc; padding:8px 16px; border-radius:4px; cursor:pointer; margin-left:6px; }
.mts-form-msg.mts-error { color:#b32d2e; }
.mts-form-msg.mts-success { color:#2e7d32; }
.mts-empty { font-style:italic; color:#666; }

.mts-subscribe-box { max-width:700px; margin-top:24px; padding:18px 20px; background:#f0f6fb; border:1px solid #c9e0f0; border-radius:8px; }
.mts-subscribe-heading { font-weight:700; font-size:16px; margin-bottom:4px; }
.mts-subscribe-copy { color:#555; font-size:13px; margin:0 0 12px; }
.mts-subscribe-fields { display:flex; flex-wrap:wrap; gap:0 16px; }
.mts-subscribe-fields p { flex:1 1 200px; margin:0 0 10px; }
.mts-subscribe-fields label { display:block; font-size:13px; font-weight:600; }
.mts-subscribe-fields input[type=text], .mts-subscribe-fields input[type=email] { width:100%; padding:6px 8px; margin-top:4px; box-sizing:border-box; }
.mts-subscribe-btn { background:#2271b1; color:#fff; border:none; padding:8px 18px; border-radius:4px; cursor:pointer; font-size:14px; }
.mts-subscribe-btn:hover { background:#135e96; }
.mts-subscribe-msg.mts-error { color:#b32d2e; }
.mts-subscribe-msg.mts-success { color:#2e7d32; font-weight:600; }
