dialog.registration-error-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;border:1px solid #bacbd7;border-radius:14px;color:#192b3b;background:#fff;box-shadow:0 8px 30px #06182955}
dialog.registration-error-dialog::backdrop{background:#0b172a99}
dialog.registration-error-dialog h2{font-size:19px;line-height:1.5;margin:0 0 14px;color:#992f30}
dialog.registration-error-dialog p{font-size:14px;line-height:1.65;margin:12px 0;overflow-wrap:anywhere}
dialog.registration-error-dialog .registration-error-detail{padding:12px;background:#fff2ef;border-left:4px solid #c43d3d;white-space:pre-wrap}
dialog.registration-error-dialog button{display:block;width:100%;min-height:44px;margin:16px 0 0;padding:10px;border:1px solid #5f7f9f;border-radius:8px;background:#172d44;color:#fff;font:inherit;font-weight:700}
.reservation-schedule-notice{grid-column:1/-1;padding:12px;border:1px solid #bd822c;border-radius:8px;background:#fff7e5;color:#654411;line-height:1.6;font-size:14px;overflow-wrap:anywhere}
.reservation-schedule-notice p{margin:6px 0;white-space:pre-wrap}
.reservation-schedule-notice[data-blocked="true"]{border-color:#bc4444;background:#fff2ef;color:#992f30}
dialog.reservation-gap-dialog h2{color:#654411}
dialog.reservation-gap-dialog .registration-error-detail{background:#fff7e5;border-left-color:#bd822c}
dialog.reservation-gap-dialog button:last-child{background:#fff;color:#172d44}
.reservation-schedule-notice[hidden]{display:none!important}
body .reservation-schedule-notice{padding:12px;background:#fff8ed;font-size:14px}
.reservation-warning-heading{display:block;margin-bottom:10px;font-size:14px}
body .reservation-warning-card{display:block;margin:10px 0 0;padding:14px 12px;border:1px solid #e3c595;border-radius:9px;background:#fff;color:#263d4d;min-width:0}
body .reservation-warning-card h3{margin:0 0 12px;font-size:16px;line-height:1.6;font-weight:700;color:#8a4f13}
body .reservation-warning-card .reservation-warning-hours{margin:10px 0;padding:10px;background:#f1f5f8;border-radius:6px;line-height:1.65;white-space:normal}
.reservation-warning-hours>span{display:block;font-size:13px;color:#405c70}
.reservation-warning-hours>strong{display:block;font-size:19px;font-weight:750;color:#172f43;overflow-wrap:anywhere}
body .reservation-warning-card .reservation-warning-note{margin:12px 0;font-size:14px;line-height:1.75;color:#405363;white-space:normal}
body .reservation-warning-card .reservation-warning-ack{display:inline-flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:6px;width:max-content;max-width:none;min-height:28px;margin:6px 0 0;padding:4px 6px;border:0;font-size:13px;font-weight:700;color:#17394d;cursor:pointer;line-height:1.4;white-space:nowrap}
body .reservation-warning-card .reservation-warning-ack>span{display:inline;flex:none;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
body .reservation-warning-ack input[type=checkbox]{appearance:auto;flex:0 0 22px;box-sizing:border-box;width:22px;height:22px;min-height:22px;margin:0;padding:0;accent-color:#205777;cursor:pointer}
body .reservation-warning-ack:has(input:checked){background:#edf6ef;border-radius:5px;color:#235d39}
body dialog.reservation-gap-dialog button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:360px){body .reservation-warning-card{padding:12px 10px}.reservation-warning-hours>strong{font-size:18px}body .reservation-warning-card .reservation-warning-ack{font-size:14px}}
/* Phones and tablets confirm with the dialog buttons, without per-warning checks. */
@media(max-width:1024px),(pointer:coarse){body .reservation-warning-card .reservation-warning-ack{display:none!important}}
@media(min-width:1025px) and (pointer:fine){
 body .reservation-schedule-notice{padding:8px 10px;font-size:13px}
 body .reservation-warning-heading{margin-bottom:4px;font-size:13px}
 body .reservation-warning-card{margin-top:6px;padding:8px 10px;border-radius:6px}
 body .reservation-warning-card h3{margin:0 0 4px;font-size:14px;line-height:1.4}
 body .reservation-warning-card .reservation-warning-hours{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;margin:4px 0;padding:4px 6px;line-height:1.4}
 body .reservation-warning-hours>span{display:inline;font-size:12px}
 body .reservation-warning-hours>strong{display:inline;font-size:14px}
 body .reservation-warning-card .reservation-warning-note{margin:4px 0;font-size:12px;line-height:1.5}
 body .reservation-warning-ack input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px}
 body dialog.reservation-gap-dialog{padding:14px;width:min(560px,calc(100vw - 24px))}
 body dialog.reservation-gap-dialog h2{font-size:16px;margin-bottom:8px}
 body dialog.reservation-gap-dialog>button{display:inline-block;width:calc(50% - 5px);min-height:36px;margin:12px 0 0;padding:7px;font-size:13px}
 body dialog.reservation-gap-dialog>button+button{margin-left:10px}
}
