.booking-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 10px;flex-wrap:wrap}.booking-heading label,.booking-heading .field-label{margin:0}.date-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.date-option,.slot{font:inherit;cursor:pointer;border:1px solid #c7d8d7;border-radius:8px;background:#fff;color:var(--ink);padding:10px 6px}.date-option span{display:block;font-size:12px}.date-option strong{display:block;font-size:21px}.date-option[aria-pressed=true],.slot[aria-pressed=true]{color:#fff;background:var(--teal);border-color:var(--teal)}.date-option:focus-visible,.slot:focus-visible,.text-button:focus-visible{outline:3px solid #94d8ce;outline-offset:2px}.other-date{font-size:13px;color:var(--teal);margin:12px 0 22px}.other-date summary{cursor:pointer}.other-date input{margin-top:10px;max-width:240px}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.slot{font-size:14px;font-weight:600;padding:12px 5px}.slot:disabled{background:#f3f5f5;color:#8c989a;border-color:#e8eeee;text-decoration:line-through;cursor:not-allowed}.demo-note{font-size:12px;color:#65767b;background:#f5f8f8;border-radius:6px;padding:10px;margin:14px 0 0}.appointment-summary #summary-date{margin:16px 0 3px;font-weight:600}.appointment-summary #summary-time{font-size:24px;color:var(--teal);font-weight:700;line-height:1.4}.signature-block{margin-top:26px}.signature-surface{position:relative;border:1px solid #b6cbcc;border-radius:9px;overflow:hidden;background:linear-gradient(to bottom,#fff 76%,#dce8e6 76%,#dce8e6 76.6%,#fff 76.6%)}#signature{display:block;width:100%;height:180px;touch-action:none;cursor:crosshair}#signature-placeholder{position:absolute;top:55px;left:25px;color:#829894;font-size:29px;font-family:Georgia,serif;font-style:italic;pointer-events:none}.text-button{font:600 13px 'Segoe UI',Arial,sans-serif;background:transparent;color:var(--teal);border:0;text-decoration:underline;cursor:pointer;padding:7px}.signature-block .hint{margin-bottom:10px}#signature-state.signed{color:var(--teal);font-weight:600}@media(max-width:520px){.date-options{grid-template-columns:repeat(3,1fr)}.slots{grid-template-columns:repeat(3,1fr)}.booking-heading{align-items:flex-start}.booking-heading .hint{font-size:12px;margin:0}#signature{height:160px}}

.chosen-appointment{padding:18px 20px;border:1px solid #b6d8cf;background:#edf8f4;border-radius:10px}.chosen-appointment .tag{margin:0 0 8px}.chosen-appointment #chosen-date-time{font-size:19px;line-height:1.45;font-weight:700;margin:0 0 5px}.chosen-appointment #chosen-location{font-size:14px;margin:0 0 7px;color:var(--muted)}.chosen-appointment .text-button{padding:5px 0}.chosen-appointment .hint{margin:5px 0 0}#appointment-picker{scroll-margin-top:20px}.chosen-appointment:not([hidden])+#appointment-picker:not([hidden]){margin-top:20px}

.other-tests-field{margin-top:22px}.other-tests-field textarea{display:block;width:100%;min-height:105px;resize:vertical;border:1px solid #bdcdcf;border-radius:7px;padding:12px;color:var(--ink);background:#fff;font:inherit;box-sizing:border-box}.other-tests-field textarea:focus{outline:3px solid #a5ded6;outline-offset:2px}.other-tests-field textarea::placeholder{color:#657b80}

.date-option:disabled{opacity:.5;cursor:not-allowed;background:#f1f4f4;color:#64777b}.date-option:disabled span:last-child{font-size:9px;letter-spacing:0}
