/* Opt-in components. Existing desktop and scanner layouts are not restyled. */
/* V2 Umfuhr palette: Status 1 WB is the shared reference. */
:root{--trip-open:var(--palette-951812be3a);--trip-loading:var(--palette-4035d34c3e);--trip-picked-up:var(--palette-f911fc5edc);--trip-delivered:var(--palette-40ad3a62f2);--trip-cancelled:var(--palette-23be5af369);--trip-preloading:var(--palette-9949e40f72);--trip-status-text:var(--palette-c659d630ce)}
.ui-dialog{box-sizing:border-box;width:min(590px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 36px);margin:auto;padding:0;border:1px solid var(--ui-control-border);border-radius:4px;box-shadow:0 18px 55px var(--palette-f19eb1bf46);color:var(--ui-text);background:var(--ui-surface);overflow:auto;overscroll-behavior:contain;letter-spacing:0}
.ui-dialog--compact{width:min(420px,calc(100vw - 28px))}.ui-dialog--detail{width:min(1180px,calc(100vw - 28px))}.ui-dialog::backdrop{background:var(--palette-2015c8c767)}
.ui-dialog__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--ui-surface-alt);border-bottom:1px solid var(--ui-line)}.ui-dialog__header h2{min-width:0;overflow-wrap:anywhere;margin:0;font-size:17px;color:var(--ui-heading)}.ui-dialog__body{isolation:isolate;min-width:0;padding:14px 16px 20px;overflow-wrap:anywhere}.ui-dialog__body label{display:block;margin-top:12px;font-size:13px}.ui-dialog__body select,.ui-dialog__body input:not([type=checkbox]),.ui-dialog__body textarea{box-sizing:border-box;width:100%;margin-top:4px}.ui-dialog__context{font-size:13px;color:var(--ui-muted);margin:0 0 12px}.ui-dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:20px}
.ui-dialog__error{color:var(--ui-error);font-size:13px;margin:12px 0}.ui-dialog__error[hidden],.ui-dialog [hidden]{display:none}.ui-dialog[aria-busy=true] .ui-dialog__body{opacity:.65}.ui-button--danger{color:var(--palette-951812be3a)}.ui-button--danger:hover{color:var(--palette-951812be3a);border-color:var(--palette-951812be3a)}
.ui-icon-button,.ui-surface .icon-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;flex:0 0 34px;padding:7px;border:1px solid var(--ui-control-border);border-radius:4px;background:var(--ui-surface);color:var(--ui-heading);cursor:pointer}.ui-icon,.ui-surface .icon-button img{display:block;width:18px;height:18px;flex:none}.ui-icon-button:hover{background:var(--ui-hover)}.ui-icon-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.ui-dialog__close{width:36px;height:36px;flex-basis:36px}
.ui-status{display:inline-block;min-width:0;min-height:18px;height:auto;padding:2px 6px;border:0;border-radius:3px;background:var(--trip-preloading);color:var(--trip-status-text);font-size:12px;font-weight:700;line-height:14px;white-space:nowrap;text-align:center}
.ui-status.status-open,.ui-transport-status-colors :is(.status,.status-select).status-open{background:var(--trip-open);border-color:var(--trip-open);color:var(--trip-status-text)}
.ui-status.status-loaded,.ui-status.status-loading,.ui-transport-status-colors :is(.status,.status-select).status-loaded,.ui-transport-status-colors :is(.status,.status-select).status-loading{background:var(--trip-loading);border-color:var(--trip-loading);color:var(--trip-status-text)}
.ui-status.status-picked_up,.ui-transport-status-colors :is(.status,.status-select).status-picked_up{background:var(--trip-picked-up);border-color:var(--trip-picked-up);color:var(--trip-status-text)}
.ui-status.status-delivered,.ui-transport-status-colors :is(.status,.status-select).status-delivered{background:var(--trip-delivered);border-color:var(--trip-delivered);color:var(--trip-status-text)}
.ui-status.status-cancelled,.ui-transport-status-colors :is(.status,.status-select).status-cancelled{background:var(--trip-cancelled);border-color:var(--trip-cancelled);color:var(--trip-status-text)}
.ui-status.status-preloading,.ui-transport-status-colors :is(.status,.status-select).status-preloading{background:var(--trip-preloading);border-color:var(--trip-preloading);color:var(--trip-status-text)}
button.ui-status.status-open:hover{background:var(--trip-open);color:var(--trip-status-text);filter:brightness(.95)}
@media(prefers-reduced-motion:reduce){.ui-dialog{scroll-behavior:auto}}

/* Light loading/pickup/cancelled fills use dark text; solid green keeps the shared light foreground. */
.status-loading,.status-loaded,.status-picked_up,.status-cancelled{--trip-status-text:var(--ui-ink)}
