/* Customer-facing Restaurant booking, confirmation and status polish. */
.pxab-restaurant-booking .pxab-restaurant-payment-methods {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 10px;
    align-items: stretch;
}
.pxab-restaurant-booking .pxab-restaurant-manual-payment__label {
    margin: 0;
    color: var(--pxab-restaurant-text,#111827);
    font-weight: 750;
}
.pxab-restaurant-booking .pxab-restaurant-manual-payment__choices {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
    gap: 10px;
    width: 100%;
}
.pxab-restaurant-booking .pxab-restaurant-manual-payment__choices > label {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: 10px;
    min-height: 48px;
    margin: 0;
    padding: 11px 13px;
    border: 1px solid var(--pxab-restaurant-border,#e5e7eb);
    border-radius: 12px;
    background: var(--pxab-restaurant-surface,#fff);
    color: var(--pxab-restaurant-text,#111827);
    cursor: pointer;
}
.pxab-restaurant-booking .pxab-restaurant-manual-payment__choices > label:hover {
    border-color: var(--pxab-restaurant-accent,#b45309);
    background: #fff7ed;
    color: #431407;
}
.pxab-restaurant-booking .pxab-restaurant-manual-payment__choices > label:has(input:focus-visible) {
    outline: 3px solid color-mix(in srgb,var(--pxab-restaurant-accent,#b45309) 25%,transparent);
    outline-offset: 2px;
}
.pxab-restaurant-booking .pxab-restaurant-manual-payment__choices > label:has(input:checked) {
    border-color: var(--pxab-restaurant-accent,#b45309);
    background: #fff7ed;
    color: #431407;
    box-shadow: inset 0 0 0 1px var(--pxab-restaurant-accent,#b45309);
}
.pxab-restaurant-booking .pxab-restaurant-manual-payment__choices input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--pxab-restaurant-accent,#b45309);
}

/* State badges always own both foreground and background, including table hover. */
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table .pxab-restaurant-public-table__state {
    border-color: transparent;
    background: #334155;
    color: #fff;
    text-shadow: none;
}
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table--available .pxab-restaurant-public-table__state { background: #166534; color: #fff; }
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table--extra_seats .pxab-restaurant-public-table__state { background: #1d4ed8; color: #fff; }
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table--too_small .pxab-restaurant-public-table__state,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table--minimum_party .pxab-restaurant-public-table__state { background: #c2410c; color: #fff; }
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table--unavailable .pxab-restaurant-public-table__state { background: #991b1b; color: #fff; }
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table--staff_only .pxab-restaurant-public-table__state { background: #5b21b6; color: #fff; }
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table--disabled .pxab-restaurant-public-table__state { background: #44403c; color: #fff; }
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table:hover .pxab-restaurant-public-table__state,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table:focus-visible .pxab-restaurant-public-table__state,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table.is-selected .pxab-restaurant-public-table__state { color: #fff; }

.pxab-restaurant-complete {
    display: grid;
    gap: 18px;
    padding: clamp(22px,4vw,38px);
    border: 1px solid var(--pxab-restaurant-border,#e5e7eb);
    border-radius: var(--pxab-restaurant-radius,18px);
    background: var(--pxab-restaurant-surface,#fff);
    color: var(--pxab-restaurant-text,#111827);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.pxab-restaurant-complete[hidden] { display: none; }
.pxab-restaurant-complete__icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #dcfce7;
    color: #166534;
    font-size: 30px;
    font-weight: 900;
}
.pxab-restaurant-complete__header { display: grid; gap: 7px; }
.pxab-restaurant-complete__header h3,
.pxab-restaurant-complete__header p { margin: 0; }
.pxab-restaurant-complete__summary {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 10px;
    margin: 0;
}
.pxab-restaurant-complete__summary > div {
    padding: 12px 14px;
    border: 1px solid var(--pxab-restaurant-border,#e5e7eb);
    border-radius: 12px;
    background: var(--pxab-restaurant-muted-surface,#f8fafc);
}
.pxab-restaurant-complete__summary dt { color: var(--pxab-restaurant-muted,#64748b); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.pxab-restaurant-complete__summary dd { margin: 4px 0 0; font-weight: 750; }
.pxab-restaurant-complete__payment {
    margin: 0 !important;
    padding: 12px 14px;
    border-left: 4px solid var(--pxab-restaurant-accent,#b45309);
    border-radius: 8px;
    background: #fff7ed;
    color: #431407;
    white-space: pre-line;
}

.pxab-restaurant-status__payment { margin-inline: clamp(12px,2vw,18px); }
.pxab-restaurant-dine-in-order__navigation { display: flex; justify-content: flex-start; }
.pxab-restaurant-dine-in-order__navigation .pxab-restaurant-button { margin: 0; }

.pxab-restaurant-complete__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pxab-restaurant-button--secondary { border: 1px solid var(--pxab-restaurant-border,#e5e7eb); background: transparent; color: var(--pxab-restaurant-text,#111827); }

@media (max-width: 600px) {
    .pxab-restaurant-booking .pxab-restaurant-manual-payment__choices { grid-template-columns: 1fr; }
    .pxab-restaurant-complete__actions { display: grid; }
    .pxab-restaurant-complete__actions .pxab-restaurant-button { width: 100%; justify-content: center; }
}
@media (forced-colors: active) {
    :is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-public-table .pxab-restaurant-public-table__state { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
}

/* v1.0.385 public reservation progress, date control and compact table details. */
.pxab-restaurant-booking-progress{margin:0 0 20px}.pxab-restaurant-booking-progress ol{display:grid;grid-template-columns:repeat(var(--pxab-restaurant-progress-count,2),minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}.pxab-restaurant-booking-progress li{position:relative;min-width:0}.pxab-restaurant-booking-progress li[hidden]{display:none}.pxab-restaurant-booking-progress li:not(.is-last-visible):after{content:"";position:absolute;z-index:0;top:18px;left:calc(50% + 18px);right:calc(-50% + 18px);height:3px;border-radius:999px;background:var(--pxab-restaurant-border,#d1d5db)}.pxab-restaurant-booking-progress li.is-complete:not(.is-last-visible):after{background:var(--pxab-restaurant-accent,#b45309)}.pxab-restaurant-booking-progress button{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;width:100%;min-width:0;padding:0 5px;border:0;background:transparent;color:var(--pxab-restaurant-muted,#64748b);cursor:pointer;box-shadow:none!important}.pxab-restaurant-booking-progress button:disabled{opacity:.62;cursor:not-allowed}.pxab-restaurant-booking-progress button>span{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--pxab-restaurant-border,#d1d5db);border-radius:50%;background:var(--pxab-restaurant-surface,#fff);color:inherit;font-weight:850}.pxab-restaurant-booking-progress button strong{max-width:100%;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pxab-restaurant-booking-progress li.is-active button{color:var(--pxab-restaurant-accent,#b45309)}.pxab-restaurant-booking-progress li.is-active button>span{border-color:var(--pxab-restaurant-accent,#b45309);box-shadow:none}.pxab-restaurant-booking-progress li.is-complete button>span{border-color:var(--pxab-restaurant-accent,#b45309);background:var(--pxab-restaurant-accent,#b45309);color:var(--pxab-restaurant-button-text,#fff)}.pxab-restaurant-step:focus{outline:none}
.pxab-restaurant-date-control{display:block;min-height:46px;overflow:hidden;border:1px solid var(--pxab-restaurant-border,#d1d5db);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.pxab-restaurant-date-control.is-focused,.pxab-restaurant-date-control:focus-within{border-color:var(--pxab-restaurant-accent,#b45309);box-shadow:0 0 0 3px color-mix(in srgb,var(--pxab-restaurant-accent,#b45309) 18%,transparent)}:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-control input{min-width:0;min-height:44px;border:0;border-radius:9px;box-shadow:none;cursor:pointer}.pxab-restaurant-fields--guest{grid-template-columns:repeat(3,minmax(0,1fr))}
.pxab-restaurant-table-details[hidden]{display:none}.pxab-restaurant-table-details{position:fixed;z-index:100050;inset:0;display:grid;place-items:center;padding:18px}.pxab-restaurant-table-details__scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.64);cursor:pointer}.pxab-restaurant-table-details__panel{position:relative;z-index:1;width:min(500px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;padding:24px;border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:18px;background:var(--pxab-restaurant-surface,#fff);color:var(--pxab-restaurant-text,#111827);box-shadow:0 24px 80px rgba(15,23,42,.3)}.pxab-restaurant-table-details__panel:focus{outline:none}.pxab-restaurant-table-details__close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--pxab-restaurant-border,#d1d5db);border-radius:50%;background:#fff;color:#111827;cursor:pointer}.pxab-restaurant-table-details__close svg{width:18px;height:18px}.pxab-restaurant-table-details__state{display:inline-flex;margin:4px 0 16px;padding:5px 9px;border-radius:999px;background:#334155;color:#fff;font-weight:800}.pxab-restaurant-table-details__state--available{background:#166534}.pxab-restaurant-table-details__state--extra_seats{background:#1d4ed8}.pxab-restaurant-table-details__state--too_small,.pxab-restaurant-table-details__state--minimum_party{background:#c2410c}.pxab-restaurant-table-details__state--disabled{background:#44403c}.pxab-restaurant-table-details__state--unavailable{background:#991b1b}.pxab-restaurant-table-details__state--staff_only{background:#5b21b6}.pxab-restaurant-table-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.pxab-restaurant-table-details dl>div{padding:10px 12px;border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:10px;background:var(--pxab-restaurant-muted-surface,#f8fafc)}.pxab-restaurant-table-details dt{color:var(--pxab-restaurant-muted,#64748b);font-size:12px;font-weight:750}.pxab-restaurant-table-details dd{margin:4px 0 0;font-weight:800}.pxab-restaurant-table-details__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}html.pxab-restaurant-modal-open{overflow:hidden}
@media(max-width:680px){.pxab-restaurant-fields--guest{grid-template-columns:1fr}.pxab-restaurant-booking-progress button strong{font-size:10px;white-space:normal;line-height:1.15}.pxab-restaurant-booking-progress button>span{width:32px;height:32px}.pxab-restaurant-booking-progress li:not(.is-last-visible):after{top:16px}.pxab-restaurant-table-details{padding:10px;align-items:end}.pxab-restaurant-table-details__panel{width:100%;max-height:86vh;padding:22px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.pxab-restaurant-table-details dl{grid-template-columns:1fr 1fr}.pxab-restaurant-table-details__actions{display:grid}.pxab-restaurant-table-details__actions .pxab-restaurant-button{width:100%}}@media(max-width:420px){.pxab-restaurant-table-details dl{grid-template-columns:1fr}}

/* v1.0.386 confirmation contrast and shared phone-field layout. */
.pxab-restaurant-booking .pxab-restaurant-button--secondary {
    border-color: #cbd5e1 !important;
    background: #fff !important;
    color: #1f2937 !important;
    text-decoration: none;
}
.pxab-restaurant-booking .pxab-restaurant-button--secondary:hover,
.pxab-restaurant-booking .pxab-restaurant-button--secondary:focus-visible {
    border-color: var(--pxab-restaurant-accent,#b45309) !important;
    background: #fff7ed !important;
    color: #7c2d12 !important;
}
.pxab-restaurant-fields--guest > .pxab-phone-field { min-width: 0; }

/* v1.0.387 customer controls, backdrop and date-field polish. */
.pxab-restaurant-booking a:not(.pxab-restaurant-button){color:var(--pxab-restaurant-link,var(--pxab-restaurant-accent,#b45309))}
.pxab-restaurant-booking a:not(.pxab-restaurant-button):hover,
.pxab-restaurant-booking a:not(.pxab-restaurant-button):focus-visible{color:var(--pxab-restaurant-link-hover,#7c2d12)}
.pxab-restaurant-booking .pxab-restaurant-submit,
.pxab-restaurant-booking .pxab-restaurant-button,
.pxab-restaurant-status .pxab-restaurant-button{
    border:1px solid var(--pxab-restaurant-primary-button-border,var(--pxab-restaurant-accent,#b45309));
    background:var(--pxab-restaurant-primary-button-bg,var(--pxab-restaurant-accent,#b45309));
    color:var(--pxab-restaurant-primary-button-text,#fff)!important;
}
.pxab-restaurant-booking .pxab-restaurant-submit:hover,
.pxab-restaurant-booking .pxab-restaurant-submit:focus-visible,
.pxab-restaurant-booking .pxab-restaurant-button:not(.pxab-restaurant-button--secondary):hover,
.pxab-restaurant-booking .pxab-restaurant-button:not(.pxab-restaurant-button--secondary):focus-visible,
.pxab-restaurant-status .pxab-restaurant-button:hover,
.pxab-restaurant-status .pxab-restaurant-button:focus-visible{
    border-color:var(--pxab-restaurant-primary-button-hover-border,#92400e);
    background:var(--pxab-restaurant-primary-button-hover-bg,#92400e);
    color:var(--pxab-restaurant-primary-button-hover-text,#fff)!important;
    outline:2px solid transparent;
}
.pxab-restaurant-booking .pxab-restaurant-button--secondary{
    border-color:var(--pxab-restaurant-secondary-button-border,#cbd5e1)!important;
    background:var(--pxab-restaurant-secondary-button-bg,#fff)!important;
    color:var(--pxab-restaurant-secondary-button-text,#1f2937)!important;
}
.pxab-restaurant-booking .pxab-restaurant-button--secondary:hover,
.pxab-restaurant-booking .pxab-restaurant-button--secondary:focus-visible{
    border-color:var(--pxab-restaurant-secondary-button-hover-border,var(--pxab-restaurant-accent,#b45309))!important;
    background:var(--pxab-restaurant-secondary-button-hover-bg,#fff7ed)!important;
    color:var(--pxab-restaurant-secondary-button-hover-text,#7c2d12)!important;
}
.pxab-restaurant-booking :is(button,a,input,select,textarea):focus-visible,
.pxab-restaurant-status :is(button,a,input,select,textarea):focus-visible{
    outline:3px solid color-mix(in srgb,var(--pxab-restaurant-focus,var(--pxab-restaurant-accent,#b45309)) 35%,transparent);
    outline-offset:2px;
}
.pxab-restaurant-table-details__scrim{
    border:0;
    background:rgba(15,23,42,.64);
    background:color-mix(in srgb,var(--pxab-restaurant-overlay,#0f172a) var(--pxab-restaurant-overlay-opacity,64%),transparent);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    cursor:pointer;
}

/* Restaurant design variables also cover customer navigation controls. */
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-table-picker [data-pxab-restaurant-room-tabs] button,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-calendar__nav,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-calendar__day:not(.is-selected),
.pxab-restaurant-table-details__close {
    border-color:var(--pxab-restaurant-secondary-button-border,#cbd5e1);
    background:var(--pxab-restaurant-secondary-button-bg,#fff);
    color:var(--pxab-restaurant-secondary-button-text,#1f2937);
}
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-table-picker [data-pxab-restaurant-room-tabs] button:hover,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-table-picker [data-pxab-restaurant-room-tabs] button:focus-visible,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-calendar__nav:hover:not(:disabled),
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-calendar__nav:focus-visible,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-calendar__day:not(.is-selected):hover:not(:disabled),
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-calendar__day:not(.is-selected):focus-visible,
.pxab-restaurant-table-details__close:hover,
.pxab-restaurant-table-details__close:focus-visible {
    border-color:var(--pxab-restaurant-secondary-button-hover-border,var(--pxab-restaurant-accent,#b45309));
    background:var(--pxab-restaurant-secondary-button-hover-bg,#fff7ed);
    color:var(--pxab-restaurant-secondary-button-hover-text,#7c2d12);
}
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-table-picker [data-pxab-restaurant-room-tabs] button.is-active,
:is(.pxab-restaurant-booking,.pxab-restaurant-booking-controls-context) .pxab-restaurant-date-calendar__day.is-selected {
    border-color:var(--pxab-restaurant-primary-button-border,var(--pxab-restaurant-accent,#b45309));
    background:var(--pxab-restaurant-primary-button-bg,var(--pxab-restaurant-accent,#b45309));
    color:var(--pxab-restaurant-primary-button-text,#fff);
}

/* v1.0.388 stable Restaurant field rows. */
.pxab-restaurant-fields--visit {
    align-items: start;
}
.pxab-restaurant-fields--visit > [data-pxab-field-wrap] {
    align-content: start;
    grid-template-rows: auto minmax(46px, auto) minmax(44px, auto);
    min-width: 0;
}
.pxab-restaurant-field-support {
    display: grid;
    align-content: start;
    gap: 4px;
    min-height: 44px;
}
.pxab-restaurant-field-support > small,
.pxab-restaurant-field-support > .pxab-field-error {
    margin: 0;
}
.pxab-restaurant-fields--guest {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}
.pxab-restaurant-fields--guest > .pxab-phone-field {
    grid-column: 1 / -1;
    width: 100%;
}
@media (max-width: 700px) {
    .pxab-restaurant-fields--visit > [data-pxab-field-wrap] {
        grid-template-rows: auto minmax(46px, auto) auto;
    }
    .pxab-restaurant-field-support { min-height: 0; }
    .pxab-restaurant-fields--guest { grid-template-columns: 1fr; }
    .pxab-restaurant-fields--guest > .pxab-phone-field { grid-column: auto; }
}


/* v1.0.394 self-contained table-details close control. */
.pxab-restaurant-table-details__close {
    display:grid !important;
    place-items:center;
    border:1px solid var(--pxab-restaurant-secondary-button-border,#94a3b8) !important;
    background:var(--pxab-restaurant-secondary-button-bg,#fff) !important;
    color:var(--pxab-restaurant-secondary-button-text,#1f2937) !important;
    box-shadow:0 2px 8px rgba(15,23,42,.14);
}
.pxab-restaurant-table-details__close:hover,
.pxab-restaurant-table-details__close:focus-visible {
    border-color:var(--pxab-restaurant-secondary-button-hover-border,var(--pxab-restaurant-accent,#b45309)) !important;
    background:var(--pxab-restaurant-secondary-button-hover-bg,#fff7ed) !important;
    color:var(--pxab-restaurant-secondary-button-hover-text,#7c2d12) !important;
}
.pxab-restaurant-table-details__close .pxab-icon,
.pxab-restaurant-table-details__close svg {
    display:block;
    width:18px;
    height:18px;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2.25;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* Restaurant seating actions remain visible but fail closed until the current option is selectable. */
.pxab-restaurant-table-details__actions .pxab-restaurant-button:disabled,
.pxab-restaurant-table-details__actions .pxab-restaurant-button[aria-disabled="true"] {
    border-color: #94a3b8;
    background: #e2e8f0;
    color: #475569 !important;
    box-shadow: none;
    opacity: 1;
    cursor: not-allowed;
}
.pxab-restaurant-table-details__actions .pxab-restaurant-button:disabled:hover,
.pxab-restaurant-table-details__actions .pxab-restaurant-button:disabled:focus-visible {
    border-color: #94a3b8;
    background: #e2e8f0;
    color: #475569 !important;
    transform: none;
}

/* v1.0.404 administrator calendar and component-level modal action contrast. */
.pxab-restaurant-table-details__actions .pxab-restaurant-button--secondary {
    border-color: var(--pxab-restaurant-secondary-button-border,#cbd5e1) !important;
    background: var(--pxab-restaurant-secondary-button-bg,#fff) !important;
    color: var(--pxab-restaurant-secondary-button-text,#1f2937) !important;
}
.pxab-restaurant-table-details__actions .pxab-restaurant-button--secondary:hover,
.pxab-restaurant-table-details__actions .pxab-restaurant-button--secondary:focus-visible {
    border-color: var(--pxab-restaurant-secondary-button-hover-border,var(--pxab-restaurant-accent,#b45309)) !important;
    background: var(--pxab-restaurant-secondary-button-hover-bg,#fff7ed) !important;
    color: var(--pxab-restaurant-secondary-button-hover-text,#7c2d12) !important;
}
.pxab-restaurant-admin-calendar {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--pxab-restaurant-border,#dbe2ea);
    border-radius: 16px;
    background: var(--pxab-restaurant-surface,#fff);
}
.pxab-restaurant-admin-calendar > h3 { margin: 0; }
.pxab-restaurant-admin-calendar > p {
    margin: 6px 0 0;
    color: var(--pxab-restaurant-muted,#64748b);
}
.pxab-restaurant-admin-calendar .pxab-restaurant-date-calendar { margin-top: 14px; }
@media (max-width: 782px) {
    .pxab-restaurant-admin-calendar { padding: 12px; }
}

/* Restaurant booking-complete and private-status parity polish. */
.pxab-restaurant-complete{
    position:relative;
    overflow:hidden;
    border:1px solid var(--pxab-restaurant-border,#e5e7eb);
    background:linear-gradient(180deg,color-mix(in srgb,var(--pxab-restaurant-muted-surface,#f8fafc) 70%,#fff) 0,#fff 100%);
}
.pxab-restaurant-complete__reference dd,
.pxab-restaurant-status__reference{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pxab-restaurant-complete__copy,
.pxab-restaurant-status__copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid var(--pxab-restaurant-secondary-button-border,#cbd5e1);border-radius:9px;background:var(--pxab-restaurant-secondary-button-bg,#fff);color:var(--pxab-restaurant-secondary-button-text,#1f2937);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.pxab-restaurant-complete__copy svg,.pxab-restaurant-status__copy svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.pxab-restaurant-complete__copy:hover,.pxab-restaurant-complete__copy:focus-visible,.pxab-restaurant-status__copy:hover,.pxab-restaurant-status__copy:focus-visible{border-color:var(--pxab-restaurant-secondary-button-hover-border,var(--pxab-restaurant-accent,#b45309));background:var(--pxab-restaurant-secondary-button-hover-bg,#fff7ed);color:var(--pxab-restaurant-secondary-button-hover-text,#7c2d12)}
.pxab-restaurant-status__hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--pxab-restaurant-border,#e5e7eb)}
.pxab-restaurant-status__hero>div>p:last-child{margin:4px 0 0;color:var(--pxab-restaurant-muted,#64748b)}
.pxab-restaurant-status__summary>div{min-width:0}
.pxab-restaurant-status__summary dd{overflow-wrap:anywhere}
.pxab-restaurant-status__timeline,.pxab-restaurant-status__order{border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:14px;background:var(--pxab-restaurant-muted-surface,#f8fafc);padding:18px}
.pxab-restaurant-status__timeline{border-top:1px solid var(--pxab-restaurant-border,#e5e7eb)}
@media(max-width:600px){.pxab-restaurant-status__hero{display:grid}.pxab-restaurant-status__badge{justify-self:start}.pxab-restaurant-complete__reference dd,.pxab-restaurant-status__reference{align-items:stretch}.pxab-restaurant-complete__copy,.pxab-restaurant-status__copy{width:100%}}
.pxab-restaurant-status .pxab-restaurant-button--secondary{border-color:var(--pxab-restaurant-secondary-button-border,#cbd5e1)!important;background:var(--pxab-restaurant-secondary-button-bg,#fff)!important;color:var(--pxab-restaurant-secondary-button-text,#1f2937)!important}.pxab-restaurant-status .pxab-restaurant-button--secondary:hover,.pxab-restaurant-status .pxab-restaurant-button--secondary:focus-visible{border-color:var(--pxab-restaurant-secondary-button-hover-border,var(--pxab-restaurant-accent,#b45309))!important;background:var(--pxab-restaurant-secondary-button-hover-bg,#fff7ed)!important;color:var(--pxab-restaurant-secondary-button-hover-text,#7c2d12)!important}.pxab-restaurant-status__footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:18px;padding-top:18px;border-top:1px solid var(--pxab-restaurant-border,#e5e7eb)}.pxab-restaurant-status__footer p{margin:0;color:var(--pxab-restaurant-muted,#64748b);font-size:.9rem}@media(max-width:600px){.pxab-restaurant-status__footer{display:grid}.pxab-restaurant-status__footer .pxab-restaurant-button{width:100%}}

/* Restaurant completion parity with the Food completion surface. */
.pxab-restaurant-complete{
    width:100%;
    max-width:none;
    margin:0;
    padding:clamp(24px,5vw,54px);
    text-align:center;
    scroll-margin-top:28px;
    box-shadow:0 22px 70px rgba(15,23,42,.12);
}
.pxab-restaurant-complete:focus{outline:none}
.pxab-restaurant-complete:focus-visible{outline:3px solid color-mix(in srgb,var(--pxab-restaurant-focus,var(--pxab-restaurant-accent,#b45309)) 30%,transparent);outline-offset:4px}
.pxab-restaurant-complete__icon{
    display:grid;
    place-items:center;
    width:68px;
    height:68px;
    margin:0 auto;
    border-radius:999px;
    background:#ecfdf5;
    color:#15803d;
}
.pxab-restaurant-complete__icon .pxab-icon{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.pxab-restaurant-complete__header{text-align:center}
.pxab-restaurant-complete__header h3{font-size:clamp(1.8rem,4vw,2.6rem)}
.pxab-restaurant-complete__header>[data-pxab-restaurant-complete-message]{max-width:680px;margin-left:auto;margin-right:auto;color:var(--pxab-restaurant-muted,#64748b);line-height:1.65;white-space:pre-line}
.pxab-restaurant-complete__summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:4px 0 0;text-align:left}
.pxab-restaurant-complete__summary>div{min-width:0;padding:14px 16px;border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:14px;background:var(--pxab-restaurant-muted-surface,#f8fafc)}
.pxab-restaurant-complete__reference dd{justify-content:space-between}
.pxab-restaurant-complete__copy{min-height:38px;border-radius:999px;font-weight:800}
.pxab-restaurant-complete__next{margin:4px 0 0;padding:18px;border-radius:14px;background:color-mix(in srgb,var(--pxab-restaurant-accent,#b45309) 7%,var(--pxab-restaurant-muted-surface,#f8fafc));text-align:left}
.pxab-restaurant-complete__next h4{margin:0 0 6px;color:var(--pxab-restaurant-text,#111827);font-size:1.05rem}
.pxab-restaurant-complete__next p{margin:0;color:var(--pxab-restaurant-muted,#64748b);line-height:1.55}
.pxab-restaurant-complete__actions{justify-content:center;margin-top:2px}
@media(max-width:680px){.pxab-restaurant-complete__summary{grid-template-columns:1fr}.pxab-restaurant-complete__actions{display:grid}.pxab-restaurant-complete__actions .pxab-restaurant-button{width:100%}}
.pxab-restaurant-status__badge--closed{background:#e2e8f0;color:#334155}
.pxab-restaurant-status__access-ended{margin:18px 0 0;padding:14px 16px;border:1px solid #fbbf24;border-radius:12px;background:#fffbeb;color:#78350f;font-weight:650;line-height:1.5}
.pxab-restaurant-status__access-ended[hidden]{display:none}

/* v1.0.511 Restaurant guest-flow polish. */
.pxab-restaurant-ordering-preference{display:grid;gap:6px;margin-top:16px}.pxab-restaurant-ordering-preference small{color:var(--pxab-restaurant-muted,#64748b)}

.pxab-restaurant-booking .pxab-restaurant-deposit-required {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--pxab-restaurant-border, #e5e7eb);
    border-radius: 12px;
    background: var(--pxab-restaurant-muted-surface, #f8fafc);
    color: var(--pxab-restaurant-text, #111827);
    font-weight: 700;
}
