/* Complete planner surfaces, including dialogs mounted outside the app root.
   Photo pixels, brand artwork and scannable QR codes are deliberately preserved. */
/* Ticket offers occupy a text control in the existing navigation, not a panel. */
#rideplenty-app .rp-nav .rp-discounts-trigger,html[data-rp-theme="dark"] #rideplenty-app .rp-nav .rp-discounts-trigger{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--rp-ui-accent);font:600 14px/1.4 system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;padding:8px 0;min-height:44px;white-space:normal}
.rp-ticket-dialog{box-sizing:border-box;width:calc(100vw - 24px);max-width:680px;max-height:calc(100dvh - 24px);padding:18px;border:1px solid var(--rp-ui-line);border-radius:16px;background:var(--rp-ui-card);color:var(--rp-ui-ink);font:16px/1.5 system-ui,sans-serif;overflow:auto;overflow-wrap:anywhere}
.rp-ticket-dialog::backdrop{background:#071211bd}
.rp-ticket-dialog header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.rp-ticket-dialog h2{font:700 24px/1.2 system-ui,sans-serif;color:var(--rp-ui-ink);margin:0 0 6px}
.rp-ticket-dialog header p,.rp-ticket-dialog>p{color:var(--rp-ui-muted);margin:0 0 16px}
.rp-ticket-dialog button{flex:0 0 44px;min-width:44px;min-height:44px;border:1px solid var(--rp-ui-line);border-radius:9px;background:var(--rp-ui-raised);color:var(--rp-ui-ink);font:26px/1 system-ui;cursor:pointer}
.rp-ticket-offers{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.rp-ticket-dialog .rp-ticket-offer{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid var(--rp-ui-line);border-radius:12px;background:var(--rp-ui-raised);color:var(--rp-ui-ink);text-decoration:none}
.rp-ticket-offer p,.rp-ticket-offer small{margin:0;color:var(--rp-ui-muted)}
.rp-ticket-offer span{color:var(--rp-ui-accent);font-weight:650}
.rp-ticket-dialog :is(button,a):focus-visible{outline:3px solid var(--rp-ui-highlight);outline-offset:3px}
@media(min-width:600px){.rp-ticket-dialog{padding:24px}.rp-ticket-offers{grid-template-columns:repeat(2,minmax(0,1fr))}}
html[data-rp-theme="dark"]{--rp-ui-danger:#ffb5af;--rp-ui-danger-bg:#382324;--rp-ui-success:#91e7ba;--rp-ui-success-bg:#19372c;--rp-ui-warning-bg:#392e15}
html[data-rp-theme="dark"] body.rp-planner-body{background:var(--rp-ui-page);color:var(--rp-ui-ink)}
html[data-rp-theme="dark"] :is(#rideplenty-app,#rideplenty-notices,.rp-help,.rp-send-dialog,.rp-live-review,.rp-schedule-options,#rp-schedule-chat){--ink:var(--rp-ui-ink);--muted:var(--rp-ui-muted);--green:var(--rp-ui-accent);--border:var(--rp-ui-line);color-scheme:dark}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-header-weather,.rp-header-weather.is-historical,.rp-plan-step,.rp-drawer-header,.rp-drawer-controls,.rp-drawer-footer,.rp-park-option-copy,.rp-mobile-planbar,.rp-readonly-heading,.rp-chat-invite,.rp-readonly-code,.rp-discounts,.rp-deal-card,.rp-single-rider-option,.rp-chat-messages article,.rp-chat-message,.rp-pace-assistant,.rp-item){background:var(--rp-ui-card);color:var(--rp-ui-ink);border-color:var(--rp-ui-line)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-park-drawer,.rp-chat-messages,.rp-attraction-picture,.rp-attraction-picture figcaption,.rp-day-section,.rp-park-switch,.rp-park-stage-note,.rp-daily-schedule,.rp-share-panel,.rp-alert-heading,.rp-alert-details,.rp-push-box,.rp-wait-watch-row,.rp-deal-kind,.rp-group-people>span,.rp-plan-number,.rp-icon,.rp-ride-icon,th){background:var(--rp-ui-raised);color:var(--rp-ui-ink);border-color:var(--rp-ui-line)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-item.checked,.rp-single-rider-option.checked,.rp-plan-step.is-current,.rp-weather-strip button.selected,.rp-selected-label,.rp-live-choice:hover,.rp-entry-eligibility .rp-admission-option,.rp-checklist .rp-show-picker,.rp-review-choice.is-suggested){background:var(--rp-ui-raised);color:var(--rp-ui-ink);border-color:var(--rp-ui-accent)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-header-weather p,.rp-header-weather small,.rp-weather-selected,.rp-weather-selected small,.rp-weather-source,.rp-weather-strip small,.rp-weather-method,.rp-weather-method p,.rp-weather-badge,.rp-item-description,.rp-ride-measures,.rp-ride-measures small,.rp-ride-history,.rp-show-picker small,.rp-auto-day small,.rp-share-panel p,.rp-deal-card p,.rp-discount-intro,.rp-discounts>summary span,.rp-park-stage-note ol,.rp-park-option-copy small,.rp-alert-heading p,.rp-alert-control p,.rp-alert-clear,.rp-mode.active .rp-mode-calc,.rp-live-choice small,.rp-live-now-note,.rp-group-people small,.rp-chat-messages small){color:var(--rp-ui-muted)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-ride-measures b,.rp-discounts>summary,.rp-alert-details summary,.rp-alert-toggle,.rp-empty h3,.rp-deal-card strong){color:var(--rp-ui-ink)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-language select,.rp-header-control,.rp-park-option button){background:var(--rp-ui-card);color:var(--rp-ui-ink);border-color:var(--rp-ui-line)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-park-categories button.active,.rp-park-categories button[aria-pressed="true"],.rp-share-actions button:first-child,.rp-plan-step.is-current .rp-plan-number,.rp-theme-switch button[aria-pressed="true"]){background:var(--rp-ui-accent);color:var(--rp-ui-on-accent);border-color:var(--rp-ui-accent)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-primary,.rp-filter button.active,.rp-plan-step.is-current .rp-plan-number) :is(strong,span){color:inherit}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-plan-step.is-current,.rp-mode.active,.rp-variation.active){border-color:var(--rp-ui-accent)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-preview,.rp-meetup,.rp-special-event-hour,.rp-height,.rp-priority-toggle.active,.rp-opportunity .rp-queue-badge,.rp-alert-drop){background:var(--rp-ui-warning-bg);color:var(--rp-ui-highlight);border-color:#896e32}
html[data-rp-theme="dark"] #rideplenty-app .rp-priority-chip{background:var(--rp-ui-warning-bg);color:var(--rp-ui-highlight)!important}
html[data-rp-theme="dark"] #rideplenty-app .rp-special-event-hour strong{color:inherit}
html[data-rp-theme="dark"] #rideplenty-app .rp-height.is-pending{background:var(--rp-ui-raised);color:var(--rp-ui-muted)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-opportunity,.rp-alert-backup,.rp-pace-status.is-ahead,.rp-next-card.rp-next-bonus,.rp-review-float.is-complete,.rp-queue-badge,.rp-alert-badge,.rp-group-people b){background:var(--rp-ui-success-bg);color:var(--rp-ui-success);border-color:#4e9573}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-opportunity-label,.rp-next-card.rp-next-bonus .rp-next-number){background:var(--rp-ui-success-bg);color:var(--rp-ui-success)}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-changed,.rp-change-note,.rp-live-alert,.rp-review-float,.rp-review-choice.is-removed,.rp-pace-status.is-behind,.rp-next-card.rp-next-unavailable){background:var(--rp-ui-danger-bg);color:var(--rp-ui-danger);border-color:#b86764}
html[data-rp-theme="dark"] #rideplenty-app :is(.rp-review-float strong,.rp-review-float small,.rp-review-progress-kicker,.rp-review-choice.is-removed span strong,.rp-review-choice.is-removed span small){color:var(--rp-ui-danger)}
html[data-rp-theme="dark"] #rideplenty-app .rp-review-float.is-complete :is(strong,small,.rp-review-progress-kicker){color:var(--rp-ui-success)}
html[data-rp-theme="dark"] #rideplenty-app .rp-review-x{background:var(--rp-ui-card);color:var(--rp-ui-danger);border-color:var(--rp-ui-danger)}
html[data-rp-theme="dark"] #rideplenty-app .rp-review-x[aria-pressed="true"]{background:var(--rp-ui-danger);color:#382324}
html[data-rp-theme="dark"] #rideplenty-app .rp-pace-status.is-on-time{background:var(--rp-ui-raised);color:var(--rp-ui-muted)}
html[data-rp-theme="dark"] #rideplenty-app .rp-break .rp-stop{background:#345071;color:#eef4ff}
html[data-rp-theme="dark"] #rideplenty-app .rp-stop :is(strong,span){color:inherit}
html[data-rp-theme="dark"] #rideplenty-app .rp-wait-hero>strong{color:var(--rp-ui-highlight)}
html[data-rp-theme="dark"] #rideplenty-app .rp-alert-toggle[aria-pressed="true"] .rp-toggle-track{background:var(--rp-ui-accent)}
html[data-rp-theme="dark"] #rideplenty-app :is(input,textarea)::placeholder{color:var(--rp-ui-muted);opacity:1}
html[data-rp-theme="dark"] #rideplenty-app :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--rp-ui-accent)}
html[data-rp-theme="dark"] #rideplenty-app :is(button,select,input,textarea,a,summary):focus-visible{outline:3px solid var(--rp-ui-highlight);outline-offset:3px}
/* Native dialogs and ASK PLENTY are appended beside the application. */
html[data-rp-theme="dark"] :is(.rp-send-dialog,.rp-live-review,.rp-schedule-options,.rp-help-panel,#rideplenty-notices .rp-error-dialog){background:var(--rp-ui-card);color:var(--rp-ui-ink);border:1px solid var(--rp-ui-line)}
html[data-rp-theme="dark"] :is(.rp-send-dialog,.rp-live-review,.rp-schedule-options,.rp-help-panel,#rideplenty-notices) :is(button,input,textarea,select,.rp-variation){background:var(--rp-ui-raised);color:var(--rp-ui-ink);border-color:var(--rp-ui-line)}
html[data-rp-theme="dark"] :is(.rp-send-dialog,.rp-live-review,.rp-schedule-options,.rp-help-panel,#rideplenty-notices) :is(h2,h3,label,strong){color:var(--rp-ui-ink)}
html[data-rp-theme="dark"] :is(.rp-send-help,.rp-send-head p,.rp-send-dialog label small,.rp-help-panel form p,.rp-help-panel>small){color:var(--rp-ui-muted)}
html[data-rp-theme="dark"] :is(.rp-send-dialog,.rp-live-review,.rp-schedule-options,.rp-help-panel) a{color:var(--rp-ui-accent)}
html[data-rp-theme="dark"] :is(.rp-live-review,.rp-schedule-options) :is(th,td){border-color:var(--rp-ui-line)}
html[data-rp-theme="dark"] :is(.rp-send-dialog,.rp-live-review,.rp-schedule-options,.rp-help-panel,#rideplenty-notices) :is(.rp-primary,.rp-send-primary,.rp-error-close,.rp-boarding-confirm){background:var(--rp-ui-accent);color:var(--rp-ui-on-accent);border-color:var(--rp-ui-accent)}
html[data-rp-theme="dark"] .rp-schedule-options .rp-variation.active{background:var(--rp-ui-success-bg);border-color:var(--rp-ui-accent)}
html[data-rp-theme="dark"] .rp-help-log article{background:var(--rp-ui-raised);color:var(--rp-ui-ink)}
html[data-rp-theme="dark"] .rp-help-log .rp-help-you{background:#25364d;color:#edf5f1}
html[data-rp-theme="dark"] .rp-help-panel>header{background:#123e35;color:var(--rp-ui-ink)}
html[data-rp-theme="dark"] .rp-live-review .rp-warning{background:var(--rp-ui-warning-bg);color:var(--rp-ui-highlight)}
html[data-rp-theme="dark"] :is(.rp-live-review [data-live-save-error],#rp-schedule-chat [data-chat-error]){color:var(--rp-ui-danger)}
html[data-rp-theme="dark"] #rp-schedule-chat :is(.rp-chat-messages,.rp-chat-message){background:var(--rp-ui-raised);color:var(--rp-ui-ink);border-color:var(--rp-ui-line)}
html[data-rp-theme="dark"] #rp-schedule-chat .rp-chat-status{color:var(--rp-ui-muted)}
html[data-rp-theme="dark"] #rp-schedule-chat .rp-chat-status[data-state="retry"]{color:var(--rp-ui-highlight)}
html[data-rp-theme="dark"] #rideplenty-notices .rp-error-symbol{background:var(--rp-ui-danger-bg);color:var(--rp-ui-danger)}
html[data-rp-theme="dark"] #rideplenty-notices .rp-boarding-dialog .rp-error-symbol{background:var(--rp-ui-success-bg);color:var(--rp-ui-success)}
/* Vector map palette: preserve park photos, land colors and numbered stops. */
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg{background:var(--rp-ui-card)}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg>rect:first-child{fill:var(--rp-ui-card)}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg text:is([fill="#263d33"],[fill="#344c43"],[fill="#53675b"]){fill:var(--rp-ui-ink);stroke:none}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg path[fill="#c2cbbb"]{fill:#3b4b44;stroke:#64796e}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg path[fill="#a4d3dc"]{fill:#274f60;stroke:#4b8194}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg path[stroke="#fff"]{stroke:#73877c}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg polyline[stroke="#264db6"]{stroke:#9ebcff}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-compass :is(rect,circle){fill:var(--rp-ui-raised);stroke:var(--rp-ui-line)}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-compass [fill="#b13735"]{fill:#ffb5af}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-compass [stroke="#b13735"]{stroke:#ffb5af}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-compass [stroke="#244ec4"]{stroke:#9ebcff}
/* 2.1.37: explicit high-contrast date field and map palette. */
html[data-rp-theme="dark"] #rideplenty-app input#rp-date{background:#fff!important;color:#142b25!important;-webkit-text-fill-color:#142b25;color-scheme:light;border-color:#afc6bc}
html[data-rp-theme="dark"] #rideplenty-app #rp-date::-webkit-calendar-picker-indicator{filter:none;opacity:1}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg{background:#122b30;border:1px solid #73969b;border-radius:12px}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg>rect:first-child{fill:#122b30}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg path[fill="#c2cbbb"]{fill:#526b72;stroke:#b8d1d0}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg path[fill="#a4d3dc"]{fill:#18647f;stroke:#80bfd3}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg path[stroke="#fff"]{stroke:#b7d1c9}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg polyline[stroke="#264db6"]{stroke:#63dfe6;stroke-width:3}
html[data-rp-theme="dark"] #rideplenty-app .rp-map-svg text[fill="#263d33"]{fill:#f1faf7;stroke:#122b30;stroke-width:4;paint-order:stroke}

/* 2.1.40: SVG images do not inherit the surrounding dark-mode text color. */
html[data-rp-theme="dark"] #rideplenty-app .rp-header-weather :is(.rp-weather-selected>img,.rp-weather-strip img){filter:brightness(0) invert(1);opacity:1}
html[data-rp-theme="dark"] #rideplenty-app .rp-header-weather .rp-weather-selected strong{color:var(--rp-ui-ink)}
