/* Order workflows: calm surfaces, clear hierarchy, touch-sized controls.
   Scoped so the supplier, driver and accounting screens keep their own layouts. */
.order-workspace {
    --order-border: #e3e8ef;
    --order-muted: #59677d;
    width: 100%;
    min-width: 0;
    color: var(--mud-palette-text-primary);
}
.order-workspace .mud-button-root { min-height: 44px; letter-spacing: 0; }
.order-workspace .mud-typography-caption,
.order-workspace .order-muted { color: var(--order-muted); }
.order-workspace .order-client-name { font-weight: 700; overflow-wrap: anywhere; }
.order-workspace .mud-chip { border-radius: 8px !important; }
.order-workspace .mud-alert-text-warning { color: #765600; background: #fff8dd; }
.order-workspace .mud-alert-text-info { color: #275080; background: #eef5ff; }
.order-workspace .billing-review-action { color: #765600 !important; background: #fff8dd !important; border: 1px solid #e5ce89; }
.order-workspace :focus-visible,
.order-billing-dialog :focus-visible { outline: 2px solid var(--mud-palette-primary); outline-offset: 3px; }
.orders-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 4px; }
.orders-heading-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.orders-billing-link { margin-bottom: 8px; }
.orders-filter-disclosure,
.order-source-disclosure { border: 1px solid var(--order-border); border-radius: 10px; background: var(--mud-palette-surface); margin-bottom: 12px; }
.orders-filter-disclosure > summary,
.order-source-disclosure > summary,
.billing-explanation > summary { cursor: pointer; min-height: 44px; padding: 12px 14px; font-size: .875rem; font-weight: 600; }
.orders-filter-disclosure[open] > summary,
.order-source-disclosure[open] > summary { border-bottom: 1px solid var(--order-border); }
.order-count { margin-inline-start: 8px; color: var(--order-muted); font-weight: 400; }
.order-list-chips { overflow-x: auto; flex-wrap: nowrap !important; gap: 4px !important; padding-bottom: 4px; }
.order-list-chips .mud-chip { flex-shrink: 0; }
.order-list-card { display: block; padding: 14px; color: inherit; background: var(--mud-palette-surface); border: 1px solid var(--order-border); border-radius: 12px; }
.order-list-card:hover { color: inherit; border-color: var(--mud-palette-primary); }
.order-list-card:active { background: #f1f6fc; }
.order-list-card > .mud-stack:first-child { gap: 12px; }
.order-list-card .mud-chip { flex-shrink: 0; }
.order-summary-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px 0; margin-bottom: 12px; border-block: 1px solid var(--order-border); }
.order-summary-strip > div { min-width: 0; padding: 0 12px; display: flex; flex-direction: column; gap: 4px; }
.order-summary-strip > div:first-child { padding-left: 0; }
.order-summary-strip > div + div { border-left: 1px solid var(--order-border); }
.order-summary-strip span { color: var(--order-muted); font-size: .75rem; }
.order-summary-strip strong { font-size: 1rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.order-work-tabs > .mud-tabs-tabbar { border: 1px solid var(--order-border); border-radius: 10px 10px 0 0; }
.order-item-toolbar { display: flex; gap: 8px; align-items: center; }
.order-item-toolbar > .mud-input-control { flex: 1; min-width: 0; }
.order-item-toolbar > .mud-button-root { flex-shrink: 0; }
.order-filter-scroll { overflow-x: auto; margin: 8px 0 12px; }
.order-filter-scroll .mud-chipset { flex-wrap: nowrap; width: max-content; }
.order-filter-scroll .mud-chip { flex-shrink: 0; min-height: 36px; }
.order-item-card { border: 1px solid var(--order-border) !important; box-shadow: none !important; margin-bottom: 0; }
.order-item-card .billing-review-action { width: 100%; margin: 10px 0 4px; }
.order-item-values { padding: 10px 0; border-block: 1px solid var(--order-border); }
.order-item-values strong { font-variant-numeric: tabular-nums; }
.order-step-caption { color: var(--order-muted); font-size: .8rem; margin-bottom: 8px; }
.order-selected-client { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #bbd8fb; background: #f1f7ff; border-radius: 10px; margin-bottom: 12px; }
.order-selected-client > div { display: flex; flex-direction: column; min-width: 0; }
.order-selected-client span { font-size: .75rem; color: var(--order-muted); }
.order-selected-client strong { overflow-wrap: anywhere; }
.order-step-actions { position: sticky; bottom: 0; z-index: 3; background: var(--mud-palette-surface); border-top: 1px solid var(--order-border); padding: 12px; padding-bottom: max(12px, env(safe-area-inset-bottom)); }
.order-billing-dialog .mud-dialog-content { min-height: 0; }
.billing-unit-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 12px; background: #f3f6fa; border-radius: 10px; }
.billing-unit-summary > div { display: flex; flex-direction: column; gap: 4px; }
.billing-unit-summary span { font-size: .75rem; color: #59677d; }
.billing-unit-summary strong { overflow-wrap: anywhere; }
.billing-explanation { font-size: .85rem; }
.billing-explanation > summary { padding: 10px 0; color: var(--mud-palette-primary); }
.billing-explanation .mud-typography { padding: 0 0 12px; overflow-wrap: anywhere; }
.billing-total { padding: 12px; background: #f1f7ff; border-radius: 10px; font-variant-numeric: tabular-nums; }
.order-billing-dialog .mud-dialog-actions { flex-wrap: nowrap; border-top: 1px solid #e3e8ef; background: var(--mud-palette-surface); }
.order-billing-dialog .mud-dialog-actions .mud-button-filled { flex: 1; min-height: 48px; }

@media (max-width: 599.98px) {
    .order-workspace .mud-paper, .order-workspace .mud-card { box-shadow: none !important; }
    .orders-page-heading h4 { font-size: 1.4rem !important; }
    .orders-heading-actions .mud-button-root { padding-inline: 10px; }
    .order-manage-header { gap: 8px; margin-bottom: 12px !important; }
    .order-manage-header > .mud-stack:first-child { flex: 1; min-width: 0; }
    .order-manage-header > .mud-stack:last-child { margin-left: auto; gap: 4px !important; }
    .order-workspace .order-items-panel { padding: 8px 0 !important; }
    .order-work-tabs > .mud-tabs-tabbar .mud-tab { min-width: 0 !important; padding: 8px !important; font-size: .8rem !important; flex: 1; }
    .order-work-tabs > .mud-tabs-tabbar .mud-badge-wrapper { display: none; }
    .order-item-toolbar { flex-wrap: wrap; }
    .order-item-toolbar > .mud-input-control { flex-basis: 100%; }
    .order-item-toolbar > .mud-menu { margin-left: auto; }
    .order-source-disclosure .mud-image { max-height: 160px !important; }
    .order-create-workspace .mud-stepper-nav { gap: 4px; }
    .order-create-workspace .mud-step { min-width: 0; flex: 1; padding: 0; }
    .order-create-workspace .mud-step-label { justify-content: center; }
    .order-create-workspace .mud-step-label-content { display: none; }
    .order-create-workspace .mud-stepper-nav-connector { min-width: 8px; }
    .order-create-workspace .mud-stepper-content { padding: 0; }
    .order-create-workspace .mud-paper.pa-4 { padding: 8px 0 !important; }
    .order-create-workspace .mud-tab { min-width: 0 !important; padding-inline: 8px !important; }
    .order-create-workspace .mud-tab .mud-icon-root { display: none; }
    .order-create-workspace .mud-typography { overflow-wrap: anywhere; }
    .order-step-actions .mud-button-filled { flex: 1; }
    .order-billing-dialog.mud-dialog { height: 100dvh; max-height: 100dvh !important; display: flex; flex-direction: column; }
    .order-billing-dialog .mud-dialog-title { padding: 16px !important; flex-shrink: 0; }
    .order-billing-dialog .mud-dialog-content { flex: 1; max-height: none !important; overflow-y: auto; padding: 16px !important; }
    .order-billing-dialog .mud-dialog-actions { flex-shrink: 0; padding: 12px 16px max(12px, env(safe-area-inset-bottom)) !important; }
    .order-billing-dialog .mud-input-control { margin-top: 8px !important; }
    /* Reserve a lane for the assistant above the sticky step buttons. */
    body:has(.order-workspace) .ai-assistant { bottom: calc(88px + env(safe-area-inset-bottom)); left: auto; right: 12px; }
    body:has(.order-workspace) .ai-assistant-toggle { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; border-radius: 50% !important; }
    body:has(.order-billing-dialog) .ai-assistant { visibility: hidden; }
}
