.customer-access-dialog { box-sizing: border-box; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid #dce1e7; border-radius: 18px; background: #fff; color: #101820; font-family: inherit; }
.customer-access-dialog::backdrop { background: rgb(16 24 32 / 60%); }
.customer-access-dialog h2 { margin: 0 0 12px; }
.customer-access-dialog p { line-height: 1.65; overflow-wrap: anywhere; }
.customer-access-dialog label { display: grid; gap: 8px; margin: 16px 0; }
.customer-access-dialog input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px; border: 1px solid #738091; border-radius: 8px; font: inherit; }
.customer-access-dialog button { min-height: 44px; padding: 10px 16px; margin-block: 4px; margin-inline-end: 8px; border: 1px solid #0057ff; border-radius: 8px; background: #fff; color: #0049d9; font: inherit; cursor: pointer; }
.customer-access-dialog [data-save] { background: #0057ff; color: #fff; }
.customer-access-dialog :focus-visible { outline: 3px solid #0057ff; outline-offset: 3px; }
.customer-access-dialog [hidden] { display: none !important; }
.customer-access-dialog :disabled { opacity: .65; cursor: wait; }
.customer-reservation-status.needs-review { background: #fff3d6; color: #805000; }
