* { box-sizing: border-box; }
body { margin: 0; font-family: "Nunito Sans", system-ui, sans-serif; background: #F4F6F9; color: #1C2333; }
header { background: #fff; text-align: center; padding: 22px 16px 14px; }
header img { width: 170px; height: auto; }
header p { margin: 6px 0 0; color: #5A6478; }
main { max-width: 560px; margin: 18px auto 30px; padding: 0 16px; }
.card { background: #fff; border-radius: 6px; padding: 22px 20px; box-shadow: 0 1px 4px rgba(20,30,60,.06); }
label { display: block; font-size: 14px; color: #333; margin: 14px 0 5px; }
label:first-child { margin-top: 0; }
input, textarea { width: 100%; font: inherit; font-size: 16px; padding: 10px 11px; border: 1px solid #CDD3DC; border-radius: 4px; background: #fff; }
textarea { min-height: 110px; resize: vertical; }
.help { font-size: 12.5px; color: #8A93A3; margin-top: 4px; }
button, .slot { font: inherit; font-weight: 700; border: 0; border-radius: 4px; cursor: pointer; }
button[type=submit] { width: 100%; margin-top: 20px; background: #1F5FD6; color: #fff; padding: 13px; font-size: 16px; }
button[disabled] { opacity: .6; cursor: wait; }
.error { background: #FDECEC; color: #9B1C1C; padding: 10px 12px; border-radius: 4px; margin-bottom: 14px; font-size: 14px; }
.ok { font-size: 18px; text-align: center; padding: 20px 0; }
footer { text-align: center; font-size: 12px; color: #9AA2B1; padding: 0 16px 28px; }
h2 { font-size: 18px; margin: 0 0 4px; }
.day { margin-top: 16px; font-weight: 700; font-size: 14px; color: #5A6478; }
.slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 6px; }
.slot { background: #EEF4FF; color: #1F5FD6; padding: 12px 0; font-size: 15px; }
.slot:hover { background: #1F5FD6; color: #fff; }
.again { display: inline-block; margin-top: 18px; padding: 11px 18px; border-radius: 4px; background: #EEF4FF; color: #1F5FD6; font-weight: 700; font-size: 15px; text-decoration: none; }
