/* Native dialog is outside the transformed service panel and its clipping context. */
dialog.service-options-dialog { position:fixed; inset:auto 0 0; margin:0 auto; width:min(100% - 16px, 540px); max-height: min(78dvh, 780px); padding:0; border:1px solid #997d43; border-radius:20px 20px 0 0; background:#101d2b; color:#f7f9fb; box-shadow:0 -12px 48px #0006; font:15px/1.45 system-ui,sans-serif; }
dialog.service-options-dialog:not([open]) { display:none !important; }
dialog.service-options-dialog[open] { display:flex; flex-direction:column; }
dialog.service-options-dialog::backdrop { background:#0007; }
.service-options-dialog *, .service-options-dialog *::before { box-sizing:border-box; }
.service-options-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid #ffffff20; }
.service-options-dialog h2 { margin:0; font-size:18px; color:inherit; }
.service-options-dialog .service-options-content { overflow:auto; overscroll-behavior:contain; min-height:0; padding:12px 16px; }
.service-options-dialog footer { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; padding:10px 16px max(12px,env(safe-area-inset-bottom)); border-top:1px solid #ffffff20; }
.service-options-dialog button { min-height:44px; min-width:44px; padding:8px 12px; border-radius:12px; border:1px solid #c3a36188; background:#203043; color:#fff; font:inherit; cursor:pointer; }
.service-options-dialog button:disabled { opacity:.45; cursor:default; }
.service-options-dialog footer button:last-child { background:#e4bd70; color:#14202b; font-weight:650; }
.service-options-dialog input:not([type=checkbox]), .service-options-dialog textarea, .service-options-dialog select { display:block; width:100%; min-width:0; min-height:44px; padding:10px; margin:6px 0; border-radius:10px; border:1px solid #728394; background:#081523; color:#fff; font:16px/1.3 system-ui; color-scheme:dark; }
.service-options-dialog input[type=checkbox] { width:24px; height:24px; accent-color:#e4bd70; }
.service-options-dialog label { display:block; color:#e8edf3; }
.service-options-dialog ol { padding-left:24px; }
.service-options-stop, .service-options-field { padding:10px 0; border-bottom:1px solid #ffffff20; }
.service-options-stop-actions, .service-options-list-row { display:flex; align-items:center; gap:8px; }
.service-options-list-row input { flex:1; }
.service-options-message { width:100%; margin:0; white-space:pre-line; }
.service-options-hint { color:#c1cfdd; margin:0 0 12px; }
.service-options-dialog :focus-visible { outline:2px solid #f6cf85; outline-offset:2px; }
#dynamic-form .taxi-route-stop[hidden], #dynamic-form .bus-search-reach[hidden] { display:none !important; }
#dynamic-form .shopping-panel-fields { position:relative; }
#dynamic-form .shopping-panel-fields:has(.service-options-trigger) { padding-right:44px; }
#dynamic-form .service-options-trigger { position:absolute; right:4px; top:50%; transform:translateY(-50%); width:36px; min-height:52px; border:1px solid #c3a36188; border-radius:20px; background:#101e29; color:#f3bd45; font-size:24px; }
#dynamic-form .service-options-trigger svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
#dynamic-form .has-options { box-shadow:0 0 0 2px #e4bd70; }


body[data-mobile-service-panel] #routePanel .service-route-options {
  position:absolute;  right:0%; z-index:1000;
  min-height:44px;  border:1px solid #c3a36188;
  border-radius:22px; background:#101e29; color:#f3bd45; font:600 14px/1.3 system-ui;
  cursor:pointer;
}
