/* RWExec Reservations admin UI — v1.0.0 */
:root{
  --rwexec-bg:#f4f6f8;
  --rwexec-surface:#fff;
  --rwexec-surface-muted:#f8fafc;
  --rwexec-border:#dfe3e8;
  --rwexec-border-strong:#cdd3da;
  --rwexec-text:#172033;
  --rwexec-muted:#667085;
  --rwexec-accent:#2563eb;
  --rwexec-accent-dark:#1d4ed8;
  --rwexec-danger:#b42318;
  --rwexec-radius:12px;
  --rwexec-shadow:0 1px 2px rgba(16,24,40,.04),0 3px 12px rgba(16,24,40,.04);
}

.rwexec-admin{max-width:1480px;margin-top:22px;color:var(--rwexec-text)}
.rwexec-admin *{box-sizing:border-box}
.rwexec-admin h1{font-size:28px;line-height:1.2;font-weight:650;color:var(--rwexec-text);margin:0}
.rwexec-admin h2{font-size:20px;line-height:1.35;font-weight:650;color:var(--rwexec-text);margin:26px 0 8px}
.rwexec-admin h3{color:var(--rwexec-text)}
.rwexec-page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:2px 0}
.rwexec-page-subtitle{margin:7px 0 0;color:var(--rwexec-muted);font-size:14px}
.rwexec-primary-action{min-height:40px!important;display:inline-flex!important;align-items:center!important;padding:0 16px!important}
.rwexec-section-heading{margin-top:34px!important}

.rwexec-admin .button{border-radius:7px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.rwexec-admin .button:hover{border-color:#98a2b3}
.rwexec-admin .button-primary{background:var(--rwexec-accent);border-color:var(--rwexec-accent);color:#fff}
.rwexec-admin .button-primary:hover,.rwexec-admin .button-primary:focus{background:var(--rwexec-accent-dark);border-color:var(--rwexec-accent-dark);color:#fff}
.rwexec-admin input[type=text],.rwexec-admin input[type=email],.rwexec-admin input[type=tel],.rwexec-admin input[type=url],.rwexec-admin input[type=number],.rwexec-admin input[type=date],.rwexec-admin input[type=time],.rwexec-admin input[type=search],.rwexec-admin select,.rwexec-admin textarea{border:1px solid var(--rwexec-border-strong);border-radius:7px;min-height:38px;padding:6px 10px;box-shadow:none;color:var(--rwexec-text);background:#fff}
.rwexec-admin textarea{min-height:88px}
.rwexec-admin input:focus,.rwexec-admin select:focus,.rwexec-admin textarea:focus{border-color:var(--rwexec-accent);box-shadow:0 0 0 1px var(--rwexec-accent);outline:0}
.rwexec-admin .description,.rwexec-meta-note{color:var(--rwexec-muted);font-size:12.5px;line-height:1.5}
.rwexec-admin code{background:#eef2f6;border:1px solid var(--rwexec-border);border-radius:5px;padding:4px 7px}

/* notices */
.rwexec-admin .notice{border:1px solid var(--rwexec-border);border-left-width:4px;border-radius:8px;box-shadow:none;margin:14px 0 18px;background:#fff}
.rwexec-admin .notice-success{border-left-color:#12b76a}
.rwexec-admin .notice-warning{border-left-color:#f79009}
.rwexec-admin .notice-error{border-left-color:#f04438}

/* filters */
.rwexec-filter-row{display:grid;grid-template-columns:minmax(220px,300px) 135px 145px 115px 145px 135px auto auto auto;gap:8px;align-items:end;margin:0 0 18px;padding:14px 16px;background:var(--rwexec-surface);border:1px solid var(--rwexec-border);border-radius:var(--rwexec-radius);box-shadow:var(--rwexec-shadow);justify-content:start}
.rwexec-filter-row label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#344054;min-width:0}
.rwexec-filter-row input,.rwexec-filter-row select{min-width:0;width:100%;min-height:36px}
.rwexec-filter-search,.rwexec-filter-control,.rwexec-filter-range-toggle{width:auto;min-width:0}
.rwexec-filter-range-toggle{align-self:end}
.rwexec-checkbox-line{display:flex;align-items:center;gap:7px;min-height:38px;font-weight:500;white-space:nowrap}
.rwexec-checkbox-line input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;display:inline-grid!important;place-content:center;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border:1px solid #98a2b3!important;border-radius:4px!important;background:#fff!important;box-shadow:none!important;cursor:pointer;transition:background .12s ease,border-color .12s ease}
.rwexec-checkbox-line input[type=checkbox]::before{content:'';width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transform-origin:center;margin-top:-1px}
.rwexec-checkbox-line input[type=checkbox]:checked{background:var(--rwexec-accent)!important;border-color:var(--rwexec-accent)!important}
.rwexec-checkbox-line input[type=checkbox]:checked::before{transform:rotate(45deg) scale(1)}
.rwexec-checkbox-line input[type=checkbox]:focus{outline:2px solid rgba(37,99,235,.18)!important;outline-offset:2px;box-shadow:none!important}
.rwexec-filter-row .is-hidden{visibility:hidden;pointer-events:none}

.rwexec-list-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 2px 0;min-height:36px}
.rwexec-pagination-summary,.rwexec-history-note{margin:0;color:var(--rwexec-muted);font-size:12.5px}
.rwexec-history-note{margin:6px 2px 0}
.rwexec-pagination ul.page-numbers{display:flex;gap:5px;align-items:center;margin:0;padding:0;list-style:none}
.rwexec-pagination ul.page-numbers li{margin:0}
.rwexec-pagination .page-numbers a,.rwexec-pagination .page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 9px;border:1px solid var(--rwexec-border-strong);border-radius:7px;background:#fff;color:#344054;text-decoration:none;font-size:12.5px}
.rwexec-pagination .page-numbers a:hover{border-color:#98a2b3;background:#f8fafc}
.rwexec-pagination .page-numbers .current{background:var(--rwexec-accent);border-color:var(--rwexec-accent);color:#fff;font-weight:650}

/* tables */
.rwexec-table-card{background:var(--rwexec-surface);border:1px solid var(--rwexec-border);border-radius:var(--rwexec-radius);box-shadow:var(--rwexec-shadow);overflow:auto}
.rwexec-reservations-table,.rwexec-special-dates-table{border:0!important;border-collapse:separate;border-spacing:0;background:#fff}
.rwexec-reservations-table{table-layout:fixed;min-width:1120px;width:100%}
.rwexec-reservations-table col.rwexec-w-name{width:16%}.rwexec-reservations-table col.rwexec-w-date{width:9%}.rwexec-reservations-table col.rwexec-w-start,.rwexec-reservations-table col.rwexec-w-end{width:6%}.rwexec-reservations-table col.rwexec-w-guests{width:5%}.rwexec-reservations-table col.rwexec-w-phone{width:11%}.rwexec-reservations-table col.rwexec-w-info{width:6%}.rwexec-reservations-table col.rwexec-w-table{width:9%}.rwexec-reservations-table col.rwexec-w-indicator{width:6%}.rwexec-reservations-table col.rwexec-w-status{width:14%}.rwexec-reservations-table col.rwexec-w-checkin{width:12%}
.rwexec-reservations-table thead th,.rwexec-special-dates-table thead th{background:var(--rwexec-surface-muted);color:#475467;font-size:11px;letter-spacing:.035em;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--rwexec-border);padding:13px 12px}
.rwexec-reservations-table tbody td,.rwexec-special-dates-table tbody td{padding:14px 12px;border-bottom:1px solid #edf0f3;color:#344054;vertical-align:middle}
.rwexec-reservations-table tbody tr:last-child td,.rwexec-special-dates-table tbody tr:last-child td{border-bottom:0}
.rwexec-reservations-table tbody tr:hover,.rwexec-special-dates-table tbody tr:hover{background:#fbfcfe}
.rwexec-reservations-table td:first-child strong{font-size:13.5px;color:#1d2939}
.rwexec-reservations-table .row-actions{position:static;left:auto;margin-top:5px;color:#98a2b3}
.rwexec-reservations-table .row-actions a{font-size:12px;text-decoration:none}

.rwexec-action-tablet,.rwexec-date-tablet{display:none}
.rwexec-reservations-table .rwexec-quick-status-form select{min-width:126px;min-height:34px}
.rwexec-col-indicator,.rwexec-cell-info,.rwexec-cell-table{text-align:center!important}
.rwexec-info-icons{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px}.rwexec-info-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:6px;text-decoration:none!important}.rwexec-info-icon .dashicons{width:17px;height:17px;font-size:17px;line-height:17px}.rwexec-info-icon--allergy{background:#fffaeb;color:#b54708}.rwexec-info-icon--notes{background:#f2f4f7;color:#475467}.rwexec-info-icon:hover,.rwexec-info-icon:focus{outline:2px solid rgba(53,99,184,.22);outline-offset:1px}.rwexec-info-empty{color:#98a2b3}
.rwexec-table-assignment-form{margin:0!important}.rwexec-table-input{box-sizing:border-box!important;width:62px!important;min-width:0!important;height:32px!important;min-height:32px!important;padding:3px 6px!important;text-align:center!important;border:1px solid var(--rwexec-border-strong)!important;border-radius:6px!important;background:#fff!important;font-size:12.5px!important;line-height:1.2!important}.rwexec-table-input:focus{border-color:var(--rwexec-accent)!important;box-shadow:0 0 0 1px var(--rwexec-accent)!important;outline:0!important}
.rwexec-checkin-cell{white-space:nowrap}
.rwexec-checkin-cell form{margin:0}
.rwexec-empty-state{background:var(--rwexec-surface);border:1px dashed var(--rwexec-border-strong);border-radius:var(--rwexec-radius);padding:52px 24px;text-align:center;color:var(--rwexec-muted)}
.rwexec-empty-state .dashicons{font-size:38px;width:38px;height:38px;color:#98a2b3}
.rwexec-empty-state h2{margin:12px 0 4px;font-size:18px}
.rwexec-empty-state p{margin:0}

/* indicators and badges */
.rwexec-status-indicator{display:inline-block;width:11px;height:11px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 4px rgba(152,162,179,.12)}
.rwexec-status-indicator--confirmed{background:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
.rwexec-status-indicator--checked_in{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.rwexec-status-indicator--completed{background:#667085;box-shadow:0 0 0 4px rgba(102,112,133,.12)}
.rwexec-status-indicator--cancelled{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}
.rwexec-status-indicator--no_show{background:#a855f7;box-shadow:0 0 0 4px rgba(168,85,247,.12)}
.rwexec-status-indicator--late{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.14)}
.rwexec-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:650;line-height:1.4;background:#eef2f6;color:#344054}
.rwexec-badge--confirmed{background:#eff6ff;color:#1d4ed8}.rwexec-badge--checked_in{background:#ecfdf3;color:#027a48}.rwexec-badge--completed{background:#f2f4f7;color:#475467}.rwexec-badge--cancelled{background:#fef3f2;color:#b42318}.rwexec-badge--no_show{background:#f9f5ff;color:#6941c6}.rwexec-badge--late{background:#fff7ed;color:#c2410c}.rwexec-badge--allergy{background:#fffaeb;color:#b54708;margin-left:7px}.rwexec-badge--notes{background:#f2f4f7;color:#475467;margin-left:7px}
.rwexec-status-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.rwexec-allergy-warning{border:1px solid #fedf89;border-left:4px solid #f79009;background:#fffaeb;border-radius:8px;padding:13px 16px;margin:14px 0;color:#7a2e0e}

/* forms and detail cards */
.rwexec-admin-form,.rwexec-settings form:not(.rwexec-quick-status-form),.rwexec-detail-card{background:var(--rwexec-surface);border:1px solid var(--rwexec-border);border-radius:var(--rwexec-radius);box-shadow:var(--rwexec-shadow);padding:8px 22px 20px;max-width:980px}
.rwexec-admin .form-table{margin-top:6px}
.rwexec-admin .form-table th{width:235px;padding:18px 18px 18px 0;color:#344054;font-weight:650;vertical-align:top}
.rwexec-admin .form-table td{padding:14px 0;color:#344054;vertical-align:top}
.rwexec-admin .form-table tr+tr th,.rwexec-admin .form-table tr+tr td{border-top:1px solid #f0f2f4}
.rwexec-admin .submit{margin:10px 0 0;padding:12px 0 0}
.rwexec-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:14px 0 18px;padding:12px 14px;background:var(--rwexec-surface-muted);border:1px solid var(--rwexec-border);border-radius:9px;max-width:980px}
.rwexec-actions form{margin:0}
.rwexec-quick-status-form{display:inline-flex;gap:7px;align-items:center;margin:0}
.rwexec-quick-status-form select{min-width:130px}
.rwexec-detail-card{padding:4px 22px 10px}
.rwexec-detail-table th{width:220px!important}
.rwexec-detail-table td{font-size:13.5px}
/* Keep plugin detail/edit dividers consistent even when the active theme styles tables. */
.rwexec-admin .rwexec-detail-table,.rwexec-admin .rwexec-detail-table tbody,.rwexec-admin .rwexec-admin-form .form-table,.rwexec-admin .rwexec-admin-form .form-table tbody{border:0!important}
.rwexec-admin .rwexec-detail-table th,.rwexec-admin .rwexec-detail-table td,.rwexec-admin .rwexec-admin-form .form-table th,.rwexec-admin .rwexec-admin-form .form-table td{border-left:0!important;border-right:0!important;border-bottom:0!important}
.rwexec-admin .rwexec-detail-table tr+tr th,.rwexec-admin .rwexec-detail-table tr+tr td,.rwexec-admin .rwexec-admin-form .form-table tr+tr th,.rwexec-admin .rwexec-admin-form .form-table tr+tr td{border-top:1px solid #f0f2f4!important}
.rwexec-admin .rwexec-customer-history-table{border:0!important;border-collapse:separate!important;border-spacing:0!important}
.rwexec-admin .rwexec-customer-history-table th{border:0!important;border-bottom:1px solid var(--rwexec-border)!important}
.rwexec-admin .rwexec-customer-history-table td{border:0!important;border-bottom:1px solid #edf0f3!important}
.rwexec-admin .rwexec-customer-history-table tbody tr:last-child td{border-bottom:0!important}
.rwexec-danger-zone{max-width:980px;margin-top:22px;padding:18px 20px;background:#fff7f6;border:1px solid #fecdca;border-radius:var(--rwexec-radius)}
.rwexec-danger-zone h2{margin:0 0 5px;font-size:17px;color:var(--rwexec-danger)}
.rwexec-danger-zone p{color:#912018;margin:0 0 14px}
.rwexec-danger{color:var(--rwexec-danger)!important;border-color:#fda29b!important;background:#fff!important}
.rwexec-danger:hover{background:#fff1f0!important;border-color:#f97066!important}

/* settings tabs */
.rwexec-settings{max-width:1220px}
.rwexec-settings>h1{margin-bottom:18px}
.rwexec-settings-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 22px!important;padding:5px;background:#e9edf2;border:0;border-radius:10px;width:max-content;max-width:100%}
.rwexec-settings-tabs .nav-tab{margin:0;border:0;background:transparent;border-radius:7px;padding:8px 13px;color:#475467;font-weight:600}
.rwexec-settings-tabs .nav-tab:hover{background:rgba(255,255,255,.65);color:#1d2939}
.rwexec-settings-tabs .nav-tab-active{background:#fff!important;color:#101828!important;box-shadow:0 1px 2px rgba(16,24,40,.09)}
.rwexec-settings>form{max-width:1040px}
.rwexec-settings>form>h2,.rwexec-settings>h2{margin:10px 0 2px}
.rwexec-settings>form>p:not(.submit),.rwexec-settings>p{color:var(--rwexec-muted)}
.rwexec-toggle-row{display:block;margin-bottom:9px}

/* weekly availability */
.rwexec-weekly-row{display:grid;grid-template-columns:105px minmax(190px,1fr) 130px 26px 130px;gap:10px;align-items:center;margin-bottom:10px;max-width:760px}
.rwexec-weekly-day{width:auto;color:#344054}
.rwexec-weekly-row input[type=time],.rwexec-weekly-row select{width:100%}

/* special dates */
.rwexec-special-date-form{max-width:900px;background:var(--rwexec-surface);border:1px solid var(--rwexec-border);border-radius:var(--rwexec-radius);box-shadow:var(--rwexec-shadow);padding:18px 20px;margin:16px 0 24px}
.rwexec-special-date-form .row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.rwexec-special-date-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-weight:650;color:#344054}
.rwexec-special-date-form label input,.rwexec-special-date-form label select{font-weight:400}

/* form builder */
.rwexec-field-builder{max-width:940px;background:#fff;border:1px solid var(--rwexec-border);border-radius:var(--rwexec-radius);overflow:hidden;margin-top:14px;box-shadow:var(--rwexec-shadow)}
.rwexec-field-builder__section-title{font-size:11px!important;text-transform:uppercase;letter-spacing:.055em;color:#667085!important;background:#f8fafc;margin:0!important;padding:12px 16px;border-bottom:1px solid var(--rwexec-border)}
.rwexec-builder-system-row,.rwexec-builder-row__summary{display:grid;grid-template-columns:minmax(220px,1fr) 110px 110px minmax(200px,auto);gap:12px;align-items:center;padding:14px 16px}
.rwexec-builder-system-row,.rwexec-builder-row{border-bottom:1px solid #edf0f3}.rwexec-builder-row:last-child{border-bottom:0}
.rwexec-builder-row:hover>.rwexec-builder-row__summary{background:#fbfcfe}
.rwexec-row-type{color:#7b8494;margin-top:3px;font-size:11.5px}.rwexec-builder-locked{color:#98a2b3;font-size:12px}
.rwexec-builder-row__actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.rwexec-builder-row__summary label{white-space:nowrap;color:#475467}
.rwexec-field-editor{padding:18px 20px;background:#f8fafc;border-top:1px solid #edf0f3}
.rwexec-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:800px}.rwexec-editor-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600;color:#344054}.rwexec-editor-grid input,.rwexec-editor-grid select,.rwexec-editor-grid textarea{width:100%;max-width:none;font-weight:400}.rwexec-editor-wide{grid-column:1/-1}.rwexec-editor-options{display:flex;gap:18px;flex-wrap:wrap;margin-top:15px;color:#475467}.rwexec-consent-help{margin-top:9px!important}
#rwexec-add-form-field{margin:13px 16px 0}.rwexec-field-builder>p.description{margin:9px 16px 16px}

@media(max-width:1400px){
  .rwexec-filter-row{grid-template-columns:minmax(200px,1fr) 125px 140px 110px 140px 125px auto auto auto;gap:7px;overflow:visible}
  .rwexec-filter-row > .button{padding-left:11px!important;padding-right:11px!important}
}
@media(max-width:1100px){
  /* Tablet reservation view: keep every working column visible without horizontal scrolling. */
  .rwexec-table-card{overflow-x:hidden}
  .rwexec-reservations-table{min-width:0;table-layout:fixed;width:100%}
  .rwexec-reservations-table col.rwexec-w-name{width:25%}
  .rwexec-reservations-table col.rwexec-w-date{width:11%}
  .rwexec-reservations-table col.rwexec-w-start{width:10%}
  .rwexec-reservations-table col.rwexec-w-end,
  .rwexec-reservations-table col.rwexec-w-phone{width:0!important;visibility:collapse}
  .rwexec-reservations-table col.rwexec-w-guests{width:7%}
  .rwexec-reservations-table col.rwexec-w-info{width:8%}
  .rwexec-reservations-table col.rwexec-w-table{width:9%}
  .rwexec-reservations-table col.rwexec-w-indicator{width:7%}
  .rwexec-reservations-table col.rwexec-w-status{width:14%}
  .rwexec-reservations-table col.rwexec-w-checkin{width:9%}
  .rwexec-reservations-table .rwexec-cell-end,.rwexec-reservations-table .rwexec-cell-phone{display:none}
  .rwexec-reservations-table thead th,.rwexec-reservations-table tbody td{padding-left:7px;padding-right:7px;overflow:hidden;text-overflow:ellipsis}
  .rwexec-reservations-table thead th{white-space:nowrap}
  .rwexec-reservations-table .rwexec-quick-status-form select{min-width:0;width:100%;max-width:none;padding-left:7px;padding-right:22px;font-size:12px}
  .rwexec-reservations-table .rwexec-checkin-cell .button{width:100%;padding-left:6px!important;padding-right:6px!important;font-size:11.5px;white-space:nowrap}
  .rwexec-action-desktop,.rwexec-date-desktop{display:none}
  .rwexec-action-tablet,.rwexec-date-tablet{display:inline}
  .rwexec-reservations-table .row-actions{white-space:nowrap}
  .rwexec-badge--allergy{margin-left:5px;padding:3px 7px;font-size:10.5px}

  /* Fixed two-row tablet filter layout. Hidden End Date keeps its slot so nothing jumps. */
  .rwexec-filter-row{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;gap:10px;overflow:visible;align-items:end}
  .rwexec-filter-row>label:nth-of-type(1){grid-column:1 / span 5;grid-row:1}
  .rwexec-filter-row>label:nth-of-type(2){grid-column:6 / span 2;grid-row:1}
  .rwexec-filter-row>label:nth-of-type(3){grid-column:8 / span 2;grid-row:1}
  .rwexec-filter-row>label:nth-of-type(4){grid-column:10 / span 3;grid-row:1}
  .rwexec-filter-row>label:nth-of-type(5){grid-column:1 / span 4;grid-row:2}
  .rwexec-filter-row>label:nth-of-type(6){grid-column:5 / span 2;grid-row:2}
  .rwexec-filter-row>button.button{grid-column:7 / span 2;grid-row:2;width:100%}
  .rwexec-filter-row>a.button:nth-of-type(1){grid-column:9 / span 2;grid-row:2;width:100%}
  .rwexec-filter-row>a.button:nth-of-type(2){grid-column:11 / span 2;grid-row:2;width:100%}
  .rwexec-filter-row > .button{align-self:end}
  .rwexec-weekly-row{grid-template-columns:90px minmax(170px,1fr) 115px 20px 115px}
}
@media(max-width:900px){
  .rwexec-admin{margin-right:12px}
  .rwexec-filter-row{gap:9px}
  .rwexec-reservations-table col.rwexec-w-name{width:25%}
  .rwexec-reservations-table col.rwexec-w-date{width:11%}
  .rwexec-reservations-table col.rwexec-w-start{width:10%}
  .rwexec-reservations-table col.rwexec-w-end,
  .rwexec-reservations-table col.rwexec-w-phone{width:0!important;visibility:collapse}
  .rwexec-reservations-table col.rwexec-w-guests{width:7%}
  .rwexec-reservations-table col.rwexec-w-info{width:8%}
  .rwexec-reservations-table col.rwexec-w-table{width:9%}
  .rwexec-reservations-table col.rwexec-w-indicator{width:7%}
  .rwexec-reservations-table col.rwexec-w-status{width:14%}
  .rwexec-reservations-table col.rwexec-w-checkin{width:9%}
  .rwexec-reservations-table thead th{font-size:10px;letter-spacing:.02em}
  .rwexec-reservations-table tbody td{font-size:12.5px}
  .rwexec-reservations-table td:first-child strong{font-size:13px}
  .rwexec-page-header{align-items:flex-start;flex-direction:column}
  .rwexec-page-header .button{align-self:flex-start}
  .rwexec-builder-system-row,.rwexec-builder-row__summary{grid-template-columns:1fr 1fr}
  .rwexec-builder-row__actions{justify-content:flex-start}.rwexec-editor-grid{grid-template-columns:1fr}.rwexec-editor-wide{grid-column:auto}
  .rwexec-weekly-row{grid-template-columns:100px 1fr 1fr;align-items:center}
  .rwexec-weekly-row span{display:none}
  .rwexec-weekly-row input[type=time]{grid-column:auto}
  .rwexec-admin .form-table th,.rwexec-admin .form-table td{display:block;width:100%;padding:12px 0;border:0!important}
  .rwexec-admin .form-table th{padding-bottom:3px}
  .rwexec-admin .form-table tr{display:block;border-bottom:1px solid #f0f2f4;padding:5px 0}
  .rwexec-admin .form-table tr:last-child{border-bottom:0}
}
@media(max-width:600px){
  .rwexec-list-footer{align-items:flex-start;flex-direction:column}.rwexec-pagination ul.page-numbers{flex-wrap:wrap}
  .rwexec-filter-row{display:flex;flex-wrap:wrap;align-items:stretch}.rwexec-filter-row label,.rwexec-filter-row label:first-of-type{flex:1 1 100%;width:100%;min-width:0}.rwexec-filter-row input,.rwexec-filter-row select{width:100%;min-width:0}.rwexec-filter-row .is-hidden{display:none;visibility:visible}
  .rwexec-settings-tabs{width:100%}.rwexec-settings-tabs .nav-tab{flex:1 1 auto;text-align:center}
  .rwexec-weekly-row{grid-template-columns:1fr 1fr}.rwexec-weekly-day{grid-column:1/-1}.rwexec-weekly-row select{grid-column:1/-1}
  .rwexec-admin-form,.rwexec-settings form:not(.rwexec-quick-status-form),.rwexec-detail-card{padding:6px 14px 16px}
}


/* front-end staff management shortcode */
.rwexec-staff-frontend{max-width:1480px;margin:20px auto;padding:0 4px;font-family:inherit}
.rwexec-staff-frontend a{text-decoration:none}
.rwexec-staff-frontend .button{appearance:none;text-decoration:none;border:1px solid var(--rwexec-border-strong);background:#fff;color:#344054;padding:0 13px;line-height:32px;cursor:pointer;font:inherit;font-size:13px}
.rwexec-staff-frontend .button[disabled]{opacity:.55;cursor:not-allowed}
.rwexec-staff-frontend table{width:100%}
.rwexec-staff-frontend .form-table{border-collapse:collapse}
.rwexec-staff-frontend .form-table th{text-align:left}
.rwexec-staff-frontend .regular-text,.rwexec-staff-frontend .large-text{width:100%;max-width:520px}
.rwexec-staff-frontend .submit input{border-radius:7px;min-height:38px;padding:0 16px;border:1px solid var(--rwexec-accent);background:var(--rwexec-accent);color:#fff;cursor:pointer}
.rwexec-staff-frontend .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rwexec-staff-access{padding:16px;border:1px solid #dfe3e8;border-radius:10px;background:#fff}

/* Keep filter action controls aligned in both wp-admin and shortcode views. */
.rwexec-filter-row > .button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;align-self:end;min-height:36px;height:36px;padding:0 14px!important;line-height:1!important;border-radius:6px;white-space:nowrap;vertical-align:middle}
.rwexec-staff-frontend .rwexec-filter-row > .button{min-height:36px;height:36px;padding:0 14px!important;line-height:1!important;font-size:13px;font-weight:500;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.rwexec-staff-frontend .rwexec-filter-row > .button-primary{font-weight:600}

/* v0.7.9: deterministic tablet reservation grid.
   Native table/colgroup layout becomes unreliable when End + Phone are removed,
   so tablet rows use the seven visible working columns directly. */
@media (min-width:601px) and (max-width:1100px){
  .rwexec-table-card{width:100%;overflow:hidden}
  .rwexec-reservations-table{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important}
  .rwexec-reservations-table colgroup{display:none!important}
  .rwexec-reservations-table thead,
  .rwexec-reservations-table tbody{display:block!important;width:100%!important}
  .rwexec-reservations-table thead tr,
  .rwexec-reservations-table tbody tr{
    display:grid!important;
    grid-template-columns:minmax(0,20fr) minmax(0,12fr) minmax(0,10fr) minmax(0,7fr) minmax(0,8fr) minmax(0,10fr) minmax(0,7fr) minmax(0,16fr) minmax(0,10fr);
    width:100%!important;
    align-items:center;
  }
  .rwexec-reservations-table thead th,
  .rwexec-reservations-table tbody td{
    display:block;
    width:auto!important;
    min-width:0!important;
    box-sizing:border-box;
  }
  .rwexec-reservations-table .rwexec-cell-end,
  .rwexec-reservations-table .rwexec-cell-phone{display:none!important}
  .rwexec-reservations-table .rwexec-cell-name{grid-column:1}
  .rwexec-reservations-table .rwexec-cell-date{grid-column:2}
  .rwexec-reservations-table .rwexec-cell-start{grid-column:3}
  .rwexec-reservations-table .rwexec-cell-guests{grid-column:4;text-align:center}
  .rwexec-reservations-table .rwexec-cell-info{grid-column:5;text-align:center}
  .rwexec-reservations-table .rwexec-cell-table{grid-column:6;text-align:center}
  .rwexec-reservations-table .rwexec-col-indicator{grid-column:7;text-align:center}
  .rwexec-reservations-table .rwexec-cell-status{grid-column:8}
  .rwexec-reservations-table .rwexec-checkin-cell{grid-column:9;text-align:center}
  .rwexec-reservations-table thead tr{border-bottom:1px solid var(--rwexec-border)}
  .rwexec-reservations-table thead th{border-bottom:0!important}
  .rwexec-reservations-table tbody tr{border-bottom:1px solid #edf0f3}
  .rwexec-reservations-table tbody tr:last-child{border-bottom:0}
  .rwexec-reservations-table tbody td{border-bottom:0!important}
  .rwexec-reservations-table .rwexec-cell-status .rwexec-quick-status-form{width:100%}
  .rwexec-reservations-table .rwexec-cell-status .rwexec-quick-status-form select{width:100%!important;min-width:0!important}
  .rwexec-reservations-table .rwexec-info-icons{gap:2px}
  .rwexec-reservations-table .rwexec-info-icon{width:23px;height:25px}
  .rwexec-reservations-table .rwexec-info-icon .dashicons{font-size:15px;width:15px;height:15px;line-height:15px}
  .rwexec-reservations-table .rwexec-table-input{width:50px!important;padding-left:3px!important;padding-right:3px!important}
}


/* v0.8.0 email designer */
.rwexec-email-settings-form .rwexec-settings-card {
    margin: 18px 0;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
}
.rwexec-email-settings-form .rwexec-settings-card > h2 { margin-top: 0; }
.rwexec-email-colour-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    align-items: center;
}
.rwexec-email-colour-grid label {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    font-weight: 600;
}
.rwexec-email-colour-grid input[type="color"] { width: 44px; height: 34px; padding: 2px; }
.rwexec-email-field-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 10px 16px;
    max-width: 760px;
    margin: 12px 0;
}
.rwexec-email-field-grid label {
    display: flex;
    gap: 7px;
    align-items: center;
    padding: 9px 11px;
    border: 1px solid #dfe3e8;
    border-radius: 7px;
    background: #fff;
}
@media (max-width: 900px) {
    .rwexec-email-field-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}


/* v0.9.0 customer records and staff utility actions */
.rwexec-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rwexec-staff-logout{margin-top:34px;padding-top:20px;border-top:1px solid #e5e7eb;text-align:right}
.rwexec-logout-button{display:inline-block;padding:9px 15px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;text-decoration:none;font-weight:600}
.rwexec-logout-button:hover{background:#f8fafc;color:#111827}
.rwexec-customer-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 20px}
.rwexec-customer-stats>div{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center}
.rwexec-customer-stats strong{display:block;font-size:25px;line-height:1.1;color:#111827}
.rwexec-customer-stats span{display:block;margin-top:5px;color:#64748b;font-size:12px}
.rwexec-customer-filter{grid-template-columns:minmax(280px,460px) auto auto!important}
@media(max-width:900px){.rwexec-customer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rwexec-customer-filter{grid-template-columns:1fr auto auto!important}}
.rwexec-badge--success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.rwexec-admin-consent{display:inline-flex;gap:8px;align-items:flex-start}.rwexec-admin-consent input{margin-top:2px}


/* v0.10.2 customer table and notes polish */
.rwexec-customers-table{border:0!important;border-collapse:separate;border-spacing:0;background:#fff}
.rwexec-customers-table thead th{border:0!important;border-bottom:1px solid var(--rwexec-border)!important;padding:13px 18px}
.rwexec-customers-table tbody td{border:0!important;border-bottom:1px solid #edf0f3!important;padding:16px 18px;vertical-align:middle}
.rwexec-customers-table tbody tr:last-child td{border-bottom:0!important}
.rwexec-customer-notes-card textarea.large-text{display:block;width:100%!important;max-width:none!important}
.rwexec-customer-notes-card textarea[name="staff_notes"]{min-height:150px}
.rwexec-customer-notes-card textarea[name="preferences"]{min-height:120px}


/* v0.10.3 customer notes width hotfix */
.rwexec-customer-notes-card form,.rwexec-customer-notes-card form p,.rwexec-customer-notes-card form label{display:block;width:100%;max-width:none;box-sizing:border-box}
.rwexec-customer-notes-card textarea.large-text{display:block;width:100%!important;max-width:100%!important;box-sizing:border-box!important;resize:vertical}
.rwexec-customer-notes-card textarea[name="staff_notes"]{min-height:170px}
.rwexec-customer-notes-card textarea[name="preferences"]{min-height:140px}


/* v0.10.7: mobile-friendly reservation cards.
   Phones no longer inherit the desktop minimum table width, preventing the
   blank/off-screen area on the right while keeping every staff action usable. */
@media (max-width:600px){
  .rwexec-table-card{width:100%!important;overflow:visible!important;background:transparent!important;border:0!important}
  .rwexec-reservations-table{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important;background:transparent!important;border:0!important}
  .rwexec-reservations-table colgroup,
  .rwexec-reservations-table thead{display:none!important}
  .rwexec-reservations-table tbody{display:block!important;width:100%!important}
  .rwexec-reservations-table tbody tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:0;
    width:100%!important;
    margin:0 0 12px!important;
    padding:0!important;
    overflow:hidden;
    border:1px solid var(--rwexec-border)!important;
    border-radius:9px;
    background:#fff;
    box-sizing:border-box;
  }
  .rwexec-reservations-table tbody td{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:auto!important;
    min-width:0!important;
    padding:9px 11px!important;
    border:0!important;
    border-bottom:1px solid #edf0f3!important;
    box-sizing:border-box;
    overflow:visible!important;
    white-space:normal!important;
    text-overflow:clip!important;
  }
  .rwexec-reservations-table tbody td::before{
    flex:0 0 auto;
    color:#667085;
    font-size:10px;
    font-weight:700;
    letter-spacing:.035em;
    line-height:1.2;
    text-transform:uppercase;
  }
  .rwexec-reservations-table .rwexec-cell-name{
    grid-column:1/-1;
    display:block!important;
    padding:12px 11px 10px!important;
  }
  .rwexec-reservations-table .rwexec-cell-name::before{display:none}
  .rwexec-reservations-table .rwexec-cell-name strong{font-size:14px!important}
  .rwexec-reservations-table .rwexec-cell-name .row-actions{margin-top:5px;white-space:normal!important}
  .rwexec-reservations-table .rwexec-cell-date::before{content:"Date"}
  .rwexec-reservations-table .rwexec-cell-start::before{content:"Time"}
  .rwexec-reservations-table .rwexec-cell-guests::before{content:"Guests"}
  .rwexec-reservations-table .rwexec-cell-info::before{content:"Info"}
  .rwexec-reservations-table .rwexec-cell-table::before{content:"Table"}
  .rwexec-reservations-table .rwexec-col-indicator::before{content:"Indicator"}
  .rwexec-reservations-table .rwexec-cell-status::before{content:"Status"}
  .rwexec-reservations-table .rwexec-checkin-cell::before{content:"Check In"}
  .rwexec-reservations-table .rwexec-cell-end,
  .rwexec-reservations-table .rwexec-cell-phone{display:none!important}
  .rwexec-reservations-table .rwexec-cell-date,
  .rwexec-reservations-table .rwexec-cell-start,
  .rwexec-reservations-table .rwexec-cell-guests,
  .rwexec-reservations-table .rwexec-cell-info,
  .rwexec-reservations-table .rwexec-cell-table,
  .rwexec-reservations-table .rwexec-col-indicator{grid-column:auto}
  .rwexec-reservations-table .rwexec-cell-status,
  .rwexec-reservations-table .rwexec-checkin-cell{grid-column:1/-1}
  .rwexec-reservations-table .rwexec-checkin-cell{border-bottom:0!important}
  .rwexec-reservations-table .rwexec-cell-status .rwexec-quick-status-form,
  .rwexec-reservations-table .rwexec-checkin-cell .rwexec-quick-action-form{margin-left:auto;min-width:0}
  .rwexec-reservations-table .rwexec-cell-status .rwexec-quick-status-form select{
    width:auto!important;
    min-width:124px!important;
    max-width:165px;
  }
  .rwexec-reservations-table .rwexec-checkin-cell .button{
    width:auto!important;
    min-width:86px;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .rwexec-reservations-table .rwexec-table-input{width:70px!important;max-width:70px!important;text-align:center}
  .rwexec-reservations-table .rwexec-info-icons{margin-left:auto}
  .rwexec-reservations-table .rwexec-status-indicator{margin-left:auto}
  .rwexec-reservations-table .rwexec-date-desktop{display:none!important}
  .rwexec-reservations-table .rwexec-date-tablet{display:inline!important}
  .rwexec-reservations-table .rwexec-action-desktop{display:none!important}
  .rwexec-reservations-table .rwexec-action-tablet{display:inline!important}
  .rwexec-staff-frontend,.rwexec-admin{min-width:0!important;overflow-x:hidden}
}


/* v0.10.8: compact, organised mobile layouts across staff/admin screens. */
@media (max-width:600px){
  .rwexec-admin,.rwexec-staff-frontend{width:100%!important;max-width:100%!important;margin:12px 0!important;padding-left:10px!important;padding-right:10px!important;box-sizing:border-box!important}
  .rwexec-admin h1{font-size:23px!important}.rwexec-admin h2{font-size:17px!important;margin:18px 0 7px!important}
  .rwexec-page-header{gap:10px!important;margin-bottom:14px!important}.rwexec-page-subtitle{margin-top:4px!important;font-size:12.5px!important}
  .rwexec-page-header .rwexec-header-actions{width:100%;gap:6px}.rwexec-page-header .button,.rwexec-page-header .rwexec-primary-action{min-height:36px!important;padding:0 12px!important}

  /* Add/edit forms: compact labelled rows rather than large WordPress table spacing. */
  .rwexec-admin-form,.rwexec-settings form:not(.rwexec-quick-status-form),.rwexec-detail-card{width:100%!important;max-width:none!important;padding:8px 12px 14px!important;margin:10px 0 16px!important;border-radius:9px!important}
  .rwexec-admin-form .form-table,.rwexec-admin-form .form-table tbody,.rwexec-admin-form .form-table tr,.rwexec-admin-form .form-table th,.rwexec-admin-form .form-table td{display:block!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
  .rwexec-admin-form .form-table tr{padding:9px 0!important;border-bottom:1px solid #edf0f3!important}
  .rwexec-admin-form .form-table tr:last-child{border-bottom:0!important}
  .rwexec-admin-form .form-table th{padding:0 0 5px!important;font-size:12px!important;line-height:1.3!important}
  .rwexec-admin-form .form-table td{padding:0!important}
  .rwexec-admin-form input[type=text],.rwexec-admin-form input[type=email],.rwexec-admin-form input[type=tel],.rwexec-admin-form input[type=url],.rwexec-admin-form input[type=number],.rwexec-admin-form input[type=date],.rwexec-admin-form input[type=time],.rwexec-admin-form input[type=search],.rwexec-admin-form select,.rwexec-admin-form textarea{width:100%!important;max-width:none!important;min-height:40px!important;margin:0!important;font-size:16px!important}
  .rwexec-admin-form textarea{min-height:92px!important}.rwexec-admin-form .description{margin:5px 0 0!important;font-size:11.5px!important}
  .rwexec-admin-form .submit{margin:12px 0 0!important;padding:0!important}.rwexec-admin-form .submit .button,.rwexec-admin-form .submit input{width:100%!important;min-height:42px!important}
  .rwexec-admin-form input[type=checkbox],.rwexec-admin-form input[type=radio]{width:auto!important;min-height:0!important;margin-right:5px!important}

  /* Reservation/customer detail pages. */
  .rwexec-detail-table,.rwexec-detail-table tbody{display:block!important;width:100%!important}
  .rwexec-detail-table tr{display:grid!important;grid-template-columns:minmax(105px,34%) minmax(0,1fr);width:100%!important;padding:0!important;border-bottom:1px solid #edf0f3!important}
  .rwexec-detail-table tr:last-child{border-bottom:0!important}
  .rwexec-detail-table th,.rwexec-detail-table td{display:block!important;width:auto!important;min-width:0!important;padding:9px 6px!important;border:0!important;overflow-wrap:anywhere}
  .rwexec-detail-table th{font-size:11.5px!important;color:#667085}.rwexec-detail-table td{font-size:13px!important}
  .rwexec-detail-card>h2:first-child{margin-top:8px!important}
  .rwexec-customer-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-bottom:12px!important}.rwexec-customer-stats>div{padding:10px 7px!important}.rwexec-customer-stats strong{font-size:20px!important}
  .rwexec-customer-notes-card textarea[name="staff_notes"]{min-height:125px!important}.rwexec-customer-notes-card textarea[name="preferences"]{min-height:105px!important}
  .rwexec-customer-notes-card p{margin:9px 0!important}.rwexec-customer-notes-card .button{width:100%!important}

  /* Customer history becomes readable mobile cards. */
  .rwexec-customer-history-table{display:block!important;width:100%!important;border:0!important}.rwexec-customer-history-table thead{display:none!important}.rwexec-customer-history-table tbody{display:block!important}
  .rwexec-customer-history-table tbody tr{display:grid!important;grid-template-columns:1fr 1fr!important;margin:0 0 9px!important;border:1px solid var(--rwexec-border)!important;border-radius:8px!important;overflow:hidden;background:#fff}
  .rwexec-customer-history-table tbody td{display:flex!important;justify-content:space-between!important;gap:8px!important;padding:8px 9px!important;border:0!important;border-bottom:1px solid #edf0f3!important;font-size:12.5px!important}
  .rwexec-customer-history-table tbody td:nth-child(1)::before{content:"Date"}.rwexec-customer-history-table tbody td:nth-child(2)::before{content:"Time"}.rwexec-customer-history-table tbody td:nth-child(3)::before{content:"Guests"}.rwexec-customer-history-table tbody td:nth-child(4)::before{content:"Status"}.rwexec-customer-history-table tbody td:nth-child(5)::before{content:"Arrival"}.rwexec-customer-history-table tbody td:nth-child(6)::before{content:"Booking"}
  .rwexec-customer-history-table tbody td::before{color:#667085;font-size:10px;font-weight:700;text-transform:uppercase}.rwexec-customer-history-table tbody td:nth-last-child(-n+2){border-bottom:0!important}

  /* Settings/form builder and special-date controls: less empty space and no forced wide grids. */
  .rwexec-settings-tabs{gap:4px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px}.rwexec-settings-tabs .nav-tab{flex:0 0 auto!important;margin:0!important;padding:7px 9px!important;font-size:12px!important}
  .rwexec-settings .form-table tr{padding:7px 0!important}.rwexec-settings .form-table th{padding:0 0 4px!important;font-size:12px!important}.rwexec-settings .form-table td{padding:0 0 7px!important}
  .rwexec-settings input[type=text],.rwexec-settings input[type=email],.rwexec-settings input[type=tel],.rwexec-settings input[type=url],.rwexec-settings input[type=number],.rwexec-settings input[type=date],.rwexec-settings input[type=time],.rwexec-settings select,.rwexec-settings textarea{max-width:100%!important}
  .rwexec-builder-system-row,.rwexec-builder-row__summary{grid-template-columns:1fr!important;gap:7px!important;padding:11px 12px!important}.rwexec-builder-row__actions{justify-content:flex-start!important}.rwexec-field-editor{padding:12px!important}.rwexec-editor-grid{gap:10px!important}
  .rwexec-special-date-form{padding:12px!important}.rwexec-special-date-form .row{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.rwexec-special-date-form label{margin:0!important}.rwexec-special-date-form input,.rwexec-special-date-form select{width:100%!important;max-width:none!important}
  .rwexec-email-settings-form .rwexec-settings-card{padding:13px!important;margin:10px 0!important}.rwexec-email-field-grid{grid-template-columns:1fr!important;gap:7px!important}.rwexec-email-colour-grid{gap:9px!important}

  /* General mobile action sizing. */
  .rwexec-admin .button,.rwexec-staff-frontend .button{min-height:36px}.rwexec-staff-logout{margin-top:20px!important;padding-top:14px!important;text-align:left!important}
}


/* v0.10.9: mobile form divider cleanup.
   WordPress/theme table borders are removed so each field group has one divider only. */
@media (max-width:600px){
  .rwexec-admin-form .form-table,
  .rwexec-admin-form .form-table tbody,
  .rwexec-admin-form .form-table tr,
  .rwexec-admin-form .form-table th,
  .rwexec-admin-form .form-table td{
    border:0!important;
    box-shadow:none!important;
  }

  .rwexec-admin-form .form-table tr{
    border-bottom:1px solid #edf0f3!important;
  }

  .rwexec-admin-form .form-table tr:last-child{
    border-bottom:0!important;
  }
}


/* v0.10.11: returning-customer lookup and customer-history Late column. */
.rwexec-customer-lookup{margin:4px 0 14px;padding:14px 16px;border:1px solid var(--rwexec-border,#dcdcde);border-radius:8px;background:#f8f9fa;box-sizing:border-box}
.rwexec-customer-lookup>label{display:block;margin-bottom:6px}
.rwexec-customer-lookup__control{position:relative;max-width:520px}
.rwexec-customer-lookup__control>input{width:100%;max-width:none;min-height:40px}
.rwexec-customer-lookup__results{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);overflow:hidden;border:1px solid #cfd4da;border-radius:7px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.rwexec-customer-lookup__result{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;border:0;border-bottom:1px solid #edf0f3;background:#fff;text-align:left;cursor:pointer}
.rwexec-customer-lookup__result:last-child{border-bottom:0}.rwexec-customer-lookup__result:hover,.rwexec-customer-lookup__result:focus{background:#f0f6fc;outline:0}
.rwexec-customer-lookup__result span{font-size:12px;color:#667085}.rwexec-customer-lookup__empty{padding:10px 11px;color:#667085;font-size:12px}
.rwexec-customer-lookup .description{margin:6px 0 0}
.rwexec-customer-history-table th:nth-child(4),.rwexec-customer-history-table td:nth-child(4){white-space:nowrap}

@media (max-width:600px){
  .rwexec-customer-lookup{margin:0 0 10px;padding:10px 12px}.rwexec-customer-lookup__control{max-width:none}.rwexec-customer-lookup__control>input{font-size:16px!important}
  .rwexec-customer-history-table tbody td:nth-child(1)::before{content:"Date"}
  .rwexec-customer-history-table tbody td:nth-child(2)::before{content:"Time"}
  .rwexec-customer-history-table tbody td:nth-child(3)::before{content:"Guests"}
  .rwexec-customer-history-table tbody td:nth-child(4)::before{content:"Late"}
  .rwexec-customer-history-table tbody td:nth-child(5)::before{content:"Status"}
  .rwexec-customer-history-table tbody td:nth-child(6)::before{content:"Arrival"}
  .rwexec-customer-history-table tbody td:nth-child(7)::before{content:"Booking"}
}

/* v0.10.20 setup wizard */
.rwexec-setup-wizard{max-width:1040px}
.rwexec-setup-wizard__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:8px 0 20px}
.rwexec-setup-wizard__header h1{margin-bottom:5px}.rwexec-setup-wizard__header p{margin:0;color:#646970;font-size:14px}
.rwexec-setup-wizard__complete{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#edfaef;color:#116329;font-size:12px;font-weight:700;white-space:nowrap}
.rwexec-setup-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none}
.rwexec-setup-steps li{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid #dcdcde;border-radius:8px;background:#fff;color:#646970}
.rwexec-setup-steps li span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#f0f0f1;color:#50575e;font-size:12px;font-weight:700}
.rwexec-setup-steps li strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.rwexec-setup-steps li.is-current{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.rwexec-setup-steps li.is-current span{background:#2271b1;color:#fff}.rwexec-setup-steps li.is-current strong{color:#1d2327}
.rwexec-setup-steps li.is-done{border-color:#b8dfc2;background:#f6fff8}.rwexec-setup-steps li.is-done span{background:#1f8f40;color:#fff}
.rwexec-setup-card{padding:24px 26px;border:1px solid #dcdcde;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.rwexec-setup-card>h2{margin:0 0 4px;font-size:21px}.rwexec-setup-lead{margin:0 0 22px;color:#646970;font-size:14px}
.rwexec-setup-grid{display:grid;gap:18px}.rwexec-setup-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rwexec-setup-field{min-width:0}.rwexec-setup-field--full{grid-column:1/-1}.rwexec-setup-field>label{display:block;margin:0 0 6px;font-weight:600;color:#1d2327}.rwexec-setup-field>label span{color:#b32d2e}
.rwexec-setup-field input:not([type=checkbox]):not([type=radio]),.rwexec-setup-field select,.rwexec-setup-field textarea{display:block;width:100%;max-width:none;min-height:40px;margin:0}.rwexec-setup-field textarea{min-height:80px}.rwexec-setup-field .description{margin:5px 0 0;color:#646970}
.rwexec-setup-weekly{overflow:hidden;border:1px solid #dcdcde;border-radius:8px}.rwexec-setup-weekly__row{display:grid;grid-template-columns:130px minmax(180px,1fr) 130px auto 130px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf0f3}.rwexec-setup-weekly__row:last-child{border-bottom:0}.rwexec-setup-weekly__row label{margin:0}.rwexec-setup-weekly__row select,.rwexec-setup-weekly__row input{width:100%;max-width:none;min-height:36px}
.rwexec-setup-actions{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid #edf0f3}.rwexec-setup-spacer{flex:1}.rwexec-setup-actions .button-link{text-decoration:none}.rwexec-setup-actions--finish .button-hero{min-height:42px}
.rwexec-setup-callout{margin-top:20px;padding:14px 16px;border:1px solid #c3d8e8;border-radius:8px;background:#f5faff}.rwexec-setup-callout strong{display:block;margin-bottom:6px}.rwexec-setup-callout code{display:inline-block;padding:4px 7px;font-size:13px}.rwexec-setup-callout p{margin:7px 0 0;color:#50575e}
.rwexec-setup-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.rwexec-setup-summary>div{padding:14px;border:1px solid #dcdcde;border-radius:8px;background:#f9f9f9}.rwexec-setup-summary span{display:block;margin-bottom:4px;color:#646970;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.rwexec-setup-summary strong{display:block;font-size:15px}.rwexec-setup-open-days{margin:16px 0;padding:12px 0;color:#50575e;line-height:1.6}
@media(max-width:782px){.rwexec-setup-steps{grid-template-columns:1fr}.rwexec-setup-steps li:not(.is-current){display:none}.rwexec-setup-card{padding:18px 16px}.rwexec-setup-grid--2{grid-template-columns:1fr}.rwexec-setup-field--full{grid-column:auto}.rwexec-setup-weekly{border:0}.rwexec-setup-weekly__row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;padding:12px;border:1px solid #dcdcde;border-radius:8px}.rwexec-setup-weekly__row>strong{grid-column:1/-1}.rwexec-setup-weekly__row>label:nth-of-type(1){grid-column:1/-1}.rwexec-setup-weekly__row>span{display:none}.rwexec-setup-summary{grid-template-columns:1fr 1fr}.rwexec-setup-actions{flex-wrap:wrap}.rwexec-setup-actions .rwexec-setup-spacer{display:none}.rwexec-setup-actions .button{flex:1;text-align:center}.rwexec-setup-actions .button-link{flex:0 0 100%;order:3}.rwexec-setup-wizard__header{display:block}.rwexec-setup-wizard__complete{margin-top:10px}}
@media(max-width:480px){.rwexec-setup-summary{grid-template-columns:1fr}.rwexec-setup-actions--finish .button{flex:0 0 100%}}


/* v0.10.21 full-screen setup wizard */
body.rwexec-setup-fullscreen #adminmenumain,
body.rwexec-setup-fullscreen #wpadminbar,
body.rwexec-setup-fullscreen #wpfooter,
body.rwexec-setup-fullscreen #screen-meta,
body.rwexec-setup-fullscreen #screen-meta-links,
body.rwexec-setup-fullscreen .update-nag,
body.rwexec-setup-fullscreen .notice:not(.rwexec-setup-notice),
body.rwexec-setup-fullscreen .error:not(.rwexec-setup-notice),
body.rwexec-setup-fullscreen .updated:not(.rwexec-setup-notice){
    display:none!important;
}

html.wp-toolbar:has(body.rwexec-setup-fullscreen){
    padding-top:0!important;
}

body.rwexec-setup-fullscreen{
    background:#f6f7f7;
}

body.rwexec-setup-fullscreen #wpwrap{
    min-height:100vh;
}

body.rwexec-setup-fullscreen #wpcontent{
    margin-left:0!important;
    padding-left:0!important;
}

body.rwexec-setup-fullscreen #wpbody{
    min-height:100vh;
}

body.rwexec-setup-fullscreen #wpbody-content{
    min-height:100vh;
    padding-bottom:0!important;
}

body.rwexec-setup-fullscreen .rwexec-setup-wizard{
    width:calc(100% - 40px);
    max-width:1040px;
    margin:0 auto;
    padding:42px 0 56px;
}

body.rwexec-setup-fullscreen .rwexec-setup-wizard__header{
    margin-top:0;
}

@media(max-width:782px){
    html.wp-toolbar:has(body.rwexec-setup-fullscreen){
        padding-top:0!important;
    }

    body.rwexec-setup-fullscreen #wpcontent{
        padding-left:0!important;
    }

    body.rwexec-setup-fullscreen .rwexec-setup-wizard{
        width:calc(100% - 28px);
        padding:24px 0 40px;
    }
}


/* v0.10.22 setup launcher and delivery guidance */
.rwexec-setup-launcher{margin-top:20px}
.rwexec-setup-launcher__content{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.rwexec-setup-launcher__content h2{margin-top:0}
.rwexec-setup-launcher__status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f0f0f1;color:#50575e;font-size:12px;font-weight:700;white-space:nowrap}
.rwexec-setup-launcher__status.is-complete{background:#edfaef;color:#116329}
.rwexec-guidance-list{margin:10px 0 10px 20px;list-style:disc}
.rwexec-guidance-list li{margin:0 0 6px}
@media(max-width:600px){
    .rwexec-setup-launcher__content{display:block}
    .rwexec-setup-launcher__status{margin-top:8px}
}

/* Licence settings */
.rwexec-license-card{max-width:900px;margin-top:20px;padding:22px;border:1px solid #dcdcde;border-radius:10px;background:#fff}
.rwexec-license-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.rwexec-license-heading h2{margin:0 0 5px}.rwexec-license-heading p{margin:0;color:#646970}
.rwexec-license-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:999px;background:#f0f0f1;color:#50575e;font-weight:600;white-space:nowrap}.rwexec-license-badge--active{background:#edfaef;color:#116329}.rwexec-license-badge--grace{background:#fff8e5;color:#8a4b00}.rwexec-license-badge--expired,.rwexec-license-badge--subscription_inactive,.rwexec-license-badge--revoked,.rwexec-license-badge--suspended,.rwexec-license-badge--invalid,.rwexec-license-badge--activation_limit_reached{background:#fcf0f1;color:#8a2424}
.rwexec-license-key{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;text-transform:uppercase}
.rwexec-license-details{margin-top:22px;padding-top:18px;border-top:1px solid #e8eaed}.rwexec-license-details h3{margin-top:0}.rwexec-license-details dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #e8eaed;border-radius:8px;overflow:hidden}.rwexec-license-details dl>div{display:grid;grid-template-columns:135px 1fr;gap:10px;padding:11px 13px;border-bottom:1px solid #e8eaed}.rwexec-license-details dl>div:nth-last-child(-n+2){border-bottom:0}.rwexec-license-details dt{font-weight:600;color:#50575e}.rwexec-license-details dd{margin:0;overflow-wrap:anywhere}.rwexec-license-details code{font-size:12px}
.rwexec-license-actions{display:flex;gap:8px;align-items:center;margin-top:16px}.rwexec-license-actions form{margin:0}.rwexec-license-policy{margin-top:20px;padding:14px 16px;border-radius:8px;background:#f6f7f7}.rwexec-license-policy p{margin:4px 0 0;color:#50575e}.rwexec-license-error{color:#b32d2e!important}
@media(max-width:782px){.rwexec-license-heading{display:block}.rwexec-license-badge{margin-top:10px}.rwexec-license-details dl{grid-template-columns:1fr}.rwexec-license-details dl>div{grid-template-columns:115px 1fr;border-bottom:1px solid #e8eaed!important}.rwexec-license-details dl>div:last-child{border-bottom:0!important}.rwexec-license-actions{align-items:stretch;flex-direction:column}.rwexec-license-actions form,.rwexec-license-actions .button{width:100%}}


/* v1.0.0 front-end isolation: keep Elementor/theme rules out of staff management. */
.rwexec-admin.rwexec-staff-frontend{
  --rwexec-bg:#f4f6f8;--rwexec-surface:#fff;--rwexec-surface-muted:#f8fafc;--rwexec-border:#dfe3e8;--rwexec-border-strong:#cdd3da;--rwexec-text:#172033;--rwexec-muted:#667085;--rwexec-accent:#2563eb;--rwexec-accent-dark:#1d4ed8;
  display:block!important;width:100%!important;max-width:1480px!important;margin:20px auto!important;padding:24px!important;background:#fff!important;color:#172033!important;border-radius:12px!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;line-height:1.5!important;
}
.rwexec-admin.rwexec-staff-frontend h1,.rwexec-admin.rwexec-staff-frontend h2,.rwexec-admin.rwexec-staff-frontend h3,.rwexec-admin.rwexec-staff-frontend p,.rwexec-admin.rwexec-staff-frontend label,.rwexec-admin.rwexec-staff-frontend span,.rwexec-admin.rwexec-staff-frontend td,.rwexec-admin.rwexec-staff-frontend th{color:inherit}
.rwexec-admin.rwexec-staff-frontend .rwexec-page-subtitle,.rwexec-admin.rwexec-staff-frontend .description,.rwexec-admin.rwexec-staff-frontend .rwexec-history-note{color:#667085!important}
.rwexec-admin.rwexec-staff-frontend .rwexec-filter-row{background:#fff!important;border:1px solid #dfe3e8!important}
.rwexec-admin.rwexec-staff-frontend .rwexec-filter-row label{display:flex!important;color:#344054!important;font-size:12px!important;font-weight:650!important}
.rwexec-admin.rwexec-staff-frontend input[type=text],.rwexec-admin.rwexec-staff-frontend input[type=email],.rwexec-admin.rwexec-staff-frontend input[type=tel],.rwexec-admin.rwexec-staff-frontend input[type=number],.rwexec-admin.rwexec-staff-frontend input[type=date],.rwexec-admin.rwexec-staff-frontend input[type=time],.rwexec-admin.rwexec-staff-frontend input[type=search],.rwexec-admin.rwexec-staff-frontend select,.rwexec-admin.rwexec-staff-frontend textarea{background:#fff!important;color:#172033!important;border:1px solid #cdd3da!important;border-radius:7px!important;box-shadow:none!important;font:inherit!important}
.rwexec-admin.rwexec-staff-frontend .button{background:#fff!important;color:#344054!important;border:1px solid #cdd3da!important;border-radius:7px!important;box-shadow:none!important;text-decoration:none!important;font:inherit!important;font-size:13px!important}
.rwexec-admin.rwexec-staff-frontend .button-primary{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}
.rwexec-admin.rwexec-staff-frontend .button-primary:hover{background:#1d4ed8!important;border-color:#1d4ed8!important}
.rwexec-admin.rwexec-staff-frontend table{background:#fff!important;color:#344054!important}
.rwexec-admin.rwexec-staff-frontend .rwexec-table-card{background:#fff!important}
.rwexec-admin.rwexec-staff-frontend .rwexec-staff-logout{color:#344054!important}
.rwexec-admin.rwexec-staff-frontend .rwexec-logout-button{color:#2563eb!important}

/* Settings shortcode reference. */
.rwexec-shortcodes-card{max-width:1040px}
.rwexec-shortcode-list{margin-top:18px;border:1px solid var(--rwexec-border);border-radius:10px;overflow:hidden;background:#fff}
.rwexec-shortcode-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,1.2fr);gap:24px;align-items:center;padding:16px 18px;border-bottom:1px solid #edf0f3}
.rwexec-shortcode-row:last-child{border-bottom:0}.rwexec-shortcode-row p{margin:4px 0 0!important}
.rwexec-shortcode-copy{display:flex;align-items:center;justify-content:flex-end;gap:10px}.rwexec-shortcode-copy code{flex:1;overflow:auto;white-space:nowrap}.rwexec-shortcode-copy .button{flex:0 0 auto}
@media(max-width:760px){.rwexec-shortcode-row{grid-template-columns:1fr}.rwexec-shortcode-copy{justify-content:flex-start}}


/* v1.0.0 manual reservation contact availability */
.rwexec-admin .rwexec-contact-unavailable {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-weight: 500 !important;
}
.rwexec-admin .rwexec-contact-unavailable input[type="checkbox"] {
    margin: 0 !important;
}
.rwexec-admin input:disabled,
.rwexec-admin textarea:disabled,
.rwexec-admin select:disabled {
    opacity: .65;
    cursor: not-allowed;
}


/* Historic reservation marker */
.rwexec-badge--historic{background:#eef2f7!important;color:#334155!important;border:1px solid #cbd5e1!important;}


/* Compact historic-booking control in Add Reservation header */
.rwexec-page-header__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.rwexec-admin .rwexec-historic-header-toggle{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:30px;padding:0 10px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#475569!important;font-size:13px!important;font-weight:600!important;line-height:1!important;cursor:pointer;white-space:nowrap}
.rwexec-admin .rwexec-historic-header-toggle:hover{background:#f1f5f9;border-color:#94a3b8}
.rwexec-admin .rwexec-historic-header-toggle input[type="checkbox"]{margin:0!important}
.rwexec-admin .rwexec-historic-header-toggle:has(input:checked){background:#eef2f7;border-color:#94a3b8;color:#334155!important}
@media(max-width:700px){.rwexec-page-header__actions{width:100%;justify-content:flex-start}}

/* v1.0.0 front-end text link colours: prevent theme/Elementor link colours leaking into staff UI. */
.rwexec-admin.rwexec-staff-frontend a:not(.button):not(.rwexec-info-icon):not(.rwexec-staff-logout):not(.rwexec-logout-button){
  color:var(--rwexec-accent)!important;
  text-decoration:none!important;
}
.rwexec-admin.rwexec-staff-frontend a:not(.button):not(.rwexec-info-icon):not(.rwexec-staff-logout):not(.rwexec-logout-button):hover{
  color:var(--rwexec-accent-dark)!important;
  text-decoration:underline!important;
}

/* v0.10.15: reservation filter responsiveness + stable info icon hover */
.rwexec-info-icon:hover,.rwexec-info-icon:focus{opacity:1!important;filter:none!important;text-decoration:none!important}
.rwexec-info-icon--allergy:hover,.rwexec-info-icon--allergy:focus{background:#fffaeb!important;color:#b54708!important}
.rwexec-info-icon--notes:hover,.rwexec-info-icon--notes:focus{background:#f2f4f7!important;color:#475467!important}
.rwexec-info-icon:hover .dashicons,.rwexec-info-icon:focus .dashicons{color:inherit!important;opacity:1!important}
.rwexec-auto-completed-note{display:inline-block;margin-top:4px;color:#667085;font-size:12px}

/* Keep search, dropdowns and date fields visually identical in the reservation filter row. */
.rwexec-filter-row input[type=search],
.rwexec-filter-row input[type=date],
.rwexec-filter-row select{
  box-sizing:border-box!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
}

/* Reservation filters: six-column desktop row + compact actions, responsive tablet/mobile layout. */
.rwexec-filter-row{
  display:grid!important;
  grid-template-columns:minmax(260px,1.55fr) minmax(145px,1fr) minmax(145px,1fr) minmax(155px,1fr) minmax(105px,.52fr) minmax(155px,1fr)!important;
  gap:12px 14px!important;
  align-items:end!important;
}
.rwexec-filter-search,.rwexec-filter-status,.rwexec-filter-order,.rwexec-filter-start-date,.rwexec-filter-end-toggle,.rwexec-filter-end-date{min-width:0}
.rwexec-filter-end-toggle{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;gap:8px!important;margin:0!important;min-height:58px;white-space:nowrap}
.rwexec-filter-end-toggle span{font-size:12px;font-weight:650;color:#344054}
.rwexec-filter-end-toggle input[type=checkbox]{margin:0!important;width:18px!important;height:18px!important;min-height:18px!important}
/* Keep the End Date column in place on desktop so the six-column row never shifts. */
.rwexec-filter-end-date.is-hidden{visibility:hidden!important;pointer-events:none!important}
.rwexec-filter-actions{
  grid-column:4 / -1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  min-width:0;
  width:100%;
  justify-self:end;
}
.rwexec-filter-actions>.button{
  box-sizing:border-box;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:36px;
  height:36px;
  padding:0 10px!important;
  line-height:1!important;
  border-radius:6px;
  white-space:nowrap;
  margin:0!important;
}
.rwexec-button-danger-outline{
  color:#d92d20!important;
  border-color:#d92d20!important;
  background:#fff!important;
}
.rwexec-button-danger-outline:hover,.rwexec-button-danger-outline:focus{
  color:#b42318!important;
  border-color:#b42318!important;
  background:#fef3f2!important;
}

@media(max-width:1100px){
 .rwexec-filter-row{grid-template-columns:1fr 1fr!important;gap:12px 8px!important}
 .rwexec-filter-search{grid-column:1/-1!important;grid-row:1!important}
 .rwexec-filter-status{grid-column:1!important;grid-row:2!important}
 .rwexec-filter-order{grid-column:2!important;grid-row:2!important}
 .rwexec-filter-end-toggle{grid-column:1/-1!important;grid-row:3!important;min-height:auto!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important}
 .rwexec-filter-end-toggle span{order:2}
 .rwexec-filter-end-toggle input{order:1}
 .rwexec-filter-start-date{grid-column:1!important;grid-row:4!important}
 .rwexec-filter-end-date{grid-column:2!important;grid-row:4!important}
 .rwexec-filter-end-date.is-hidden{display:none!important;visibility:visible!important}
 .rwexec-filter-actions{grid-column:1/-1!important;grid-row:5!important;grid-template-columns:1fr 1fr!important;width:100%!important}
}
@media(max-width:600px){
 .rwexec-page-header .rwexec-header-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important}
 .rwexec-page-header .rwexec-header-actions .button{width:100%!important;justify-content:center!important;text-align:center!important;align-self:stretch!important}
 .rwexec-filter-row{display:grid!important;grid-template-columns:1fr 1fr!important;padding:14px!important;gap:14px 8px!important;overflow:hidden!important}
 .rwexec-filter-search,.rwexec-filter-status,.rwexec-filter-order,.rwexec-filter-start-date,.rwexec-filter-end-toggle,.rwexec-filter-end-date,.rwexec-filter-actions{min-width:0!important}
 .rwexec-filter-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
 .rwexec-filter-actions>.button{width:100%!important;min-width:0!important;margin:0!important}
 .rwexec-filter-row input,.rwexec-filter-row select{width:100%!important;min-width:0!important;box-sizing:border-box!important}
 .rwexec-filter-row input[type=date]{max-width:100%!important;font-size:14px!important;padding-left:8px!important;padding-right:8px!important}
}

/* v1.0.0: vertically centre reservation filter select text without changing control size. */
.rwexec-filter-row select{
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:36px!important;
  vertical-align:middle!important;
}

/* v1.0.0: mobile reservation filter control sizing and danger action styling. */
.rwexec-admin.rwexec-staff-frontend .rwexec-filter-actions .rwexec-button-danger-outline,
.rwexec-admin .rwexec-filter-actions .rwexec-button-danger-outline{
  color:#d92d20!important;
  border:1px solid #d92d20!important;
  background:#fff!important;
}
.rwexec-admin.rwexec-staff-frontend .rwexec-filter-actions .rwexec-button-danger-outline:hover,
.rwexec-admin.rwexec-staff-frontend .rwexec-filter-actions .rwexec-button-danger-outline:focus,
.rwexec-admin .rwexec-filter-actions .rwexec-button-danger-outline:hover,
.rwexec-admin .rwexec-filter-actions .rwexec-button-danger-outline:focus{
  color:#b42318!important;
  border-color:#b42318!important;
  background:#fef3f2!important;
}

@media(max-width:600px){
  .rwexec-filter-row{
    column-gap:12px!important;
  }

  .rwexec-filter-row input[type=search],
  .rwexec-filter-row input[type=date],
  .rwexec-filter-row select{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    box-sizing:border-box!important;
    margin:0!important;
  }

  .rwexec-filter-row input[type=date]{
    -webkit-appearance:none!important;
    appearance:none!important;
    padding:0 12px!important;
    line-height:normal!important;
  }

  .rwexec-filter-start-date,
  .rwexec-filter-end-date{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
}

/* v1.0.0: match mobile date fields to the action button height. */
@media(max-width:600px){
  .rwexec-filter-row input[type=date]{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
}

/* v1.0.0: make all mobile reservation filter fields match action button height. */
@media(max-width:600px){
  .rwexec-filter-row input[type=search],
  .rwexec-filter-row input[type=date],
  .rwexec-filter-row select{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
  .rwexec-filter-row input[type=search]{
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:34px!important;
  }
  .rwexec-filter-row select{
    line-height:34px!important;
  }
}

/* v1.0.0: simplified always-visible date range + collapsible reservation filters. */
.rwexec-filter-panel{
  margin:0 0 18px;
  background:var(--rwexec-surface);
  border:1px solid var(--rwexec-border);
  border-radius:var(--rwexec-radius);
  box-shadow:var(--rwexec-shadow);
  overflow:hidden;
}
.rwexec-filter-panel__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:10px 16px;
}
.rwexec-filter-toggle{
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  border:0;
  background:transparent;
  color:#344054;
  font:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1.35;
  cursor:pointer;
  padding:4px 0;
  display:inline-flex;
  align-items:center;
  gap:16px;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  box-shadow:none!important;
}
.rwexec-filter-toggle,
.rwexec-filter-toggle:hover,
.rwexec-filter-toggle:focus,
.rwexec-filter-toggle:focus-visible,
.rwexec-filter-toggle:active{
  color:#344054!important;
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  outline:none!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.rwexec-filter-toggle__arrow{
  display:inline-block;
  min-width:20px;
  font-size:17px;
  font-weight:400;
  line-height:1;
  text-align:center;
}
.rwexec-filter-row{
  grid-template-columns:minmax(260px,1.5fr) minmax(145px,1fr) minmax(145px,1fr) minmax(155px,1fr) minmax(155px,1fr)!important;
  margin:0!important;
  padding:0 16px 14px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.rwexec-filter-panel:not(.is-open) .rwexec-filter-row{display:none!important}
.rwexec-filter-actions{grid-column:3 / -1!important}
.rwexec-filter-end-date{visibility:visible!important;pointer-events:auto!important;display:flex!important}

@media (min-width:601px) and (max-width:1100px){
  .rwexec-filter-row{
    grid-template-columns:minmax(190px,1.55fr) minmax(125px,1fr) minmax(125px,1fr) minmax(145px,1fr) minmax(145px,1fr)!important;
    gap:10px 10px!important;
  }
  .rwexec-filter-search{grid-column:1!important;grid-row:1!important}
  .rwexec-filter-status{grid-column:2!important;grid-row:1!important}
  .rwexec-filter-order{grid-column:3!important;grid-row:1!important}
  .rwexec-filter-start-date{grid-column:4!important;grid-row:1!important}
  .rwexec-filter-end-date{grid-column:5!important;grid-row:1!important}
  .rwexec-filter-actions{
    grid-column:3 / -1!important;
    grid-row:2!important;
    grid-template-columns:repeat(4,minmax(100px,1fr))!important;
    width:100%!important;
    gap:8px!important;
  }
}
@media(max-width:600px){
  .rwexec-filter-panel__header{padding:9px 14px}
  .rwexec-filter-row{
    grid-template-columns:1fr 1fr!important;
    padding:0 14px 14px!important;
    gap:14px 12px!important;
  }
  .rwexec-filter-search{grid-column:1/-1!important;grid-row:1!important}
  .rwexec-filter-status{grid-column:1!important;grid-row:2!important}
  .rwexec-filter-order{grid-column:2!important;grid-row:2!important}
  .rwexec-filter-start-date{grid-column:1!important;grid-row:3!important}
  .rwexec-filter-end-date{grid-column:2!important;grid-row:3!important}
  .rwexec-filter-actions{grid-column:1/-1!important;grid-row:4!important;grid-template-columns:1fr 1fr!important;width:100%!important}
}


/* v1.0.0: Free / Premium feature gating. */
.rwexec-premium-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:6px;
  padding:2px 7px;
  border:1px solid #d7b45a;
  border-radius:999px;
  background:#fff8df;
  color:#765611;
  font-size:11px;
  font-weight:600;
  line-height:1.5;
  vertical-align:middle;
  white-space:nowrap;
}
.rwexec-premium-locked fieldset{
  margin:0;
  padding:0;
  border:0;
}
.rwexec-premium-locked fieldset[disabled],
.rwexec-premium-locked-inline{
  opacity:.58;
}
.rwexec-premium-help{
  margin:8px 0 0!important;
  color:#6b7280;
  font-size:12px;
}
.rwexec-premium-gate{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin:20px 0;
  padding:22px;
  border:1px solid #ead79e;
  border-radius:10px;
  background:#fffbeb;
}
.rwexec-premium-gate__icon{
  flex:0 0 auto;
  font-size:28px;
  line-height:1;
}
.rwexec-premium-gate h3{margin:0 0 6px;font-size:16px}
.rwexec-premium-gate p{margin:0 0 12px;max-width:760px;color:#4b5563}
@media(max-width:600px){
  .rwexec-premium-gate{padding:16px;gap:12px}
  .rwexec-premium-gate__icon{font-size:23px}
}

/* v1.0.0 premium UI polish */
.rwexec-premium-icon{
  display:inline-block;
  width:11px;
  height:11px;
  max-width:11px;
  max-height:11px;
  object-fit:contain;
  flex:0 0 11px;
  vertical-align:-1px;
}
.rwexec-premium-upgrade{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:auto!important;
  min-width:0!important;
  min-height:26px;
  margin:0 0 0 6px;
  padding:3px 8px!important;
  border:1px solid #e5a000!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#b77900!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.15!important;
  text-decoration:none!important;
  vertical-align:middle;
  white-space:nowrap;
  box-shadow:none!important;
  box-sizing:border-box;
}
.rwexec-premium-upgrade:hover,
.rwexec-premium-upgrade:focus{
  border-color:#c88b00!important;
  background:#fff8e6!important;
  color:#8a5c00!important;
  box-shadow:0 0 0 1px #c88b00!important;
  outline:0;
}
.rwexec-premium-upgrade .rwexec-premium-icon{
  width:11px!important;
  height:11px!important;
  max-width:11px!important;
  max-height:11px!important;
}
.rwexec-premium-gate__icon .rwexec-premium-icon{
  width:24px!important;
  height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
}
.rwexec-premium-lock,
.rwexec-premium-control{
  position:relative;
}
.rwexec-premium-control[data-premium-tooltip]{
  cursor:not-allowed;
}
.rwexec-premium-control[data-premium-tooltip]::after,
.rwexec-premium-lock[data-premium-tooltip]::after{
  content:attr(data-premium-tooltip);
  position:absolute;
  z-index:1000;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(4px);
  width:max-content;
  max-width:280px;
  padding:8px 10px;
  border-radius:6px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:500;
  line-height:1.35;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease, transform .12s ease, visibility .12s ease;
}
.rwexec-premium-control[data-premium-tooltip]:hover::after,
.rwexec-premium-control[data-premium-tooltip]:focus-within::after,
.rwexec-premium-lock[data-premium-tooltip]:hover::after,
.rwexec-premium-lock[data-premium-tooltip]:focus::after{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.rwexec-premium-locked fieldset[disabled]{
  opacity:.55;
}
.rwexec-premium-locked input[type="checkbox"]:disabled{
  cursor:not-allowed;
}
/* Keep upgrade pills compact when inserted beside labels/headings. */
.rwexec-toggle-row .rwexec-premium-upgrade,
th .rwexec-premium-upgrade,
label .rwexec-premium-upgrade,
.rwexec-premium-help .rwexec-premium-upgrade{
  margin-top:0!important;
  margin-bottom:0!important;
}
@media (max-width:782px){
  .rwexec-premium-upgrade{
    min-height:24px;
    padding:3px 7px!important;
    font-size:11px!important;
  }
}

/* Premium icon inside settings navigation tabs. */
.rwexec-settings-tabs .rwexec-tab-premium-icon{
  display:inline-flex;
  align-items:center;
  margin-left:5px;
  vertical-align:middle;
}
.rwexec-settings-tabs .rwexec-tab-premium-icon .rwexec-premium-icon{
  width:11px!important;
  height:11px!important;
  max-width:11px!important;
  max-height:11px!important;
}

/* Customer-facing licence state */
.rwexec-license-issue{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:16px;border:1px solid #f0c8c8;border-radius:9px;background:#fff7f7}
.rwexec-license-issue strong{display:block;margin-bottom:4px;color:#8a2424}.rwexec-license-issue p{margin:0;color:#50575e;max-width:650px}
.rwexec-license-account-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:14px 16px;border:1px solid #e2e4e7;border-radius:9px;background:#f8f9fa}.rwexec-license-account-prompt p{margin:0;color:#50575e}
.rwexec-license-details--compact dl{grid-template-columns:repeat(3,minmax(0,1fr))}.rwexec-license-details--compact dl>div{grid-template-columns:95px 1fr;border-bottom:0!important}
.rwexec-license-account-button{display:inline-flex!important;align-items:center!important;justify-content:center!important}
@media(max-width:782px){.rwexec-license-issue,.rwexec-license-account-prompt{align-items:stretch;flex-direction:column}.rwexec-license-issue .button,.rwexec-license-account-prompt .button{width:100%;text-align:center}.rwexec-license-details--compact dl{grid-template-columns:1fr}.rwexec-license-details--compact dl>div{border-bottom:1px solid #e8eaed!important}.rwexec-license-details--compact dl>div:last-child{border-bottom:0!important}.rwexec-license-account-button{width:100%}}

/* v1.0.0 launch polish: settings header, premium gates, availability and special dates */
.rwexec-settings-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.rwexec-settings-header .rwexec-premium-upgrade{
  min-height:38px!important;
  padding:7px 13px!important;
  font-size:13px!important;
  font-weight:600!important;
  gap:7px;
  margin:0!important;
}
.rwexec-settings-header .rwexec-premium-upgrade .rwexec-premium-icon{
  width:14px!important;
  height:14px!important;
  max-width:14px!important;
  max-height:14px!important;
  flex-basis:14px!important;
}
.rwexec-custom-fields-action{
  display:flex;
  align-items:center;
  gap:8px;
  margin:13px 16px 0;
}
.rwexec-custom-fields-action #rwexec-add-form-field{margin:0}
.rwexec-custom-fields-action .rwexec-premium-upgrade{margin:0!important}
.rwexec-custom-field-locked .rwexec-builder-row__summary{
  position:relative;
  background:#fbfcfe;
}
.rwexec-custom-field-locked .rwexec-builder-row__actions{
  opacity:.45;
  pointer-events:none;
}
.rwexec-custom-field-locked .rwexec-field-editor{display:none!important}
.rwexec-custom-field-locked .rwexec-builder-row__name .rwexec-premium-upgrade{margin-left:8px!important}

/* Weekly availability: consistent control heights with slightly narrower time inputs. */
.rwexec-weekly-row{
  grid-template-columns:105px 220px 112px 24px 112px;
  max-width:610px;
  gap:10px;
}
.rwexec-weekly-row .rwexec-weekly-status,
.rwexec-weekly-row .rwexec-weekly-time{
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
}
.rwexec-weekly-row .rwexec-weekly-status{width:220px!important}
.rwexec-weekly-row .rwexec-weekly-time{width:112px!important;min-width:112px!important;padding-left:9px!important;padding-right:7px!important}

/* Special Dates: keep the form and configured list compact and aligned. */
.rwexec-special-date-form{max-width:760px}
.rwexec-special-date-form .row{align-items:flex-end}
.rwexec-special-date-form input[type=date],
.rwexec-special-date-form input[type=time],
.rwexec-special-date-form input[type=text],
.rwexec-special-date-form select{
  height:38px!important;
  min-height:38px!important;
}
.rwexec-special-date-form input[type=date]{width:145px}
.rwexec-special-date-form select{width:160px}
.rwexec-special-date-form input[type=text]{width:220px}
.rwexec-special-date-form input[type=time]{width:120px}
.rwexec-special-dates-card{max-width:980px;overflow:hidden}
.rwexec-special-dates-table{width:100%;table-layout:fixed}
.rwexec-special-dates-table th:nth-child(1){width:20%}
.rwexec-special-dates-table th:nth-child(2){width:28%}
.rwexec-special-dates-table th:nth-child(3){width:18%}
.rwexec-special-dates-table th:nth-child(4){width:19%}
.rwexec-special-dates-table th:nth-child(5){width:15%}
.rwexec-special-date-actions{text-align:right!important}
.rwexec-special-date-actions form{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.rwexec-special-date-actions .button{min-width:72px}

/* Licence action cards: centred, useful details remain visible for active licences. */
.rwexec-license-actions{
  justify-content:center;
  flex-wrap:wrap;
}
.rwexec-license-actions form,
.rwexec-license-actions > .button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px;
  min-height:68px;
  margin:0!important;
  padding:12px!important;
  border:1px solid #e2e4e7!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
}
.rwexec-license-actions form .button{
  margin:0!important;
}
.rwexec-license-actions > .button{
  align-self:stretch;
}
.rwexec-license-details--compact dd{font-weight:600;color:#172033}

@media(max-width:782px){
  .rwexec-settings-header{align-items:stretch;flex-direction:column}
  .rwexec-settings-header .rwexec-premium-upgrade{align-self:flex-start}
  .rwexec-weekly-row{grid-template-columns:1fr 1fr;max-width:none}
  .rwexec-weekly-row .rwexec-weekly-status{width:100%!important;grid-column:1/-1}
  .rwexec-weekly-row .rwexec-weekly-time{width:100%!important;min-width:0!important}
  .rwexec-special-dates-card{max-width:none;overflow-x:auto}
  .rwexec-special-dates-table{min-width:650px}
  .rwexec-license-actions form,.rwexec-license-actions > .button{width:100%!important;min-width:0}
}

/* v1.0.0 final alignment polish: availability/special-date selects and licence actions. */
.rwexec-weekly-row .rwexec-weekly-status,
.rwexec-special-date-form select{
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:36px!important;
}
.rwexec-license-actions .rwexec-license-action-card{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px;
  min-height:68px;
  margin:0!important;
  padding:12px!important;
  border:1px solid #e2e4e7!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
  box-sizing:border-box;
}
.rwexec-license-actions .rwexec-license-action-card .button{
  margin:0!important;
}
@media(max-width:782px){
  .rwexec-license-actions .rwexec-license-action-card{width:100%!important;min-width:0}
}

/* v1.0.0 control consistency pass.
   Standardise settings/admin form controls without changing deliberately compact
   reservation-list controls such as table assignment and quick-status fields. */
.rwexec-settings .form-table input[type="text"],
.rwexec-settings .form-table input[type="email"],
.rwexec-settings .form-table input[type="tel"],
.rwexec-settings .form-table input[type="url"],
.rwexec-settings .form-table input[type="number"],
.rwexec-settings .form-table input[type="date"],
.rwexec-settings .form-table input[type="time"],
.rwexec-settings .form-table input[type="search"],
.rwexec-settings .form-table select,
.rwexec-special-date-form input[type="text"],
.rwexec-special-date-form input[type="date"],
.rwexec-special-date-form input[type="time"],
.rwexec-special-date-form select,
.rwexec-editor-grid input[type="text"],
.rwexec-editor-grid input[type="email"],
.rwexec-editor-grid input[type="tel"],
.rwexec-editor-grid input[type="url"],
.rwexec-editor-grid input[type="number"],
.rwexec-editor-grid input[type="date"],
.rwexec-editor-grid input[type="time"],
.rwexec-editor-grid select,
.rwexec-setup-field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.rwexec-setup-field select,
.rwexec-setup-weekly input[type="time"],
.rwexec-setup-weekly select {
  box-sizing:border-box!important;
  height:40px!important;
  min-height:40px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:38px!important;
  vertical-align:middle!important;
}

/* Explicitly centre select text after height normalisation. */
.rwexec-settings .form-table select,
.rwexec-special-date-form select,
.rwexec-editor-grid select,
.rwexec-setup-field select,
.rwexec-setup-weekly select,
.rwexec-weekly-row .rwexec-weekly-status {
  height:40px!important;
  min-height:40px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:38px!important;
}

/* Date/time values can sit high in WebKit/Chromium unless their internal value
   box is given the same line-height as the control. */
.rwexec-settings input[type="date"]::-webkit-date-and-time-value,
.rwexec-settings input[type="time"]::-webkit-date-and-time-value,
.rwexec-special-date-form input[type="date"]::-webkit-date-and-time-value,
.rwexec-special-date-form input[type="time"]::-webkit-date-and-time-value,
.rwexec-setup-wizard input[type="date"]::-webkit-date-and-time-value,
.rwexec-setup-wizard input[type="time"]::-webkit-date-and-time-value {
  min-height:38px!important;
  line-height:38px!important;
  padding:0!important;
  margin:0!important;
}

/* Availability retains its compact widths, now at the shared control height. */
.rwexec-weekly-row .rwexec-weekly-status,
.rwexec-weekly-row .rwexec-weekly-time {
  height:40px!important;
  min-height:40px!important;
}

/* Special Dates uses the same shared control height. */
.rwexec-special-date-form input[type="date"],
.rwexec-special-date-form input[type="time"],
.rwexec-special-date-form input[type="text"],
.rwexec-special-date-form select {
  height:40px!important;
  min-height:40px!important;
}

/* v1.0.0 licence clarity + compact two-column booking-form styling. */
.rwexec-license-active-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:24px;
  align-items:start;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #e8eaed;
}
.rwexec-license-active-grid .rwexec-license-details{
  margin:0;
  padding:0;
  border-top:0;
}
.rwexec-license-active-grid h3{margin:0 0 10px}
.rwexec-license-active-grid .rwexec-license-details dl{
  display:block;
  border:1px solid #e2e4e7;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.rwexec-license-active-grid .rwexec-license-details dl>div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:16px;
  align-items:center;
  min-height:46px;
  padding:10px 14px;
  border-bottom:1px solid #e8eaed!important;
}
.rwexec-license-active-grid .rwexec-license-details dl>div:last-child{border-bottom:0!important}
.rwexec-license-active-grid .rwexec-license-details dt{
  color:#6b7280;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.rwexec-license-active-grid .rwexec-license-details dd{
  color:#172033;
  font-size:14px;
  font-weight:700;
}
.rwexec-license-actions-column .rwexec-license-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0;
}
.rwexec-license-actions-column .rwexec-license-actions form,
.rwexec-license-actions-column .rwexec-license-actions .rwexec-license-action-card{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  padding:7px 10px!important;
  box-sizing:border-box;
}
.rwexec-license-actions-column .rwexec-license-actions form .button,
.rwexec-license-actions-column .rwexec-license-actions .rwexec-license-action-card .button{
  width:100%;
  text-align:center;
  justify-content:center;
}

/* Booking Form Styling: stable two-column grid.
   The table elements are explicitly flattened so WordPress form-table borders
   cannot overlap the grid row separators. */
.rwexec-styling-grid-table{
  display:block;
  width:100%;
  margin:0!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.rwexec-styling-grid-table tbody{
  display:grid;
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:36px;
  align-items:start;
}
.rwexec-styling-grid-table tr{
  display:grid;
  width:100%;
  box-sizing:border-box;
  grid-template-columns:minmax(150px,1fr) minmax(120px,auto);
  align-items:center;
  min-height:56px;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid #edf0f2!important;
}
.rwexec-admin .rwexec-styling-grid-table tr+tr th,
.rwexec-admin .rwexec-styling-grid-table tr+tr td,
.rwexec-admin .rwexec-styling-grid-table th,
.rwexec-admin .rwexec-styling-grid-table td{
  border:0!important;
}
.rwexec-styling-grid-table th,
.rwexec-styling-grid-table td{
  display:block;
  width:auto!important;
  box-sizing:border-box;
  margin:0!important;
  padding:10px 0!important;
  vertical-align:middle!important;
}
.rwexec-styling-grid-table th{padding-right:16px!important}
.rwexec-styling-grid-table td{
  display:flex;
  align-items:center;
  min-height:40px;
  text-align:left;
}
.rwexec-styling-grid-table input[type="color"]{
  display:block;
  margin:0!important;
  vertical-align:middle;
}

@media(max-width:900px){
  .rwexec-license-active-grid{grid-template-columns:1fr}
  .rwexec-styling-grid-table tbody{grid-template-columns:1fr;column-gap:0}
}
@media(max-width:500px){
  .rwexec-styling-grid-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px;width:100%!important;padding:0!important;border-bottom:1px solid #edf0f2!important}
  .rwexec-styling-grid-table th,.rwexec-styling-grid-table td{display:flex!important;width:auto!important;padding:10px 0!important;border:0!important}
  .rwexec-styling-grid-table th{align-items:center;padding-right:12px!important}
  .rwexec-license-active-grid .rwexec-license-details dl>div{grid-template-columns:105px 1fr}
}

/* v1.0.0 release candidate: consistent Email Settings controls. */
.rwexec-email-settings-form .rwexec-email-colour-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,190px));
  gap:12px 20px;
  align-items:center;
}
.rwexec-email-settings-form .rwexec-email-colour-grid label{
  display:grid;
  grid-template-columns:120px minmax(44px,auto);
  gap:8px;
  align-items:center;
  width:190px;
  box-sizing:border-box;
  margin:0;
}
.rwexec-email-settings-form .rwexec-email-colour-grid input[type="color"]{
  width:44px;
  height:34px;
  margin:0;
  padding:2px;
}
.rwexec-email-settings-form .rwexec-email-colour-grid input[type="number"]{
  width:100px;
  margin:0;
}
.rwexec-email-settings-form .form-table th > .rwexec-premium-badge,
.rwexec-email-settings-form .form-table th > label + .rwexec-premium-badge{
  display:flex;
  width:max-content;
  margin:6px 0 0;
}

@media (max-width:782px){
  .rwexec-email-settings-form .rwexec-email-colour-grid{
    grid-template-columns:1fr;
  }
  .rwexec-email-settings-form .rwexec-email-colour-grid label{
    width:100%;
    max-width:240px;
    grid-template-columns:minmax(120px,1fr) auto;
  }
}

/* v1.0.0 RC6: consistent Premium badges and email design controls. */
/* Premium badges that belong to a field/page title always start on their own line. */
.rwexec-admin .form-table th > .rwexec-premium-upgrade,
.rwexec-admin .rwexec-builder-row__name > .rwexec-premium-upgrade,
.rwexec-admin .rwexec-page-header h1 > .rwexec-premium-upgrade,
.rwexec-admin .rwexec-settings-card > h2 > .rwexec-premium-upgrade,
.rwexec-admin .rwexec-email-templates h2 > .rwexec-premium-upgrade{
  display:flex!important;
  width:max-content!important;
  margin:6px 0 0!important;
}

/* Email colour/design controls use a fixed label column so swatches align
   independently of the wording length. */
.rwexec-email-settings-form .rwexec-email-colour-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,210px))!important;
  gap:12px 22px!important;
  align-items:center!important;
}
.rwexec-email-settings-form .rwexec-email-colour-grid .rwexec-email-colour-control{
  display:grid!important;
  grid-template-columns:138px 56px!important;
  align-items:center!important;
  gap:10px!important;
  width:210px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.rwexec-email-settings-form .rwexec-email-colour-label{
  display:block;
  min-width:0;
  font-weight:600;
  line-height:1.3;
}
.rwexec-email-settings-form .rwexec-email-colour-control input[type="color"]{
  display:block!important;
  width:56px!important;
  height:42px!important;
  margin:0!important;
  padding:3px!important;
  box-sizing:border-box!important;
}
.rwexec-email-settings-form .rwexec-email-number-with-unit{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.rwexec-email-settings-form .rwexec-email-number-control{
  grid-template-columns:138px minmax(110px,auto)!important;
  width:270px!important;
}
.rwexec-email-settings-form .rwexec-email-number-control input[type="number"]{
  width:100px!important;
  margin:0!important;
}

@media(max-width:782px){
  .rwexec-email-settings-form .rwexec-email-colour-grid{
    grid-template-columns:1fr!important;
  }
  .rwexec-email-settings-form .rwexec-email-colour-grid .rwexec-email-colour-control,
  .rwexec-email-settings-form .rwexec-email-colour-grid .rwexec-email-number-control{
    grid-template-columns:minmax(125px,1fr) auto!important;
    width:100%!important;
    max-width:300px!important;
  }
}


/* v1.0.0: compact quick-add walk-ins in the free left side of filter row two. */
.rwexec-quick-add-walk-in{
  grid-column:1 / span 3;
  grid-row:2;
  display:grid;
  grid-template-columns:minmax(90px,.7fr) minmax(140px,1fr) auto;
  gap:8px;
  align-items:end;
  min-width:0;
}
.rwexec-quick-add-walk-in label{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  color:#344054;
  font-size:12px;
  font-weight:650;
}
.rwexec-quick-add-walk-in label small{font-size:11px;font-weight:400;color:#667085}
.rwexec-quick-add-walk-in input{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
}
.rwexec-quick-add-walk-in>.button{
  box-sizing:border-box;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px;
  height:36px;
  margin:0!important;
  padding:0 12px!important;
  white-space:nowrap;
}
.rwexec-filter-actions{grid-row:2}

/* Capacity mode is shown in the filter header, opposite the Filters toggle. */
.rwexec-capacity-mode-indicator{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 8px;
  border:1px solid #d7d7d4;
  border-radius:999px;
  background:#f7f7f5;
  color:#555;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}

@media(max-width:1100px){
  .rwexec-quick-add-walk-in{
    grid-column:1/-1!important;
    grid-row:5!important;
    grid-template-columns:minmax(80px,.65fr) minmax(120px,1fr) auto!important;
  }
  .rwexec-filter-actions{grid-row:6!important}
}

@media(max-width:600px){
  .rwexec-filter-panel__header{gap:10px!important}
  .rwexec-capacity-mode-indicator{white-space:normal}
  .rwexec-quick-add-walk-in{
    grid-template-columns:1fr 1fr!important;
  }
  .rwexec-quick-add-walk-in>.button{grid-column:1/-1;width:100%!important}
}


/* v1.0.0: keep the walk-in controls and filter actions cleanly separated on row two. */
@media(min-width:1101px){
  .rwexec-quick-add-walk-in{
    grid-column:1 / 3!important;
    grid-row:2!important;
    grid-template-columns:minmax(110px,.55fr) minmax(150px,1fr) auto!important;
    gap:8px!important;
    align-items:end!important;
    width:100%!important;
    min-width:0!important;
  }
  .rwexec-filter-actions{
    grid-column:3 / -1!important;
    grid-row:2!important;
    align-self:end!important;
    min-width:0!important;
  }
  .rwexec-quick-add-walk-in input,
  .rwexec-quick-add-walk-in>.button,
  .rwexec-filter-actions>.button{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
}

/* Reservation/customer information indicators */
.rwexec-info-icon--additional{background:#f2f4f7;color:#475467}
.rwexec-info-icon--additional:hover,
.rwexec-info-icon--additional:focus{background:#f2f4f7!important;color:#475467!important}
.rwexec-info-icon--customer-notes{background:#eef4ff;color:#3563b8}
.rwexec-info-icon--customer-notes:hover,
.rwexec-info-icon--customer-notes:focus{background:#eef4ff!important;color:#3563b8!important}
.rwexec-name-note-icon{display:inline-flex!important;vertical-align:middle;margin-left:6px;width:23px;height:23px;border-radius:6px}
.rwexec-name-note-icon .dashicons{width:15px;height:15px;font-size:15px;line-height:15px}

/* Current slot capacity summary */
.rwexec-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.rwexec-current-capacity{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:280px;
  margin-right:10px;
  padding:9px 13px;
  border:1px solid #d9dee7;
  border-radius:10px;
  background:#f8fafc;
  line-height:1.2;
}
.rwexec-current-capacity__label{
  margin-bottom:3px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#667085;
}
.rwexec-current-capacity__value{
  font-size:13px;
  font-weight:700;
  color:#101828;
  white-space:nowrap;
}
.rwexec-current-capacity__secondary{
  margin-top:3px;
  font-size:11px;
  color:#667085;
}
@media (max-width: 900px){
  .rwexec-page-header{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .rwexec-header-actions{
    width:100%;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .rwexec-current-capacity{
    order:3;
    width:100%;
    min-width:0;
    margin:0;
  }
  .rwexec-current-capacity__value{
    white-space:normal;
  }
}

/* Current occupancy capacity states */
.rwexec-current-capacity--normal{
  border-color:#b7dfc9;
  background:#f2fbf6;
}
.rwexec-current-capacity--normal .rwexec-current-capacity__label{
  color:#16784a;
}

.rwexec-current-capacity--warning{
  border-color:#f2d49a;
  background:#fff9eb;
}
.rwexec-current-capacity--warning .rwexec-current-capacity__label,
.rwexec-current-capacity--warning .rwexec-current-capacity__value{
  color:#9a5b00;
}

.rwexec-current-capacity--danger{
  border-color:#f3b4b4;
  background:#fff2f2;
}
.rwexec-current-capacity--danger .rwexec-current-capacity__label,
.rwexec-current-capacity--danger .rwexec-current-capacity__value{
  color:#b42318;
}

/* v1.0.0 Pro add-on / licence clarity */
.rwexec-pro-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:16px 0 8px;
  padding:14px 16px;
  border:1px solid #dcdcde;
  border-radius:9px;
  background:#f8f9fa;
}
.rwexec-pro-status__content{min-width:0}
.rwexec-pro-status strong{display:block;margin:0 0 4px;color:#1d2939}
.rwexec-pro-status p{margin:0;color:#50575e;max-width:690px}
.rwexec-pro-status--active{border-color:#b7dfc9;background:#f2fbf6}
.rwexec-pro-status--active strong{color:#116329}
.rwexec-pro-status--warning{border-color:#ead79e;background:#fffbeb}
.rwexec-pro-status--warning strong{color:#8a5c00}
.rwexec-pro-status .rwexec-premium-upgrade{margin-left:auto}
.rwexec-premium-requirement{
  margin:8px 0 12px!important;
  padding:9px 11px;
  border-radius:7px;
  background:rgba(255,255,255,.68);
  color:#5f4b16!important;
  font-weight:600;
}
.rwexec-premium-gate--addon_missing,
.rwexec-premium-gate--licence_required{
  border-color:#ead79e;
  background:#fffbeb;
}
@media(max-width:782px){
  .rwexec-pro-status{align-items:stretch;flex-direction:column}
  .rwexec-pro-status .button,
  .rwexec-pro-status .rwexec-premium-upgrade{width:100%!important;margin-left:0;justify-content:center}
}

