/* Russ's page, on top of shared/ui/hard-edges.css. Hard edges everywhere: no radius, no shadows.
   Black, white, greys, one action colour, red for recording; the Stats background carries colour. */

html, body { margin: 0; height: 100%; }
body { font: 15px/1.35 system-ui, "Segoe UI", Roboto, Arial, sans-serif; color: var(--ge-black); background: var(--ge-white); }
* { box-sizing: border-box; box-shadow: none !important; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }

.rp-root { height: 100vh; display: grid; grid-template-rows: 56px minmax(0, 1fr); }
.rp-is-phone .rp-root { height: auto; min-height: 100vh; grid-template-rows: auto 1fr; }
.rp-loading { padding: 24px; }
.rp-bg { position: fixed; inset: 0; z-index: -1; display: none; }
body[data-tab="stats"] .rp-bg { display: block; }

/* ---------------------------------------------------------------- the top bar */
.rp-top { display: flex; align-items: stretch; gap: 0; border-bottom: var(--ge-line); background: var(--ge-white); min-width: 0; }
.rp-top > * { flex: none; }
.rp-top > .ge-button, .rp-top > .rp-save, .rp-top > .rp-session-text, .rp-top > .rp-timer, .rp-top > .rp-live, .rp-top > .rp-test { align-self: center; margin: 0 6px; }
.rp-top > .ge-button { height: 44px; }
.rp-tabs { border-bottom: 0; }
.rp-tab { min-height: 56px; display: inline-flex; flex-direction: column; justify-content: center; font-weight: 600; }
.rp-tab[aria-disabled="true"] { color: var(--ge-grey-2); background: var(--ge-grey-1); cursor: not-allowed; font-weight: 400; }
.rp-tab-note { font-size: 11px; font-weight: 400; color: var(--ge-grey-3); }
.rp-tab:not([aria-disabled="true"]):active { background: var(--ge-black); color: var(--ge-white); }
.rp-spacer { flex: 1 1 auto; }
.rp-save { min-width: 9ch; text-align: right; }
.rp-save[data-state="saving"] { color: var(--ge-black); }
.rp-save[data-state="error"] { color: var(--ge-record); font-weight: 700; }
.rp-session-text { max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-timer { font-variant-numeric: tabular-nums; min-width: 7ch; }
.rp-session { width: 56px !important; min-width: 56px; height: 56px; padding: 0 4px; font-size: 12px; line-height: 1.1; white-space: normal; font-weight: 700; border-top: 0; border-bottom: 0; }
.rp-session[aria-pressed="true"] { background: var(--ge-record); border-color: var(--ge-record); color: var(--ge-white); }
.rp-live { font-size: 12px; color: var(--ge-grey-3); display: inline-flex; align-items: center; gap: 4px; }
.rp-live::before { content: ""; width: 8px; height: 8px; background: var(--ge-grey-2); display: inline-block; }
.rp-live[data-state="live"] { color: var(--ge-black); }
.rp-live[data-state="live"]::before { background: var(--ge-black); }
.rp-test { display: inline-block; padding: 2px 6px; border: 2px solid var(--ge-black); font-size: 12px; font-weight: 800; letter-spacing: 0.04em; margin-left: 6px; }

/* ---------------------------------------------------------------- panes and panels */
.rp-main { min-height: 0; overflow: hidden; }
.rp-pane { height: 100%; min-height: 0; }
.rp-panels { height: 100%; min-height: 0; }
.rp-panels--calling { grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); }
.rp-panels--selling { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rp-panels > .ge-panel { min-height: 0; background: var(--ge-white); }
.rp-left { display: flex; flex-direction: column; overflow: hidden; }
.rp-scroll { overflow: auto; }
.rp-left > .rp-scroll { flex: 1 1 auto; min-height: 0; }
.rp-right { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.rp-empty { color: var(--ge-grey-3); padding: 16px; }

/* ---------------------------------------------------------------- the open lead */
.rp-lead-head { padding-bottom: 8px; }
.rp-business { font-size: 24px; line-height: 1.15; margin: 0 0 2px; overflow-wrap: anywhere; }
.rp-owner-line { margin: 0 0 8px; color: var(--ge-grey-3); }
.rp-numbers { display: flex; flex-wrap: wrap; gap: 8px; }
.rp-dial { flex-direction: column; align-items: flex-start; text-decoration: none; font-weight: 700; font-variant-numeric: tabular-nums; min-height: 48px; }
.rp-dial small { font-weight: 400; font-size: 11px; }
.rp-example { margin-left: auto; align-self: center; text-decoration: none; }
.rp-dial:active { background: var(--ge-black); color: var(--ge-white); }
.rp-blocked { color: var(--ge-record); font-weight: 700; }
.rp-lines { border-top: var(--ge-line); }
.rp-line { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--ge-grey-2); }
.rp-line-label { color: var(--ge-grey-3); font-size: 13px; }
.rp-line-value { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-lead-foot { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; align-items: center; }
.rp-lead-foot .rp-spacer { min-width: 0; }
.rp-lead-foot .ge-button { padding: 0 11px; }

/* ---------------------------------------------------------------- forms */
.rp-form-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 0 8px; border-bottom: var(--ge-line); margin-bottom: 8px; }
.rp-form-foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 10px; margin-top: 8px; border-top: var(--ge-line); }
.rp-field { display: flex; flex-direction: column; gap: 4px; margin: 0 0 10px; min-width: 0; }
.rp-label { font-size: 13px; color: var(--ge-grey-3); }
.rp-choices { display: flex; flex-wrap: wrap; gap: 6px; }
.rp-choice { min-height: 40px; padding: 0 12px; border: var(--ge-line); background: var(--ge-white); cursor: pointer; transition: none; }
.rp-choice:hover { background: var(--ge-grey-1); }
.rp-choice:active, .rp-choice[aria-pressed="true"] { background: var(--ge-black); color: var(--ge-white); }
.rp-choice--danger { border-color: var(--ge-record); color: var(--ge-record); }
.rp-choice--danger[aria-pressed="true"], .rp-choice--danger:active { background: var(--ge-record); color: var(--ge-white); }
.rp-input, .rp-select { min-height: 40px; width: 100%; min-width: 0; }
.rp-text { min-height: 56px; padding: 8px 10px; resize: vertical; }
.rp-select { width: auto; }
.rp-time { width: 7.5em; min-height: 40px; }
.rp-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rp-row3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rp-inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin: 4px 0 8px; }
.rp-inline > .rp-field { margin: 0; }
.rp-check { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; cursor: pointer; }
.rp-check input { width: 20px; height: 20px; accent-color: var(--ge-black); }
.rp-small { font-size: 13px; color: var(--ge-grey-3); }
.rp-needs { flex: 1 1 auto; }
.rp-notice { margin: 6px 0; padding: 6px 10px; border-left: 4px solid var(--ge-black); background: var(--ge-grey-1); }
.rp-notice--error { border-left-color: var(--ge-record); color: var(--ge-record); background: var(--ge-white); font-weight: 600; }
.rp-notice--ok { border-left-color: var(--ge-black); font-weight: 600; }
.rp-notice--plain { background: var(--ge-white); }
.rp-link { flex: 1 1 260px; font-size: 13px; }
.rp-other summary { cursor: pointer; min-height: 40px; display: flex; align-items: center; }

/* ---------------------------------------------------------------- Your leads */
.rp-tools { display: flex; gap: 8px; align-items: center; padding: 10px 12px; border-bottom: var(--ge-line); flex-wrap: wrap; }
.rp-tools .rp-input[type="search"] { flex: 1 1 200px; width: auto; }
.rp-tools-title { font-size: 15px; }
.rp-count { white-space: nowrap; }
.rp-list-head, .rp-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.5fr) 52px 104px; gap: 8px; align-items: center; padding: 0 12px; }
.rp-list-head { font-size: 12px; color: var(--ge-grey-3); border-bottom: var(--ge-line); min-height: 28px; }
.rp-list { overflow: auto; flex: 1 1 auto; min-height: 0; }
.rp-row { min-height: 52px; border-bottom: 1px solid var(--ge-grey-2); cursor: pointer; user-select: none; }
.rp-row:hover { background: var(--ge-grey-1); }
.rp-row:active, .rp-row[aria-current="true"] { background: var(--ge-black); color: var(--ge-white); }
.rp-row[aria-current="true"] small, .rp-row:active small { color: var(--ge-grey-2); }
.rp-row:focus-visible { outline: 3px solid var(--ge-action); outline-offset: -3px; }
.rp-cell { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.rp-cell-biz { display: flex; flex-direction: column; }
.rp-cell-biz strong, .rp-cell-biz small { overflow: hidden; text-overflow: ellipsis; }
.rp-cell small { display: block; font-size: 12px; color: var(--ge-grey-3); }
.rp-cell-num { text-align: right; font-variant-numeric: tabular-nums; }
.rp-closed { color: var(--ge-grey-3); }
.rp-sale-row { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr) 84px; }
.rp-clash-tag { margin-right: 6px; font-size: 12px; }
.rp-cell-join { text-align: right; }
.rp-join { text-decoration: none; min-height: 40px; }

/* ---------------------------------------------------------------- Selling */
.rp-badge { display: inline-flex; align-items: center; min-height: 40px; padding: 0 10px; border: var(--ge-line); font-weight: 600; }
.rp-badge[data-ready="false"] { color: var(--ge-grey-3); border-color: var(--ge-grey-2); }
.rp-section { border-top: var(--ge-line); padding: 8px 0 4px; margin-top: 8px; }
.rp-section-title { font-size: 13px; margin: 0 0 6px; text-transform: none; letter-spacing: 0; }
.rp-prose { margin: 0 0 6px; white-space: pre-wrap; }
.rp-reply { border-left: 3px solid var(--ge-grey-2); padding-left: 8px; margin: 6px 0; }
.rp-asks { display: flex; flex-direction: column; gap: 4px; }
.rp-ask { display: flex; align-items: center; gap: 10px; min-height: 40px; text-align: left; border: 1px solid var(--ge-grey-2); background: var(--ge-white); padding: 0 10px; cursor: pointer; }
.rp-ask[aria-pressed="true"] { border-color: var(--ge-black); font-weight: 600; }
.rp-tickbox { width: 22px; height: 22px; border: 2px solid var(--ge-black); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.rp-ask[aria-pressed="true"] .rp-tickbox { background: var(--ge-black); color: var(--ge-white); }
.rp-popout { position: fixed; inset: 56px 0 0 0; background: rgba(0, 0, 0, 0.45); display: flex; align-items: flex-start; justify-content: center; padding: 24px; z-index: 10; }
.rp-popout-box { background: var(--ge-white); border: 2px solid var(--ge-black); width: min(760px, 100%); max-height: calc(100vh - 110px); overflow: auto; padding: 16px 20px; }
.rp-prep-text { white-space: pre-wrap; font: inherit; margin: 0 0 10px; }

/* the booking picker */
.rp-picker-head { display: flex; justify-content: space-between; align-items: center; border-bottom: var(--ge-line); padding-bottom: 8px; margin-bottom: 8px; }
/* As on the owners' page: a row of days, Monday first (a day with no free time is struck through and
   cannot be picked), then only the chosen day's times in four parts. */
.rp-pick { display: flex; flex-direction: column; gap: 8px; margin: 6px 0; }
.rp-pick-step { font-size: 13px; color: var(--ge-grey-3); }
.rp-pick-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; max-width: 520px; }
.rp-pick-dow { font-size: 12px; color: var(--ge-grey-3); text-align: center; }
.rp-pick-day { min-height: 44px; min-width: 0; padding: 2px 0; border: var(--ge-line); background: var(--ge-white); cursor: pointer; transition: none;
  display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
.rp-pick-day strong { font-size: 16px; font-variant-numeric: tabular-nums; }
.rp-pick-day small { font-size: 11px; }
.rp-pick-day:hover:not(:disabled) { background: var(--ge-grey-1); }
.rp-pick-day[aria-pressed="true"], .rp-pick-day:active:not(:disabled) { background: var(--ge-black); color: var(--ge-white); }
.rp-pick-day:disabled { color: var(--ge-grey-3); border-color: var(--ge-grey-2); background: var(--ge-grey-1); cursor: default; text-decoration: line-through; }
.rp-pick-dayname { font-weight: 700; border-top: var(--ge-line); padding-top: 8px; }
.rp-parts { display: flex; flex-direction: column; gap: 8px; }
.rp-part { border-top: 1px solid var(--ge-grey-2); padding-top: 6px; }
.rp-part-name { display: flex; align-items: baseline; gap: 10px; margin-bottom: 4px; font-size: 14px; }
.rp-part-name span { font-size: 12px; color: var(--ge-grey-3); font-variant-numeric: tabular-nums; }
.rp-none { margin: 0; font-size: 13px; color: var(--ge-grey-3); }
.rp-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)); gap: 4px; }
.rp-slot { min-height: 40px; min-width: 0; padding: 0 4px; border: var(--ge-line); background: var(--ge-white); cursor: pointer; font-variant-numeric: tabular-nums; transition: none;
  display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15; }
.rp-slot small { font-size: 11px; color: var(--ge-grey-3); }
.rp-slot:hover { background: var(--ge-grey-1); }
.rp-slot[aria-pressed="true"], .rp-slot:active { background: var(--ge-black); color: var(--ge-white); }
.rp-slot[aria-pressed="true"] small, .rp-slot:active small { color: var(--ge-white); }

/* the Selling calendar: a week of half hours across the whole tab. Free is white, a block is hatched,
   a sale call is black, a call inside a block (a clash) is red; the chosen time has the action outline. */
.rp-cal-pane { height: 100%; min-height: 0; background: var(--ge-white); }
.rp-cal { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.rp-cal-head, .rp-cal-bar, .rp-cal-key { flex: none; }
.rp-cal-head, .rp-cal-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 6px 12px; border-bottom: var(--ge-line); }
.rp-cal-head .ge-button, .rp-cal-bar .ge-button { min-height: 36px; padding: 0 12px; }
.rp-cal-title { font-size: 15px; margin-right: 4px; }
.rp-cal-week { font-weight: 700; font-variant-numeric: tabular-nums; min-width: 17ch; }
.rp-cal-bar { min-height: 50px; background: var(--ge-white); }
.rp-cal-bar .rp-notice { margin: 0; flex: 1 1 100%; }
.rp-cal-sel { font-weight: 700; }
.rp-cal-clash-note { color: var(--ge-record); font-weight: 700; }
.rp-cal-key { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 5px 12px; font-size: 12px; color: var(--ge-grey-3); border-bottom: 1px solid var(--ge-grey-2); }
.rp-cal-key > span { display: inline-flex; align-items: center; gap: 6px; }
.rp-cal-swatch { display: inline-block; width: 18px; height: 12px; border: 1px solid var(--ge-black); background: var(--ge-white); }
.rp-cal-scroll { position: relative; flex: 1 1 auto; min-height: 0; overflow: auto; }
.rp-cal-scroll > .rp-notice { margin: 12px; }
.rp-cal-grid { --cal-row: 24px; display: grid; grid-template-columns: 52px repeat(7, minmax(104px, 1fr)); align-items: start; }
.rp-cal-corner, .rp-cal-dayhead { position: sticky; top: 0; z-index: 3; height: 46px; background: var(--ge-white); border-bottom: var(--ge-line); }
.rp-cal-corner { left: 0; z-index: 4; border-right: var(--ge-line); }
.rp-cal-dayhead { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 1px; min-width: 0; padding: 0 8px; border: 0; border-left: 1px solid var(--ge-grey-2); border-bottom: var(--ge-line); font: inherit; font-size: 14px; text-align: left; cursor: pointer; transition: none; }
.rp-cal-dayhead small { font-size: 11px; color: var(--ge-grey-3); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-cal-dayhead:hover { background: var(--ge-grey-1); }
.rp-cal-dayhead[data-today="true"] { border-top: 4px solid var(--ge-black); }
.rp-cal-dayhead[data-blocked="true"] small { color: var(--ge-black); font-weight: 700; }
/* A clash on the day, in its heading, so it shows whichever hours are on screen. */
.rp-cal-dayclash, .rp-clash-tag { display: inline-block; padding: 0 4px; background: var(--ge-record); color: var(--ge-white) !important; font-weight: 700; }
.rp-cal-dayhead[aria-pressed="true"], .rp-cal-dayhead:active { background: var(--ge-black); color: var(--ge-white); }
.rp-cal-dayhead[aria-pressed="true"] small, .rp-cal-dayhead:active small { color: var(--ge-white); }
.rp-cal-gutter { position: sticky; left: 0; z-index: 2; background: var(--ge-white); border-right: var(--ge-line); }
.rp-cal-hour { height: calc(var(--cal-row) * 2); padding: 2px 6px 0 0; font-size: 11px; color: var(--ge-grey-3); text-align: right; font-variant-numeric: tabular-nums; border-bottom: 1px solid var(--ge-grey-2); }
.rp-cal-col { display: flex; flex-direction: column; min-width: 0; border-left: 1px solid var(--ge-grey-2); }
.rp-cal-cell { display: block; width: 100%; height: var(--cal-row); min-height: 0; padding: 0 6px; border: 0; border-bottom: 1px solid var(--ge-grey-1); background: var(--ge-white); color: var(--ge-black);
  font: inherit; font-size: 12px; line-height: calc(var(--cal-row) - 1px); text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; transition: none; }
.rp-cal-cell[data-hour="end"] { border-bottom-color: var(--ge-grey-2); }
/* Hover is a thin inset outline, never a fill: the passed grey keeps its one meaning. */
.rp-cal-cell:hover { outline: 1px solid var(--ge-black); outline-offset: -1px; }
.rp-cal-cell[data-call]:not([data-past="true"]):hover { outline-color: var(--ge-white); }
.rp-cal-cell[data-past="true"] { background: var(--ge-grey-1); color: var(--ge-grey-3); }
.rp-cal-cell[data-blocked="true"], .rp-cal-swatch[data-blocked] { background: repeating-linear-gradient(135deg, var(--ge-grey-2) 0 5px, var(--ge-white) 5px 10px); font-weight: 700; color: var(--ge-black); }
.rp-cal-cell[data-call], .rp-cal-swatch[data-call] { background: var(--ge-black); color: var(--ge-white); font-weight: 600; }
.rp-cal-cell[data-call][data-past="true"] { background: var(--ge-grey-2); color: var(--ge-black); }
.rp-cal-cell[data-clash="true"], .rp-cal-swatch[data-clash] { background: var(--ge-record); border-color: var(--ge-record); color: var(--ge-white); font-weight: 700; }
.rp-cal-cell[data-pick="from"] { outline: 3px dashed var(--ge-action); outline-offset: -3px; }
.rp-cal-cell[aria-pressed="true"] { outline: 3px solid var(--ge-action); outline-offset: -3px; }
.rp-cal-cell:focus-visible, .rp-cal-dayhead:focus-visible { outline: 3px solid var(--ge-action); outline-offset: -3px; }
@media (max-width: 1100px) { .rp-cal-key { display: none; } }

/* ---------------------------------------------------------------- sign in, toast */
.rp-signin { width: min(380px, calc(100% - 32px)); margin: 12vh auto; border: 2px solid var(--ge-black); padding: 24px; display: flex; flex-direction: column; gap: 8px; background: var(--ge-white); }
.rp-signin-title { font-size: 22px; margin: 0 0 8px; }
.rp-signin-button { margin-top: 8px; min-height: 48px; font-weight: 700; }
.rp-toast { position: fixed; left: 16px; bottom: 16px; z-index: 20; background: var(--ge-black); color: var(--ge-white); padding: 10px 14px; max-width: min(520px, calc(100% - 32px)); }

/* ---------------------------------------------------------------- the phone */
.rp-top--phone { height: 56px; position: sticky; top: 0; z-index: 5; }
.rp-top--phone > .ge-button { min-height: 44px; }
.rp-is-phone .rp-main { overflow: visible; }
.rp-phone-tools { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px 12px; border-bottom: var(--ge-line); position: sticky; top: 56px; background: var(--ge-white); z-index: 4; }
.rp-phone-tools .rp-input, .rp-phone-tools .rp-select { min-height: 44px; }
.rp-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--ge-grey-2); }
.rp-card-text { display: flex; flex-direction: column; min-width: 0; }
.rp-card-text strong, .rp-card-text span, .rp-card-text small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-card-text small { color: var(--ge-grey-3); font-size: 12px; }
.rp-card-dial { display: flex; flex-direction: column; gap: 6px; }
.rp-phone-dial { min-height: 56px; min-width: 132px; flex-direction: column; text-decoration: none; font-weight: 700; font-variant-numeric: tabular-nums; }
.rp-phone-dial small { font-weight: 400; font-size: 11px; }
.rp-phone-dial:active, .rp-dialled { background: var(--ge-black) !important; border-color: var(--ge-black) !important; }
.rp-is-phone .ge-button { min-height: 44px; }

@media (max-width: 1100px) {
  .rp-session-text { display: none; }
  .rp-tab { padding: 0 12px; }
}

/* Repair 0368: content remains accessible; the last deliberate action stays in view. */
button:focus-visible { outline: 3px solid var(--ge-action); outline-offset: -3px; }
.rp-left > .rp-scroll { padding: 4px; margin: -4px; }
.rp-line-value { white-space: normal; overflow-wrap: anywhere; max-height: 2.7em; overflow: auto; text-overflow: clip; }
.rp-line-value:focus-visible { outline: 3px solid var(--ge-action); outline-offset: -3px; }
.rp-form-foot { position: sticky; bottom: 0; z-index: 2; background: var(--ge-white); padding-bottom: 8px; }
.rp-choice--danger { border-color: var(--ge-black); color: var(--ge-black); font-weight: 700; }
.rp-choice--danger[aria-pressed="true"], .rp-choice--danger:active { background: var(--ge-black); color: var(--ge-white); }
.rp-tab[aria-disabled="true"] { color: var(--ge-grey-3); }
.rp-session-text { border-left: 1px solid var(--ge-grey-2); padding-left: 10px; }
.rp-list-head span:nth-child(3) { text-align: right; }
.rp-badge { border: 0; padding-left: 0; }
.rp-toast { left: auto; right: 16px; pointer-events: none; }
.rp-check input { appearance: none; border: 2px solid var(--ge-black); background: var(--ge-white); }
.rp-check input:checked { background: var(--ge-black); }
.rp-card-text strong { white-space: normal; overflow-wrap: anywhere; }
.rp-picker > .rp-inline:has([data-action="book-slot"]) { position: sticky; bottom: 0; background: var(--ge-white); padding: 8px 0; }
[data-action="cancel-booking"] { min-width: 150px; }
@media (max-width: 600px) { .rp-toast { top: 58px; bottom: auto; } .rp-top--phone > * { margin-left: 4px; margin-right: 4px; } }

/* The shared grey hover would leave a white label on pale grey: action and record buttons keep their own colour, a shade darker. */
.ge-button--action:hover:not(:disabled) { background: var(--ge-action); filter: brightness(0.85); }
.ge-button--record:hover:not(:disabled) { background: var(--ge-record); filter: brightness(0.85); }
