/* V1.21.49: presentation only. No booking, authentication or ride state changes. */
:root { --ui-gap: 12px; --ui-radius: 16px; --ui-shadow: 0 6px 24px rgba(14,41,88,.055); }
body.ui-polish { -webkit-text-size-adjust: 100%; line-height: 1.5; }
.ui-polish :is(button, a.btn, a.cta, a.button, .mini-nav a, .ride-log-actions a) {
  min-height: 46px; line-height: 1.3; border-radius: 12px;
  white-space: normal; overflow-wrap: anywhere; text-align: center;
}
.ui-polish :is(a.btn, a.cta, a.button, .mini-nav a, .ride-log-actions a) {
  display: inline-flex; align-items: center; justify-content: center;
}
.ui-polish :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #397ac1; outline-offset: 3px;
}
.ui-polish :is(input, select, textarea) { max-width: 100%; }
.ui-polish :is(h1, h2, h3, .id, .request-code, .booking-route, .ride-row strong) { overflow-wrap: anywhere; }
.ui-polish :is(.card, .public-quote-card, .ride-log-card, .public-review-card) { box-shadow: var(--ui-shadow); }
.ui-polish :is(.hero-actions, .public-quote-actions, .ride-log-actions) { gap: var(--ui-gap); }
.ui-public .mini-nav { gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.ui-public .mini-nav a { padding: 10px 14px; border: 1px solid var(--line); background: #fff; font-weight: 700; }
.ui-public .hero-copy { padding-bottom: 8px; }
.ui-public .cards { align-items: start; }
.ui-public .card-body { padding: 22px; }
.ui-public .card-body h3 { line-height: 1.25; }
.ui-public .ride-log-body { padding: 22px; }
.ui-public .ride-log-body > p { line-height: 1.6; }
.ui-public section[id] { scroll-margin-top: 20px; }
.ui-public .ride-log-actions { padding-top: 4px; }
.ui-public .public-review-head { gap: 12px; }
.ui-public .ui-story-summary { line-height: 1.6; margin: 10px 0; }
.ui-public .ui-story-toggle { display: block; width: 100%; margin-top: 8px; padding: 10px 14px; border: 1px solid #dfe4ea; background: #f5f8fc; color: #0e2958; font: inherit; font-weight: 700; cursor: pointer; }
/* Failed optional photos collapse; slow/lazy photos remain eligible to load. */
.ui-polish .public-review-photos a[data-ui-photo-error] { display: none; }
.ui-polish .public-review-photos:not(:has(a:not([data-ui-photo-error]))) { display: none; }
.ui-driver .new { font-size: 24px; padding: 18px; }
.ui-driver :is(.general, .import, .quote, .booking-launch, .stats-launch, .szr-event) { padding: 15px 18px; font-size: 18px; border-width: 1px; }
.ui-driver :is(.row, .quote-actions, .booking-payment-actions, .live-row-tools) { gap: 10px; }
.ui-driver :is(.btn, .review-refresh) { font-size: 14px; }
.ui-driver .review-top { align-items: start; flex-wrap: wrap; }
.ui-driver .live-controls .btn { min-width: 0; }
.ui-driver .card { padding: 20px; }
.ui-school .top { flex-wrap: wrap; }
.ui-school .top > div { min-width: 0; }
.ui-school .date-actions { gap: 8px; }
.ui-school .counter button { width: 44px; min-width: 44px; height: 46px; }
.ui-school .mini { font-size: 13px; padding: 10px; }
@media (hover: hover) {
  .ui-polish :is(button, a.btn, a.cta, a.button, .mini-nav a):not(:disabled):hover { filter: brightness(.96); }
}
@media (max-width: 760px) {
  .ui-polish .wrap { padding-left: 16px; padding-right: 16px; }
  .ui-public .hero { padding-top: 16px; padding-bottom: 24px; }
  .ui-public .hero-media { border-radius: 18px; }
  .ui-public .hero p { font-size: 16px; line-height: 1.6; }
  .ui-public .hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 16px; }
  .ui-public .hero-actions a { width: 100%; padding: 14px 16px; }
  .ui-public .mini-nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
  .ui-public .mini-nav a { padding: 10px 5px; font-size: 13px; }
  .ui-public .mini-nav a:last-child { grid-column: 1 / -1; }
  .ui-public .badges { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .ui-public .badges > * { text-align: center; }
  .ui-public section { padding: 28px 0; }
  .ui-public h2 { font-size: clamp(23px,6vw,29px); line-height: 1.25; }
  .ui-public :is(.card h3, .ride-log-body h3) { font-size: 21px; line-height: 1.3; }
  .ui-public :is(.card-body, .ride-log-body, .public-review-card) { padding: 18px; }
  .ui-public .public-quote-section .wrap { padding-left: 16px; padding-right: 16px; }
  .ui-public .public-quote-card { padding: 18px; border-radius: 18px; }
  .ui-public .public-quote-actions { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
  .ui-public .public-quote-actions button { width: 100%; min-width: 0; padding: 12px 8px; }
  .ui-public .ride-log-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ui-public .ride-log-actions > :is(.review-link,.private-note,:only-child) { grid-column: 1 / -1; }
  .ui-public .ride-log-actions > * { min-width: 0; margin: 0; }
  .ui-public .ride-log-toolbar { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: end; }
  .ui-public .ride-log-toolbar input { width: 100%; min-width: 0; }
  .ui-public .public-review-head { flex-wrap: wrap; }
  .ui-public .card-body .button { width: 100%; }
  .ui-polish :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { font-size: 16px; }
}
@media (max-width: 560px) {
  .ui-driver :is(.row, .quote-actions, .booking-payment-actions, .live-row-tools, .live-controls) {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; width: 100%;
  }
  .ui-driver :is(.row, .quote-actions, .booking-payment-actions, .live-row-tools, .live-controls) > :is(button,a) { width: 100%; min-width: 0; margin: 0; padding: 12px 8px; }
  .ui-driver :is(.row, .quote-actions, .live-controls) > :is(.primary,.start-ride,.end-ride,.ride-publish) { grid-column: 1 / -1; }
  .ui-driver :is(.row,.live-controls) > :is(p,.small,.notice,label) { grid-column: 1 / -1; }
  .ui-driver .row > :only-child { grid-column: 1 / -1; }
  .ui-driver .ai-story-editor .live-controls.ai-editor-actions { grid-template-columns: 1fr; }
  .ui-driver :is(.btn.delete,.review-test-btn) { grid-column: 1 / -1; }
  .ui-driver .row:has(> .delete:nth-child(4):last-child) > :first-child { grid-column: 1 / -1; }
  .ui-driver .card { padding: 16px; margin-top: 16px; }
  .ui-driver .id { font-size: 22px; }
  .ui-driver .review-top > .row { margin-top: 10px; }
  .ui-school .date-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .ui-school .date-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ui-school .choice-row { display: grid; grid-template-columns: 1fr; }
  .ui-school .card { padding: 16px; }
  .ui-passenger .card { padding: 18px; }
  .ui-passenger h1 { font-size: 27px; line-height: 1.25; }
  .ui-passenger h2 { font-size: 23px; }
  .ui-passenger .btn { width: 100%; margin-right: 0; }
  .ui-passenger .id { font-size: 17px; }
}
/* Never let display/grid styling expose protected or inactive UI. */
.ui-polish [hidden] { display: none !important; }
