/* Shared semantic tokens. Native clients retain their platform fonts and units. */
:root {
    --rd-font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --rd-color-text: #000;
    --rd-color-surface: #fff;
    --rd-color-action: #075c9c;
    --rd-color-danger: #a32020;
    --rd-color-focus: #075c9c;
    --rd-space-1: .25rem;
    --rd-space-2: .5rem;
    --rd-space-3: .75rem;
    --rd-space-4: 1rem;
    --rd-control-min: max(44px, 2.75rem);
    --rd-control-radius: .375rem;
}
.rd-frontend, .rd-admin { font-family: var(--rd-font-ui); line-height: 1.5; }
:is(.rd-frontend, .rd-admin) :is(h1,h2,h3,h4,h5,h6,input,select,textarea,button) { font-family: inherit; }
:is(.rd-frontend, .rd-admin) :focus-visible {
    outline: 3px solid var(--rd-color-focus) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 3px #fff !important;
}
:is(.rd-frontend, .rd-admin) :is(input,select,textarea,button,a,[tabindex]) { scroll-margin-block: 6rem; }
:is(.rd-frontend, .rd-admin) .rd-skip-link {
    position: fixed; top: -10rem; left: 1rem; z-index: 11000;
    padding: .75rem 1rem; color: #fff; background: #12315a;
}
:is(.rd-frontend, .rd-admin) .rd-skip-link:focus { top: .5rem; }
.rd-member .main-menu__item > button.rd-nav-toggle {
    display: block; width: 100%; min-height: 54px; padding: 12px 10px;
    border: 0; border-radius: 0; color: #fff; background: transparent;
    font: inherit; font-size: 13px; line-height: 1.4; text-align: left; cursor: pointer;
}
.rd-member .main-menu__item.active > button.rd-nav-toggle { background: #2b4c8b; }
.rd-member .main-menu__item:not(.active) > .rd-nav-toggle:is(:hover,[aria-expanded="true"]),
.rd-member .main-menu__item:not(.active):hover > a {
    background: transparent; box-shadow: inset 0 -2px 0 #a9c7ff;
}
.rd-member .main-menu__box .dropdown-menu { max-width: calc(100vw - 2rem); }
.rd-member .main-menu__box .dropdown-menu a { white-space: normal; overflow-wrap: anywhere; }
:is(.rd-frontend, .rd-admin) .rd-error-summary {
    color: var(--rd-color-danger); background: #fff5f5; border: 2px solid currentColor;
    padding: var(--rd-space-4); border-radius: var(--rd-control-radius); overflow-wrap: anywhere;
}
.rd-error-summary p { margin-block: 0 .5rem; font-weight: 600; }
.rd-error-summary ul { margin-block: 0; padding-inline-start: 1.5rem; }
.rd-document-drop { width: 100%; font: inherit; text-align: center; cursor: pointer; }
.rd-frontend .rd-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--rd-space-3); }
.rd-actions > :is(.rd-document-action-status,[role="status"]) { flex: 1 1 100%; text-align: left; }
.rd-document-preview-dialog { max-width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem); }
.rd-document-preview-controls { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.rd-document-preview-controls strong { flex: 1 1 12rem; overflow-wrap: anywhere; }
:is(.rd-frontend, .rd-admin) button { min-height: var(--rd-control-min); }
@media (max-width: 700px) {
    .rd-member .rd-form-actions.rd-actions-active { position: static; width: auto; }
    .rd-member .main-menu__box .dropdown-menu { position: static; float: none; width: 100%; }
}
@media (forced-colors: active) {
    :is(.rd-frontend, .rd-admin) :focus-visible { outline-color: Highlight !important; }
}
@media (prefers-reduced-motion: reduce) {
    :is(.rd-frontend, .rd-admin) .animated { animation: none !important; }
}
/* Keep semantic disclosure buttons within the existing section heading design. */
:is(.rd-frontend, .rd-admin) h4.rd-section-heading { padding: 0; margin-inline: 0 !important; width: auto; height: auto; white-space: normal; }
:is(.rd-frontend, .rd-admin) .rd-section-toggle {
    position: relative; display: block; width: 100%; min-height: var(--rd-control-min); padding: .75rem 2.75rem .75rem 1rem;
    border: 0; border-radius: inherit; color: inherit; background: transparent;
    font: inherit; line-height: inherit; text-align: left; overflow-wrap: anywhere; cursor: pointer;
}
:is(.rd-frontend, .rd-admin) h4.rd-section-heading::after { content: none; }
:is(.rd-frontend, .rd-admin) .rd-section-toggle::after {
    content: ""; position: absolute; right: 1rem; top: 50%; width: .6rem; height: .6rem;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: translateY(-75%) rotate(45deg); pointer-events: none;
}
:is(.rd-frontend, .rd-admin) .rd-section-toggle[aria-expanded="true"]::after {
    transform: translateY(-25%) rotate(225deg);
}
/* Styled choices retain their native semantics, keyboard behavior and label focus. */
.rd-member input.form-radio__input,
.rd-member input.form-checkbox__input {
    display: block !important;
    visibility: visible !important;
    opacity: 0;
}
.rd-member .form-radio:focus-within,
.rd-member .form-checkbox:focus-within {
    outline: 3px solid var(--rd-color-focus);
    outline-offset: 3px;
}

/* Match listing actions while keeping the information control above the right edge. */
.rd-member .rd-listing-gate-pass .view_gate_pass{display:inline-flex;align-items:center;justify-content:center;min-height:40px;height:auto;width:auto;min-width:0;padding:8px 12px;font-size:13px;line-height:1.3;white-space:nowrap}

/* Ordinary and Preferred dispatches share one compact, wrapping order summary. */
.rd-member .rd-dispatch-summary { min-width:0; }
.rd-member .rd-dispatch-summary > .rd-preferred-banner { margin:0 30px 16px; }
.rd-member .rd-dispatch-summary .section-content { padding-top:0; padding-bottom:20px; }
.rd-member .rd-dispatch-summary .section-content > section,
.rd-member .rd-dispatch-summary #frmAccept > section { margin-block:0 16px; }
.rd-member .rd-dispatch-summary :is(h4.accordion,h4.rd-section-heading) { margin-block:0; }
.rd-member .rd-dispatch-summary .accordion__box.inner-wrapper { padding:12px 0 0; margin:0; min-height:0; }
.rd-member .rd-dispatch-summary :is(.field-group,.field-group__content) { margin:0; padding:0; min-width:0; }
.rd-member .rd-dispatch-summary .field-group__content-item_readonly:not(section) {
    display:grid; grid-template-columns:minmax(12rem,38%) minmax(0,1fr);
    gap:8px 12px; align-items:start; margin:0 0 8px; min-width:0;
}
.rd-member .rd-dispatch-summary .field-group__content-item_readonly > .form__label {
    width:auto; margin:0; padding:8px 0; text-align:right; white-space:normal; overflow-wrap:anywhere;
}
.rd-member .rd-dispatch-summary .form__label-value {
    width:auto; min-width:0; max-width:100%; margin:0; padding:8px 12px;
    white-space:normal; overflow-wrap:anywhere; word-break:normal;
}
.rd-member .rd-dispatch-summary .rd-dispatch-text { display:block; width:100%; }
.rd-member .rd-dispatch-summary .field-group__content-item_readonly > .button { justify-self:start; width:auto; min-width:0; }
.rd-member .rd-dispatch-summary :is(.notice_type_simple,.dispatch_instructions) { margin:0; padding:0; min-width:0; }
.rd-member .rd-dispatch-summary :is(p,.detail,.notice_type_simple,.dispatch_instructions) {
    max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:normal;
}
.rd-member .rd-dispatch-summary p { margin-block:0 12px; }
.rd-member .rd-dispatch-summary p:last-child { margin-bottom:0; }
.rd-member .rd-dispatch-summary .table-wide.t-address-book { margin:0; width:100%; }
.rd-member .rd-dispatch-summary .vehicle_item { margin-block:12px 0; padding:16px; }
.rd-member .rd-dispatch-summary .vehicle-item__head-box { margin-bottom:12px; }
.rd-member .rd-dispatch-summary .buttons-wrap { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:16px 0 0; padding:0; }
.rd-member .rd-dispatch-summary .buttons-wrap .button { margin:0; }
.rd-member .rd-dispatch-summary #frmAccept > section,
.rd-member .rd-dispatch-summary #frmAccept .field-group__content-item:last-child,
.rd-member .rd-dispatch-summary .post_agreement { margin-bottom:0; }
.rd-member .rd-dispatch-summary .accept_vehicle:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:700px) {
    .rd-member .rd-dispatch-summary > .rd-preferred-banner { margin-inline:16px; }
    .rd-member .rd-dispatch-summary .field-group__content-item_readonly:not(section) { grid-template-columns:minmax(0,1fr); gap:4px; }
    .rd-member .rd-dispatch-summary .field-group__content-item_readonly > .form__label { text-align:left; padding:0; }
}

/* Keep intrinsic text and flex-item sizes inside the dispatch panel. */
.rd-member .rd-dispatch-summary :is(.section-content,.accordion__box,.vehicle_item,#frmAccept) {
    box-sizing:border-box; min-width:0; max-width:100%;
}
.rd-member .rd-dispatch-summary .vehicle_item { display:block; }
.rd-member .rd-dispatch-summary .accordion__box { width:100%; }
.rd-member .rd-dispatch-summary [data-dispatch-text] {
    box-sizing:border-box; display:block; width:100%; min-width:0; max-width:100%;
    white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word;
}
.rd-member .rd-dispatch-summary [data-dispatch-text] :is(p,span,strong,div) {
    min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:break-word;
}
.rd-member .rd-dispatch-summary .post_agreement > .form__label {
    flex:1 1 0; min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere;
}
.rd-member .rd-dispatch-summary .form__message-check { flex:0 0 auto; }
.rd-member .rd-dispatch-summary .form-input,
.rd-member .rd-dispatch-summary .form-input .form__input { box-sizing:border-box; min-width:0; max-width:100%; }
.rd-member .rd-dispatch-summary h4 .detail { position:static; display:inline; width:auto; white-space:normal; }
