/* Login page */
.login-layout {
    min-height: 100vh;
}

.login-page {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
}

.login-brand {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    overflow: hidden;
    background: linear-gradient(145deg, #0a3d62 0%, #0f4c81 40%, #1b7f79 100%);
    color: #fff;
}

.login-brand__pattern {
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background-image:
        radial-gradient(circle at 20% 80%, #fff 1px, transparent 1px),
        radial-gradient(circle at 80% 20%, #fff 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
}

.login-brand__content {
    position: relative;
    z-index: 1;
    max-width: 420px;
}

.login-brand__logo {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.login-brand__title {
    font-size: 2.25rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 0.75rem;
    line-height: 1.2;
}

.login-brand__subtitle {
    font-size: 1.05rem;
    opacity: 0.9;
    margin: 0 0 2rem;
    line-height: 1.5;
}

.login-brand__features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.login-brand__features li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    font-size: 0.95rem;
    opacity: 0.92;
}

.login-form-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: linear-gradient(180deg, #f4f7fb 0%, #eef2f8 100%);
}

.login-card {
    width: 100%;
    max-width: 420px;
    padding: 2.5rem 2rem !important;
    border-radius: 20px !important;
    border: 1px solid rgba(15, 76, 129, 0.08);
}

.login-card__heading {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.login-card__subheading {
    opacity: 0.7;
    margin-top: 0.25rem;
}

.login-card__header {
    margin-bottom: 1.75rem;
}

.login-submit {
    border-radius: 12px !important;
    text-transform: none !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    padding: 0.65rem 1rem !important;
    box-shadow: 0 4px 14px rgba(15, 76, 129, 0.35);
}

.login-field .mud-input-outlined-border {
    border-radius: 12px;
}

.login-form__row {
    margin-top: 0.5rem;
}

.login-alert {
    border-radius: 12px;
}

.login-dev-hint {
    border-radius: 12px;
    background: rgba(15, 76, 129, 0.04);
}

.login-footer {
    margin-top: 1.5rem;
}

.login-native-field label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #37474f;
    margin-bottom: 0.35rem;
}

.login-native-input-wrap {
    display: flex;
    align-items: center;
    border: 1px solid #cfd8dc;
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.login-native-input-wrap:focus-within {
    border-color: #0f4c81;
    box-shadow: 0 0 0 3px rgba(15, 76, 129, 0.15);
}

.login-native-icon {
    padding: 0 0.75rem;
    opacity: 0.5;
    font-size: 0.9rem;
}

.login-native-input-wrap input {
    flex: 1;
    border: none;
    outline: none;
    padding: 0.85rem 0.75rem 0.85rem 0;
    font-size: 1rem;
    border-radius: 12px;
    background: transparent;
}

.login-native-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #455a64;
    cursor: pointer;
}

.login-submit-btn {
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #0f4c81 0%, #1b7f79 100%);
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(15, 76, 129, 0.35);
    transition: transform 0.15s, box-shadow 0.15s;
}

.login-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(15, 76, 129, 0.4);
}

.login-submit-btn:active {
    transform: translateY(0);
}

.login-resend-btn {
    width: 100%;
    border: 1px solid #cfd8dc;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    font-weight: 500;
    color: #0f4c81;
    background: #fff;
    cursor: pointer;
}

.login-resend-btn:hover {
    background: #f5f9fc;
}

@media (max-width: 960px) {
    .login-page {
        grid-template-columns: 1fr;
    }

    .login-brand {
        min-height: auto;
        padding: 2rem 1.5rem;
    }

    .login-brand__features {
        display: none;
    }

    .login-brand__title {
        font-size: 1.75rem;
    }

    .login-form-panel {
        padding: 1.5rem;
    }
}

.fleet-map-container {
    overflow: hidden;
    border-radius: 12px;
}

.fleet-map {
    width: 100%;
    height: 480px;
    min-height: 360px;
    border-radius: 12px;
}

@media (max-width: 960px) {
    .fleet-map {
        height: 320px;
    }
}

.laser-map-marker-icon {
    background: transparent !important;
    border: none !important;
}

.delivery-stop-marker__dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

.delivery-vehicle-marker__dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ff6f00;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    font-size: 16px;
    line-height: 1;
}

/* Live tracking — active routes stop list */
.tracking-active-routes-panel {
    max-height: 520px;
    overflow: auto;
    border-radius: 12px;
}

.tracking-active-routes-meta {
    display: block;
    line-height: 1.5;
    color: var(--mud-palette-text-secondary);
}

.tracking-active-routes-meta__sep {
    margin: 0 0.35rem;
    opacity: 0.65;
}

.tracking-active-stops {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.tracking-active-stop {
    display: grid;
    grid-template-columns: 2.25rem 1fr auto;
    gap: 0.65rem 0.75rem;
    align-items: start;
    padding: 0.75rem 0.65rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    background: var(--mud-palette-surface);
    border-left-width: 4px;
    border-left-color: #9e9e9e;
}

.tracking-active-stop--enroute {
    border-left-color: #2196f3;
}

.tracking-active-stop--arrived {
    border-left-color: #4caf50;
}

.tracking-active-stop--skipped {
    border-left-color: #f44336;
}

.tracking-active-stop__sequence {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
}

.tracking-active-stop__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.tracking-active-stop__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
}

.tracking-active-stop__waybill {
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.tracking-active-stop__status {
    flex-shrink: 0;
    height: 1.5rem;
    font-size: 0.7rem !important;
}

.tracking-active-stop__address {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--mud-palette-text-secondary);
    word-break: break-word;
}

.tracking-active-stop__address-icon {
    flex-shrink: 0;
    margin-top: 0.1rem;
    opacity: 0.75;
}

.tracking-active-stop__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 0.15rem;
}

.tracking-active-stop__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.tracking-active-stop__meta-item--arrived {
    color: #2e7d32;
    font-weight: 500;
}

.tracking-active-stop__meta-item--warn {
    color: #ed6c02;
}

.tracking-active-stop__actions {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: -0.25rem -0.35rem 0 0;
}

.tracking-active-stop__action-btn {
    margin: 0 !important;
}

.leaflet-container {
    font-family: inherit;
    z-index: 0;
}

.mud-dialog .leaflet-container {
    z-index: 1;
}

.address-map-dialog__summary {
    border-radius: 8px;
}

.address-map-dialog__shell {
    position: relative;
    min-height: 420px;
}

.address-map-dialog {
    height: 420px;
    min-height: 320px;
}

.address-map-dialog__loading {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 12px;
}

.leaflet-popup-content .laser-map-popup {
    margin: 0;
    line-height: 1.4;
}

.leaflet-popup-content .laser-map-popup span {
    color: #546e7a;
    font-size: 0.875rem;
}

.laser-appbar {
    background: linear-gradient(90deg, #0d47a1 0%, #1565c0 100%) !important;
}

.laser-drawer-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.laser-drawer .mud-nav-link-icon,
.laser-drawer .mud-nav-group .mud-nav-link-icon {
    color: #1565c0;
}

.laser-drawer .mud-nav-group > .mud-nav-link {
    font-weight: 600;
}

/* Do not use pa-* on MudMainContent — it overrides MudBlazor's app-bar top offset */
.mud-layout .mud-main-content.laser-main {
    padding-top: calc(var(--mud-appbar-height, 64px) + 8px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    background: #f4f7fb;
    min-height: 100vh;
}

.laser-main__inner {
    padding: 1rem 1.5rem 2rem;
    max-width: 100%;
}

.laser-main__inner:has(> .home-page) {
    padding: 0.75rem 1.25rem 1.5rem;
    max-width: none;
    width: 100%;
}

.scan-page {
    padding: 0.5rem 0 2rem;
}

.scan-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.scan-card__header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.scan-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.scan-card__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.scan-barcode-field .mud-input-root {
    font-size: 1.25rem;
}

.scan-barcode-field input {
    font-size: 1.25rem !important;
    letter-spacing: 0.04em;
}

.scan-actions .mud-button {
    min-width: 140px;
    text-transform: none;
    font-weight: 600;
    border-radius: 10px;
}

.scan-camera-panel {
    border-radius: 12px;
    background: #0a1929;
    text-align: center;
}

.scan-video {
    display: block;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    border-radius: 8px;
    background: #000;
    min-height: 240px;
    object-fit: cover;
}

.scan-result {
    border-radius: 10px !important;
}

.scan-hint {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

/* De-Brief dashboard */
.debrief-page {
    padding: 0.25rem 0 2rem;
}

.debrief-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.debrief-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.debrief-header__text {
    flex: 1;
    min-width: 0;
}

.debrief-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.debrief-header__refresh {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.debrief-loading {
    border-radius: 4px;
}

.debrief-detail-loading {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.04) 0%, rgba(255, 255, 255, 0) 100%);
}

.debrief-detail-loading__title {
    font-weight: 600 !important;
}

.debrief-detail-loading__hint {
    max-width: 420px;
    line-height: 1.5;
}

.debrief-detail-loading__skeleton-card {
    border-radius: 14px !important;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(255, 255, 255, 0.65);
}

.debrief-detail-loading__skeletons .mud-skeleton {
    opacity: 0.55;
}

.debrief-status-alert {
    border-radius: 12px !important;
}

.debrief-table-wrap {
    position: relative;
}

.debrief-table-wrap--loading .debrief-table-card {
    opacity: 0.55;
    pointer-events: none;
}

.debrief-table-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.45);
    border-radius: 16px;
}

.debrief-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.08);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.debrief-stat-card:hover {
    box-shadow: 0 4px 16px rgba(21, 101, 192, 0.12) !important;
    transform: translateY(-1px);
}

.debrief-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.debrief-stat-card__icon--total {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.debrief-stat-card__icon--pending {
    background: rgba(96, 125, 139, 0.12);
    color: #607d8b;
}

.debrief-stat-card__icon--progress {
    background: rgba(2, 136, 209, 0.12);
    color: #0288d1;
}

.debrief-stat-card__icon--approval {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.debrief-stat-card__icon--variance {
    background: rgba(211, 47, 47, 0.12);
    color: #d32f2f;
}

.debrief-stat-card__icon--completed {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.debrief-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.debrief-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.debrief-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.debrief-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.debrief-result-count {
    white-space: nowrap;
}

.debrief-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.debrief-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    overflow: hidden;
}

.debrief-table-card .mud-table-root {
    border-radius: 16px;
}

.debrief-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
    white-space: nowrap;
}

.debrief-row {
    cursor: pointer;
}

.debrief-row:hover {
    background: rgba(21, 101, 192, 0.04) !important;
}

.debrief-manifest-number {
    font-weight: 600 !important;
    color: #1565c0;
}

.debrief-col-numeric {
    text-align: center;
    white-space: nowrap;
}

.debrief-col-action {
    width: 48px;
    text-align: center;
}

.debrief-zero {
    opacity: 0.45;
}

.debrief-progress {
    min-width: 120px;
}

.debrief-progress__bar {
    margin-bottom: 0.25rem;
}

.debrief-progress__label {
    display: block;
    opacity: 0.75;
}

.debrief-empty {
    text-align: center;
}

.debrief-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.debrief-fw-table .mud-table-head .mud-table-cell {
    background-color: #337ab7;
    color: #fff;
    font-weight: 600;
}

.debrief-fw-table .mud-table-head .mud-table-cell .mud-table-sort-label {
    color: #fff;
}

.debrief-fw-action-col {
    width: 3.5rem;
    text-align: center;
}

.debrief-fw-action-col .mud-icon-button {
    margin: 0 auto;
}

.debrief-parcel-dialog--busy {
    opacity: 0.7;
    pointer-events: none;
}

.debrief-pod-print-table__code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-weight: 600;
}

@media (max-width: 600px) {
    .debrief-header {
        flex-wrap: wrap;
    }

    .debrief-header__refresh {
        margin-left: auto;
    }

    .debrief-search {
        max-width: 100%;
    }
}

/* Fleet — vehicle management */
.fleet-vehicles-page {
    padding: 0.25rem 0 2rem;
}

.fleet-vehicles-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.fleet-vehicles-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #2e7d32 0%, #66bb6a 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(46, 125, 50, 0.35);
}

.fleet-vehicles-header__text {
    flex: 1;
    min-width: 0;
}

.fleet-vehicles-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.fleet-vehicles-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.fleet-vehicles-loading {
    border-radius: 4px;
}

.fleet-vehicles-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(46, 125, 50, 0.08);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.fleet-vehicles-stat-card:hover {
    box-shadow: 0 4px 16px rgba(46, 125, 50, 0.12) !important;
    transform: translateY(-1px);
}

.fleet-vehicles-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.fleet-vehicles-stat-card__icon--total {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.fleet-vehicles-stat-card__icon--available {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.fleet-vehicles-stat-card__icon--onroute {
    background: rgba(2, 136, 209, 0.12);
    color: #0288d1;
}

.fleet-vehicles-stat-card__icon--maintenance {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.fleet-vehicles-stat-card__icon--inactive {
    background: rgba(96, 125, 139, 0.12);
    color: #607d8b;
}

.fleet-vehicles-stat-card__icon--capacity {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.fleet-vehicles-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.fleet-vehicles-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.fleet-vehicles-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(46, 125, 50, 0.1);
}

.fleet-vehicles-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.fleet-vehicles-result-count {
    white-space: nowrap;
}

.fleet-vehicles-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fleet-vehicles-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(46, 125, 50, 0.1);
    overflow: hidden;
}

.fleet-vehicles-table-card .mud-table-root {
    border-radius: 16px;
}

.fleet-vehicles-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(46, 125, 50, 0.04);
    white-space: nowrap;
}

.fleet-vehicles-registration {
    font-weight: 600 !important;
}

.fleet-vehicles-col-numeric {
    text-align: right;
    white-space: nowrap;
}

.fleet-vehicles-col-action {
    width: 56px;
    text-align: center;
}

.fleet-vehicles-empty {
    text-align: center;
}

.fleet-vehicles-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

@media (max-width: 600px) {
    .fleet-vehicles-header {
        flex-wrap: wrap;
    }

    .fleet-vehicles-header__actions {
        width: 100%;
        justify-content: flex-end;
    }

    .fleet-vehicles-search {
        max-width: 100%;
    }
}

/* Fleet — driver management */
.fleet-drivers-page {
    padding: 0.25rem 0 2rem;
}

.fleet-drivers-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.fleet-drivers-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.fleet-drivers-header__text {
    flex: 1;
    min-width: 0;
}

.fleet-drivers-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.fleet-drivers-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.fleet-drivers-loading {
    border-radius: 4px;
}

.fleet-drivers-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.08);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.fleet-drivers-stat-card:hover {
    box-shadow: 0 4px 16px rgba(21, 101, 192, 0.12) !important;
    transform: translateY(-1px);
}

.fleet-drivers-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.fleet-drivers-stat-card__icon--total {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.fleet-drivers-stat-card__icon--assigned {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.fleet-drivers-stat-card__icon--unassigned {
    background: rgba(96, 125, 139, 0.12);
    color: #607d8b;
}

.fleet-drivers-stat-card__icon--expiring {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.fleet-drivers-stat-card__icon--expired {
    background: rgba(211, 47, 47, 0.12);
    color: #d32f2f;
}

.fleet-drivers-stat-card__icon--valid {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.fleet-drivers-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.fleet-drivers-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.fleet-drivers-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.fleet-drivers-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.fleet-drivers-result-count {
    white-space: nowrap;
}

.fleet-drivers-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fleet-drivers-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    overflow: hidden;
}

.fleet-drivers-table-card .mud-table-root {
    border-radius: 16px;
}

.fleet-drivers-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
    white-space: nowrap;
}

.fleet-drivers-avatar {
    font-size: 0.75rem;
    font-weight: 700;
}

.fleet-drivers-name {
    font-weight: 600 !important;
}

.fleet-drivers-col-action {
    width: 56px;
    text-align: center;
}

.fleet-drivers-empty {
    text-align: center;
}

.fleet-drivers-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

@media (max-width: 600px) {
    .fleet-drivers-header {
        flex-wrap: wrap;
    }

    .fleet-drivers-header__actions {
        width: 100%;
        justify-content: flex-end;
    }

    .fleet-drivers-search {
        max-width: 100%;
    }
}

/* Create waybill */
.waybill-create-page {
    padding: 0.25rem 0 2rem;
}

.waybill-create-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.waybill-create-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.waybill-create-header__text {
    flex: 1;
    min-width: 0;
}

.waybill-create-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.waybill-create-header__back {
    flex-shrink: 0;
    margin-top: 0.25rem;
    text-transform: none;
    font-weight: 600;
    border-radius: 10px;
}

.waybill-create-section {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.waybill-create-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.waybill-create-section__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.waybill-create-section__icon--parties {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.waybill-create-section__icon--collection {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.waybill-create-section__icon--delivery {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.waybill-create-section__icon--quote {
    background: rgba(123, 31, 162, 0.12);
    color: #7b1fa2;
}

.waybill-create-section__title {
    font-weight: 600 !important;
    letter-spacing: -0.01em;
}

.waybill-create-sidebar {
    position: sticky;
    top: calc(var(--mud-appbar-height, 64px) + 1rem);
}

.waybill-create-quote {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.waybill-create-quote__lines {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.waybill-create-quote__line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 0.875rem;
}

.waybill-create-quote__line span:first-child {
    color: #546e7a;
}

.waybill-create-quote__line span:last-child {
    font-weight: 500;
    text-align: right;
}

.waybill-create-quote__discount {
    color: #2e7d32;
}

.waybill-create-quote__total-value {
    font-weight: 700 !important;
    color: #1565c0;
    letter-spacing: -0.02em;
}

.waybill-create-quote__empty {
    text-align: center;
    padding: 1.5rem 0.5rem;
}

.waybill-create-quote__empty-icon {
    opacity: 0.25;
    margin-bottom: 0.75rem;
}

.waybill-create-actions {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.08);
}

.waybill-create-submit {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.3);
}

.waybill-create-addresses {
    margin-bottom: 0.25rem;
}

.waybill-create-field--prefilled .mud-input-root,
.waybill-create-field--prefilled.mud-input-root {
    background: rgba(0, 123, 255, 0.06);
    border-radius: 8px;
}

@media (min-width: 960px) {
    .waybill-create-addresses .waybill-create-section {
        height: 100%;
    }
}

@media (max-width: 1280px) {
    .waybill-create-sidebar {
        position: static;
    }
}

@media (max-width: 600px) {
    .waybill-create-header {
        flex-wrap: wrap;
    }

    .waybill-create-header__back {
        margin-left: auto;
    }
}

/* Portal-style instruction screens (waybill / collection / quote) */
.portal-instruction-page {
    padding: 1rem 0 2rem;
    background: #f5f6fa;
    border-radius: 20px;
    min-height: 60vh;
}

.portal-neumorphic-card {
    border-radius: 16px;
    background: #f5f6fa;
    box-shadow: 8px 8px 16px #d1d9e6, -8px -8px 16px #ffffff;
    border: none !important;
}

.portal-neumorphic-card--inner {
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.portal-neumorphic-card__title {
    color: #007bff;
    font-weight: 600;
    font-size: 1.1rem;
}

.portal-instruction-header {
    text-align: center;
    padding: 1rem 1.5rem 0.5rem;
}

.portal-instruction-header h3,
.portal-instruction-header .mud-typography-h5 {
    color: #007bff !important;
    font-weight: 600 !important;
}

.portal-neumorphic-btn {
    background: #f5f6fa !important;
    border: none !important;
    border-radius: 12px !important;
    color: #007bff !important;
    font-weight: 600 !important;
    box-shadow: 5px 5px 10px #d1d9e6, -5px -5px 10px #ffffff !important;
    text-transform: none !important;
}

.portal-neumorphic-btn:hover {
    transform: translateY(-2px);
    box-shadow: 5px 5px 15px #d1d9e6, -5px -5px 15px #ffffff !important;
}

.portal-neumorphic-btn.mud-button-filled-primary {
    background: #007bff !important;
    color: #fff !important;
    box-shadow: 5px 5px 12px rgba(0, 123, 255, 0.35) !important;
}

.portal-parcel-row {
    border-radius: 12px;
    background: #f5f6fa;
    box-shadow: inset 3px 3px 6px #d1d9e6, inset -3px -3px 6px #ffffff;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}

.portal-dimension-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 90px;
    border-radius: 12px;
    background: #eef1f7;
    box-shadow: inset 3px 3px 6px #d1d9e6, inset -3px -3px 6px #ffffff;
    margin: 0.5rem auto;
    font-weight: 600;
    color: #007bff;
}

.portal-parcel-dims-visual {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.portal-parcel-dims-visual__box {
    position: relative;
    width: 88px;
    height: 64px;
    transform-style: preserve-3d;
    transform: rotateX(-12deg) rotateY(-28deg);
}

.portal-parcel-dims-visual__face {
    position: absolute;
    border: 2px solid #007bff;
    background: rgba(0, 123, 255, 0.08);
    border-radius: 4px;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.portal-parcel-dims-visual__face--front {
    width: 72px;
    height: 48px;
    left: 8px;
    top: 12px;
}

.portal-parcel-dims-visual__face--side {
    width: 24px;
    height: 48px;
    left: 72px;
    top: 4px;
    transform: skewY(-32deg);
    transform-origin: top left;
}

.portal-parcel-dims-visual__face--top {
    width: 72px;
    height: 24px;
    left: 8px;
    top: 0;
    transform: skewX(-42deg);
    transform-origin: top left;
}

.portal-parcel-dims-visual__box--length .portal-parcel-dims-visual__face--front,
.portal-parcel-dims-visual__box--width .portal-parcel-dims-visual__face--side,
.portal-parcel-dims-visual__box--height .portal-parcel-dims-visual__face--top {
    background: rgba(0, 123, 255, 0.22);
    box-shadow: 0 0 8px rgba(0, 123, 255, 0.35);
}

.portal-parcel-dims-visual__label {
    font-weight: 600;
    color: #007bff;
    font-size: 0.9rem;
}

.portal-instruction-success {
    text-align: center;
    padding: 2rem 1.5rem;
}

.portal-instruction-success__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.portal-instruction-footer {
    text-align: right;
    padding: 1rem 1.25rem;
    background: #f5f6fa;
    border-radius: 16px;
    box-shadow: 8px 8px 16px #d1d9e6, -8px -8px 16px #ffffff;
    margin-top: 1rem;
}

/* Portal waybill create — mockup-style white cards on gray canvas */
.portal-waybill-page.portal-instruction-page {
    background: #eef1f6;
    border-radius: 0;
    padding: 1.25rem 1.5rem 2rem;
    min-height: calc(100vh - var(--mud-appbar-height, 64px));
}

.portal-waybill-shell {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.portal-waybill-shell__header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.portal-waybill-shell__title {
    text-align: center;
    color: #2563eb !important;
    font-weight: 700 !important;
    font-size: 1.35rem !important;
    margin: 0 !important;
}

.portal-waybill-shell__spacer {
    width: 72px;
}

.portal-waybill-shell__back {
    text-transform: none !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    color: #374151 !important;
    border-color: #d1d5db !important;
}

.portal-form-section {
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

.portal-section-title {
    display: block;
    color: #111827;
    font-weight: 600;
    font-size: 0.95rem;
    margin: 0 0 1rem;
}

.portal-section-title--center {
    text-align: center;
}

.portal-section-title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #111827;
    font-weight: 600;
    font-size: 0.95rem;
    margin: 0 0 1rem;
}

.portal-section-title-row .mud-icon-root {
    color: #2563eb;
    font-size: 1.1rem;
}

.portal-waybill-page .waybill-create-quote,
.portal-waybill-page .waybill-create-actions {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
    border-radius: 12px !important;
}

.portal-waybill-page .waybill-create-quote__total-value {
    color: #2563eb !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
}

.portal-waybill-page .waybill-create-quote__line {
    font-size: 0.875rem;
}

.portal-waybill-page .waybill-create-quote__line span:first-child {
    color: #6b7280;
}

.portal-waybill-page .waybill-create-quote__line span:last-child {
    font-weight: 600;
    color: #111827;
}

.portal-sla-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.75rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: #ecfdf3;
    color: #15803d;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid #bbf7d0;
}

.portal-sla-badge .mud-icon-root {
    font-size: 1rem;
}

.portal-parcel-layout {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.portal-parcel-layout__visual {
    flex: 0 0 108px;
    padding-top: 0.25rem;
}

.portal-parcel-layout__rows {
    flex: 1;
    min-width: 0;
}

.portal-parcel-row--inline {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.portal-parcel-row--inline .portal-parcel-field {
    flex: 0 0 auto;
    min-width: 56px;
}

.portal-parcel-row--inline .portal-parcel-field--count {
    width: 72px;
}

.portal-parcel-row--inline .portal-parcel-field--desc {
    flex: 1 1 140px;
    min-width: 120px;
}

.portal-parcel-row--inline .portal-parcel-field--dim {
    width: 72px;
}

.portal-parcel-row--inline .portal-parcel-field--weight {
    width: 96px;
}

.portal-parcel-row--inline .portal-parcel-field--action {
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 6px;
}

.portal-parcel-add-wrap {
    margin-top: 0.25rem;
}

.portal-parcel-add-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    padding-left: 0 !important;
}

.portal-waybill-field .mud-input-outlined-border {
    border-color: #d1d5db !important;
    border-radius: 8px !important;
}

.portal-waybill-submit {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    padding: 0.65rem 1rem !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25) !important;
}

.portal-waybill-cancel {
    text-transform: none !important;
    color: #2563eb !important;
    font-weight: 500 !important;
}

.portal-surcharges-panel .mud-expand-panel-header {
    padding: 0.5rem 0 !important;
    min-height: 40px !important;
}

.portal-address-grid .mud-grid-item {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

.portal-party-lookup-item {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.15rem 0;
}

.portal-address-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem 1.35rem 1.35rem !important;
}

.portal-address-card--sender {
    border-top: 3px solid #2563eb;
    background: linear-gradient(180deg, #f8faff 0%, #ffffff 48px);
}

.portal-address-card--delivery {
    border-top: 3px solid #059669;
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 48px);
}

.portal-address-card__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
}

.portal-address-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    flex-shrink: 0;
}

.portal-address-card__icon--sender {
    background: #dbeafe;
    color: #2563eb;
}

.portal-address-card__icon--delivery {
    background: #d1fae5;
    color: #059669;
}

.portal-address-card__titles {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.portal-address-card__title {
    color: #111827;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.3;
}

.portal-address-card__subtitle {
    color: #6b7280;
    font-size: 0.78rem;
    line-height: 1.2;
}

.portal-address-card .portal-waybill-field + .portal-waybill-field,
.portal-address-card .mud-autocomplete + .portal-waybill-field,
.portal-address-card .portal-waybill-field + .mud-autocomplete {
    margin-top: 0;
}

@media (max-width: 960px) {
    .portal-waybill-shell__header {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .portal-waybill-shell__spacer {
        display: none;
    }

    .portal-parcel-layout {
        flex-direction: column;
    }

    .portal-parcel-row--inline {
        flex-wrap: wrap;
    }
}

/* Reports hub */
.reports-page {
    padding-bottom: 2.5rem;
    gap: 1.5rem;
}

.reports-page__icon {
    background: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 55%, #60a5fa 100%);
    box-shadow: 0 8px 24px rgba(29, 78, 216, 0.28);
}

/* Hero header */
.reports-hero {
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(59, 130, 246, 0.12) 0%, transparent 55%),
        radial-gradient(80% 100% at 0% 100%, rgba(21, 101, 192, 0.08) 0%, transparent 50%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 8px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.reports-hero__content {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 1.25rem 1.5rem;
    padding: 1.5rem 1.75rem;
}

.reports-hero__header {
    flex: 1 1 320px;
    margin-bottom: 0;
}

.reports-hero__subtitle {
    margin-top: 0.35rem;
    line-height: 1.55;
    color: #64748b !important;
    max-width: 42rem;
}

.reports-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: stretch;
    flex: 0 1 auto;
}

.reports-quick-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 220px;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, background-color 0.15s ease;
}

.reports-quick-link:hover {
    border-color: rgba(29, 78, 216, 0.25);
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
    text-decoration: none;
    color: inherit;
}

.reports-quick-link__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    flex-shrink: 0;
}

.reports-quick-link__icon--revenue {
    background: #dbeafe;
    color: #2563eb;
}

.reports-quick-link__icon--profit {
    background: #ede9fe;
    color: #7c3aed;
}

.reports-quick-link__text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1;
    min-width: 0;
}

.reports-quick-link__label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
}

.reports-quick-link__hint {
    font-size: 0.75rem;
    color: #94a3b8;
    line-height: 1.2;
}

.reports-quick-link__arrow {
    color: #cbd5e1;
    flex-shrink: 0;
    transition: color 0.15s ease, transform 0.15s ease;
}

.reports-quick-link:hover .reports-quick-link__arrow {
    color: #2563eb;
    transform: translateX(2px);
}

/* Criteria card */
.reports-page .reports-criteria-card {
    border-radius: 18px !important;
    border: 1px solid rgba(15, 23, 42, 0.07) !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 6px 20px rgba(15, 23, 42, 0.05) !important;
    padding: 1.5rem 1.65rem !important;
}

.reports-criteria-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    margin-bottom: 1.25rem;
}

.reports-criteria-card__title-group {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    flex: 1;
    min-width: 0;
}

.reports-criteria-card__title {
    margin-bottom: 0 !important;
    color: #0f172a !important;
    font-size: 0.95rem !important;
    letter-spacing: -0.01em;
}

.reports-page .reports-active-filters {
    gap: 0.5rem !important;
}

.reports-date-presets {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.25rem;
    border-radius: 12px;
    background: #f1f5f9;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.reports-date-preset {
    appearance: none;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.45rem 0.85rem;
    border-radius: 9px;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
    font-family: inherit;
}

.reports-date-preset:hover {
    color: #1e40af;
    background: rgba(255, 255, 255, 0.7);
}

.reports-date-preset--active {
    background: #fff;
    color: #1d4ed8;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}

.reports-page .reports-action-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    align-items: center;
    justify-content: space-between;
}

.reports-action-bar__primary,
.reports-action-bar__secondary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}

.reports-page .reports-run-btn {
    min-width: 9.5rem;
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.28) !important;
}

.reports-page .reports-export-btn {
    border-color: rgba(22, 163, 74, 0.35) !important;
    color: #15803d !important;
}

.reports-page .reports-export-btn:hover {
    background: rgba(22, 163, 74, 0.06) !important;
}

.reports-page .reports-secondary-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    color: #475569 !important;
}

.reports-page .reports-secondary-btn:hover {
    background: rgba(15, 23, 42, 0.04) !important;
    color: #1d4ed8 !important;
}

/* Loading */
.reports-loading-card {
    border-radius: 16px !important;
    border: 1px solid rgba(29, 78, 216, 0.12) !important;
    background: linear-gradient(180deg, #f8fbff 0%, #fff 100%) !important;
    padding: 1.25rem 1.5rem !important;
    box-shadow: 0 4px 16px rgba(29, 78, 216, 0.06) !important;
}

.reports-loading-card__label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #334155;
    font-weight: 500;
}

.reports-loading-card__spinner {
    animation: reports-spin 1.2s linear infinite;
    color: #2563eb;
}

@keyframes reports-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Results panel */
.reports-page .reports-results-panel {
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 6px 20px rgba(15, 23, 42, 0.05);
    padding: 1.5rem 1.65rem;
}

.reports-page .tracking-fw-metrics--summary {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.reports-page .reports-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.reports-page .reports-section-header__title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.reports-page .reports-results-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.35rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.reports-results-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.reports-stat-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid rgba(29, 78, 216, 0.15);
    color: #1d4ed8;
    font-size: 0.8125rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.reports-page .reports-kpi-card {
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.reports-page .reports-kpi-card:hover {
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07);
    transform: translateY(-1px);
}

.reports-page .reports-detail-title {
    display: flex;
    align-items: center;
    font-weight: 600 !important;
    color: #334155;
    letter-spacing: -0.01em;
}

.reports-page .reports-kpi-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.reports-page .reports-table-scroll {
    overflow: auto;
    max-height: min(62vh, 720px);
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
}

.reports-page .reports-detail-table .mud-table-head .mud-table-cell {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
    font-weight: 700;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
}

.reports-page .reports-detail-table .mud-table-row:hover {
    background: rgba(29, 78, 216, 0.03);
}

.reports-page .reports-detail-table .mud-table-cell {
    white-space: nowrap;
    font-size: 0.875rem;
}

.reports-page .reports-cell--numeric {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.reports-page .reports-cell--header.reports-cell--numeric {
    text-align: right !important;
}

.reports-page .reports-cell--waybill {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.8125rem;
    color: #334155;
}

.reports-page .reports-cell--negative {
    color: #dc2626 !important;
    font-weight: 700;
}

.reports-page .reports-cell--positive {
    color: #059669 !important;
    font-weight: 700;
}

/* Welcome card */
.reports-welcome-card {
    border-radius: 18px !important;
    border: 1px dashed rgba(29, 78, 216, 0.2) !important;
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.6) 0%, #fff 100%) !important;
    padding: 3rem 1.75rem !important;
    box-shadow: none !important;
}

.reports-welcome-card__inner {
    max-width: 480px;
    margin: 0 auto;
    text-align: center;
}

.reports-welcome-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 100%);
    color: #2563eb;
    margin-bottom: 1.25rem;
}

.reports-welcome-card__inner > .mud-typography-h6 {
    margin-bottom: 0.5rem;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.reports-welcome-card__inner > .mud-typography-body2 {
    line-height: 1.6;
}

/* Hub panel & tabs */
.reports-page .reports-hub-panel {
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 6px 20px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.reports-hub-panel__content {
    padding: 1.25rem 1.5rem 1.5rem !important;
}

.reports-page .reports-hub-tabs {
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: #fafbfc;
    padding: 0 0.75rem;
}

.reports-page .reports-hub-tabs .mud-tab {
    text-transform: none !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    letter-spacing: 0 !important;
    min-height: 48px;
    color: #64748b !important;
}

.reports-page .reports-hub-tabs .mud-tab.mud-tab-active {
    color: #1d4ed8 !important;
}

.reports-page .reports-hub-tabs .mud-tabs-slider {
    background: #2563eb !important;
    height: 3px !important;
    border-radius: 3px 3px 0 0;
}

/* Empty states */
.reports-page .reports-empty-state {
    text-align: center;
    padding: 2.5rem 1.25rem;
    color: #64748b;
}

.reports-page .reports-empty-state--compact {
    padding: 3rem 1.5rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.reports-empty-state__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: #f1f5f9;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.reports-empty-state__icon-wrap .mud-icon-root {
    font-size: 1.75rem;
    opacity: 1;
    margin-bottom: 0;
}

.reports-empty-state__title {
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 0.35rem !important;
}

.reports-page .reports-summary-chip {
    font-weight: 600;
}

.reports-page .reports-filter-icon {
    color: #2563eb;
    opacity: 0.9;
}

.reports-page .reports-data-source-hint {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.15rem;
    line-height: 1.45;
}

.reports-dialog__summary {
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(29, 78, 216, 0.12);
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
}

@media (max-width: 960px) {
    .reports-hero__content {
        flex-direction: column;
        padding: 1.25rem;
    }

    .reports-quick-links {
        width: 100%;
    }

    .reports-quick-link {
        flex: 1 1 100%;
        min-width: 0;
    }

    .reports-criteria-card__head {
        flex-direction: column;
    }

    .reports-date-presets {
        width: 100%;
        justify-content: stretch;
    }

    .reports-date-preset {
        flex: 1;
        text-align: center;
    }

    .reports-page .reports-results-header {
        flex-direction: column;
    }

    .reports-page .reports-action-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .reports-action-bar__primary,
    .reports-action-bar__secondary {
        width: 100%;
        justify-content: stretch;
    }

    .reports-page .reports-run-btn {
        flex: 1;
    }
}

/* Waybill detail (view) */
.waybill-detail-page {
    padding: 0.25rem 0 2rem;
}

.waybill-detail-summary {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.03) 0%, #fff 2.5rem);
    padding: 0.85rem 1rem 0;
    overflow: hidden;
}

.waybill-detail-summary__top {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding-bottom: 0.85rem;
}

.waybill-detail-summary__back {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.waybill-detail-summary__identity {
    min-width: 0;
    flex: 1;
}

.waybill-detail-summary__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.6rem;
}

.waybill-detail-summary__waybill {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    line-height: 1.2;
    margin: 0;
}

.waybill-detail-summary__route {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
    font-size: 0.875rem;
    color: #546e7a;
    line-height: 1.4;
}

.waybill-detail-summary__route-from,
.waybill-detail-summary__route-to {
    font-weight: 500;
    color: #37474f;
}

.waybill-detail-summary__route-arrow {
    color: #90a4ae;
    flex-shrink: 0;
}

.waybill-detail-summary__service {
    color: #78909c;
}

.waybill-detail-summary__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.waybill-detail-summary__cancel {
    margin-right: -0.25rem;
}

.waybill-detail-summary__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.75rem;
    margin: 0 -1rem;
    padding: 0.55rem 1rem;
    border-top: 1px solid rgba(21, 101, 192, 0.08);
    background: rgba(248, 250, 252, 0.7);
}

.waybill-detail-summary-stat {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.waybill-detail-summary-stat__icon {
    flex-shrink: 0;
    opacity: 0.9;
}

.waybill-detail-summary-stat__icon--parcels { color: #3f51b5; }
.waybill-detail-summary-stat__icon--weight { color: #0097a7; }
.waybill-detail-summary-stat__icon--volume { color: #7b1fa2; }
.waybill-detail-summary-stat__icon--due { color: #fb8c00; }
.waybill-detail-summary-stat__icon--sla { color: #c62828; }

.waybill-detail-summary-stat__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #546e7a;
    white-space: nowrap;
}

.waybill-detail-summary-stat__value {
    font-size: 0.875rem;
    font-weight: 600;
    color: #263238;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.waybill-detail-loading {
    border-radius: 4px;
}

.waybill-detail-skeleton {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.waybill-detail-section {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.waybill-detail-party {
    border-radius: 16px !important;
    overflow: hidden;
    height: 100%;
}

.waybill-detail-party--collection {
    border: 1px solid rgba(251, 140, 0, 0.2);
}

.waybill-detail-party--delivery {
    border: 1px solid rgba(46, 125, 50, 0.2);
}

.waybill-detail-party__header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(21, 101, 192, 0.06);
}

.waybill-detail-party--collection .waybill-detail-party__header {
    background: linear-gradient(180deg, rgba(251, 140, 0, 0.06) 0%, rgba(255, 255, 255, 0) 100%);
}

.waybill-detail-party--delivery .waybill-detail-party__header {
    background: linear-gradient(180deg, rgba(46, 125, 50, 0.06) 0%, rgba(255, 255, 255, 0) 100%);
}

.waybill-detail-party__title {
    flex: 1;
    min-width: 0;
}

.waybill-detail-party__role {
    display: block;
    color: #546e7a !important;
    letter-spacing: 0.06em;
    margin-bottom: 0.15rem;
}

.waybill-detail-party__name {
    font-weight: 600 !important;
    line-height: 1.3;
}

.waybill-detail-party__content {
    padding: 0.75rem 1rem 1rem;
}

.waybill-detail-party__address {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-style: normal;
    line-height: 1.6;
    color: #455a64;
    margin-bottom: 0.75rem;
}

.waybill-detail-party__address-line {
    display: block;
}

.waybill-detail-party__contact {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.8125rem;
    color: #546e7a;
}

.waybill-detail-party__contact-icon {
    opacity: 0.7;
}

.waybill-detail-party__phone-sep {
    opacity: 0.5;
}

.waybill-detail-party__phone {
    color: #1565c0;
    text-decoration: none;
}

.waybill-detail-party__phone:hover {
    text-decoration: underline;
}

.waybill-detail-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.waybill-detail-section__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.waybill-detail-section__icon--parties {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.waybill-detail-section__icon--collection {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.waybill-detail-section__icon--delivery {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.waybill-detail-section__icon--network {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.waybill-detail-section__icon--quote {
    background: rgba(123, 31, 162, 0.12);
    color: #7b1fa2;
}

.waybill-detail-section__title {
    font-weight: 600 !important;
    letter-spacing: -0.01em;
}

.waybill-detail-field__label {
    display: block;
    opacity: 0.72;
    margin-bottom: 0.15rem;
}

.waybill-detail-field__value {
    font-weight: 600 !important;
}

.waybill-detail-address {
    white-space: pre-line;
    line-height: 1.5;
}

.waybill-detail-hub__code {
    font-weight: 600 !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.waybill-detail-hub__code--current {
    color: #1565c0;
}

.waybill-detail-sidebar {
    position: sticky;
    top: calc(var(--mud-appbar-height, 64px) + 1rem);
}

.waybill-detail-quote {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.waybill-detail-quote__lines {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.waybill-detail-quote__line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 0.875rem;
}

.waybill-detail-quote__line span:first-child {
    color: #546e7a;
}

.waybill-detail-quote__line span:last-child {
    font-weight: 500;
    text-align: right;
}

.waybill-detail-quote__discount span:last-child {
    color: #2e7d32;
}

.waybill-detail-quote__total {
    font-weight: 700 !important;
    color: #1565c0;
    letter-spacing: -0.02em;
}

.waybill-detail-timeline {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
}

.waybill-detail-section .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
}

.waybill-detail-parcel-number {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.waybill-detail-col-numeric {
    text-align: right;
    white-space: nowrap;
}

.waybill-detail-empty {
    text-align: center;
}

.waybill-detail-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
    color: #1565c0;
}

@media (max-width: 1280px) {
    .waybill-detail-sidebar {
        position: static;
    }
}

@media (max-width: 768px) {
    .waybill-detail-summary__stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem 1rem;
    }
}

@media (max-width: 600px) {
    .waybill-detail-summary__top {
        flex-wrap: wrap;
    }

    .waybill-detail-summary__actions {
        width: 100%;
        align-items: stretch;
    }

    .waybill-detail-summary__actions .mud-stack {
        justify-content: flex-start !important;
    }

    .waybill-detail-summary__cancel {
        align-self: flex-start;
        margin-right: 0;
    }

    .waybill-detail-summary-stat__label {
        display: none;
    }
}

/* Customer / account management */
.customers-page,
.customers-detail-page {
    padding: 0.25rem 0 2rem;
}

.customers-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.customers-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #00695c 0%, #26a69a 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(0, 105, 92, 0.35);
}

.customers-header__text {
    flex: 1;
    min-width: 0;
}

.customers-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.customers-header__actions,
.customers-header__back {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.customers-nav {
    border-radius: 14px !important;
    border: 1px solid rgba(0, 105, 92, 0.12);
    background: rgba(0, 105, 92, 0.03);
}

.customers-nav__link {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
}

.customers-loading {
    border-radius: 4px;
}

.customers-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(0, 105, 92, 0.08);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.customers-stat-card:hover {
    box-shadow: 0 4px 16px rgba(0, 105, 92, 0.12) !important;
    transform: translateY(-1px);
}

.customers-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.customers-stat-card__icon--total {
    background: rgba(0, 105, 92, 0.12);
    color: #00695c;
}

.customers-stat-card__icon--active {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.customers-stat-card__icon--inactive {
    background: rgba(96, 125, 139, 0.12);
    color: #607d8b;
}

.customers-stat-card__icon--overlimit {
    background: rgba(211, 47, 47, 0.12);
    color: #d32f2f;
}

.customers-stat-card__icon--balance {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.customers-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.customers-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.customers-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(0, 105, 92, 0.1);
}

.customers-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.customers-result-count {
    white-space: nowrap;
}

.customers-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.customers-filters .mud-chip {
    margin: 0 !important;
}

.customers-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(0, 105, 92, 0.1);
    overflow: hidden;
}

.customers-table-card .mud-table-root {
    border-radius: 16px;
}

.customers-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(0, 105, 92, 0.04);
    white-space: nowrap;
}

.customers-avatar {
    font-size: 0.75rem;
    font-weight: 700;
}

.customers-name {
    font-weight: 600 !important;
}

.customers-credit-bar {
    max-width: 120px;
}

.customers-col-action {
    width: 56px;
    text-align: center;
}

.customers-empty {
    text-align: center;
}

.customers-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.customers-detail-tabs {
    border-radius: 16px !important;
    border: 1px solid rgba(0, 105, 92, 0.1);
    overflow: hidden;
}

.customers-tabs .mud-tabs-tabbar,
.customers-tabs .customers-tabs-header {
    background: rgba(0, 105, 92, 0.03);
    border-bottom: 1px solid rgba(0, 105, 92, 0.08);
    padding: 1rem 1.25rem !important;
}

.customers-tabs .mud-tabs-tabbar-inner {
    min-height: auto;
    align-items: center;
    gap: 0.5rem;
}

.customers-tabs .mud-tabs-tabbar-content {
    margin-inline: 0.25rem;
}

.customers-tabs .mud-tabs-tabbar-wrapper {
    gap: 0.75rem;
}

.customers-tabs .mud-tab.customers-tab-btn {
    margin: 0 !important;
    padding: 0.75rem 1.5rem !important;
    min-height: 48px;
    text-transform: none !important;
    font-weight: 600;
    letter-spacing: 0.01em;
    border-radius: 12px !important;
    border: 1px solid #d5dde3 !important;
    background: #f4f7f8;
    color: #546e7a !important;
    flex-shrink: 0;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, color 0.15s;
}

.customers-tabs .mud-tab.customers-tab-btn .mud-icon-root {
    color: #78909c !important;
}

.customers-tabs .mud-tab.customers-tab-btn:hover {
    background: #e8eef0;
    border-color: #b0bec5 !important;
    color: #37474f !important;
}

.customers-tabs .mud-tab.customers-tab-btn:hover .mud-icon-root {
    color: #546e7a !important;
}

.customers-tabs .mud-tab.customers-tab-btn--active,
.customers-tabs .mud-tab.customers-tab-btn.mud-tab-active {
    background: linear-gradient(135deg, #00695c 0%, #00897b 100%) !important;
    border-color: #00695c !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(0, 105, 92, 0.38);
}

.customers-tabs .mud-tab.customers-tab-btn--active .mud-icon-root,
.customers-tabs .mud-tab.customers-tab-btn.mud-tab-active .mud-icon-root {
    color: #fff !important;
}

.customers-tabs .mud-tab.customers-tab-btn--active .mud-tab-badge .mud-badge,
.customers-tabs .mud-tab.customers-tab-btn.mud-tab-active .mud-tab-badge .mud-badge {
    background-color: #fff !important;
    color: #00695c !important;
    border: 1px solid rgba(255, 255, 255, 0.85);
}

.customers-tabs .mud-tab-icon-text {
    gap: 0.5rem !important;
}

.customers-tabs .mud-tab-badge {
    margin-inline-start: 0.375rem !important;
}

.customers-tabs .mud-tabs-scroll-button .mud-icon-button {
    border-radius: 10px;
}

.customers-tabs--account .mud-tab.customers-tab-btn {
    padding: 0.625rem 1rem !important;
    min-height: 42px;
    font-size: 0.8125rem;
    font-weight: 600;
}

.account-details-form__column {
    height: 100%;
    background: #fafbfc;
}

.account-details-form .mud-input-root {
    background: #fff;
}

.account-details-form__highlight .mud-input-root input {
    color: #1565c0;
    font-weight: 600;
}

.customers-row {
    cursor: pointer;
}

.customers-row:hover {
    background: rgba(0, 105, 92, 0.04) !important;
}

.customers-section {
    border-radius: 12px !important;
}

.customers-profile-sections {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.customers-profile-divider {
    margin: 2rem 0 !important;
}

.customers-tab-panel {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    position: relative;
    z-index: 1;
}

.customers-pod-documents__head {
    border-bottom: 1px solid rgba(0, 105, 92, 0.08);
}

.customers-fw-pod-types {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.customers-fw-pod-types__group {
    border: 1px solid #d0d7de;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.customers-fw-pod-types__category {
    background: #f0f4f8;
    border-bottom: 1px solid #d0d7de;
    color: #1f2937;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.5rem 0.75rem;
}

.customers-fw-pod-types-table .mud-table-root {
    border-radius: 0;
}

.customers-fw-pod-types-table .mud-table-head .mud-table-cell {
    background-color: #337ab7;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.customers-fw-pod-types-table .mud-table-body .mud-table-cell {
    font-size: 0.875rem;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.customers-fw-pod-types__code {
    font-family: Consolas, "Courier New", monospace;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.customers-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.customers-section__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(0, 105, 92, 0.12);
    color: #00695c;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.customers-section__icon--billing {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.customers-section__icon--pod {
    background: rgba(230, 81, 0, 0.12);
    color: #e65100;
}

.customers-pod-group {
    border-radius: 12px !important;
    height: 100%;
}

.customers-pod-group__label {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mud-palette-text-secondary);
}

.customers-section__title {
    font-weight: 600 !important;
}

.customers-form-panel {
    border-radius: 12px !important;
    background: rgba(0, 105, 92, 0.02);
}

.customers-save-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
}

@media (max-width: 600px) {
    .customers-header {
        flex-wrap: wrap;
    }

    .customers-header__actions,
    .customers-header__back {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .customers-search {
        max-width: 100%;
    }

    .customers-tabs .mud-tabs-tabbar,
    .customers-tabs .customers-tabs-header {
        padding: 0.75rem 0.875rem !important;
    }

    .customers-tabs .mud-tabs-tabbar-wrapper {
        gap: 0.5rem;
    }

    .customers-tabs .mud-tab.customers-tab-btn {
        padding: 0.625rem 1rem !important;
        min-height: 44px;
        font-size: 0.8125rem;
    }
}

/* Collection management */
.collections-page {
    padding: 0.25rem 0 2rem;
}

.collections-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.collections-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #e65100 0%, #fb8c00 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(230, 81, 0, 0.35);
}

.collections-header__text {
    flex: 1;
    min-width: 0;
}

.collections-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.collections-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.collections-loading {
    border-radius: 4px;
}

.collections-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(230, 81, 0, 0.1);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.collections-stat-card:hover {
    box-shadow: 0 4px 16px rgba(230, 81, 0, 0.14) !important;
    transform: translateY(-1px);
}

.collections-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.collections-stat-card__icon--total {
    background: rgba(230, 81, 0, 0.12);
    color: #e65100;
}

.collections-stat-card__icon--open {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.collections-stat-card__icon--progress {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.collections-stat-card__icon--today {
    background: rgba(245, 124, 0, 0.15);
    color: #f57c00;
}

.collections-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.collections-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.collections-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(230, 81, 0, 0.12);
}

.collections-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.collections-result-count {
    white-space: nowrap;
}

.collections-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.collections-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(230, 81, 0, 0.12);
    overflow: hidden;
}

.collections-table-card .mud-table-root {
    border-radius: 16px;
}

.collections-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(230, 81, 0, 0.04);
    white-space: nowrap;
}

.collections-avatar {
    font-size: 0.75rem;
    font-weight: 700;
}

.collections-customer-name {
    font-weight: 600 !important;
}

.collections-request-chip {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.collections-empty {
    text-align: center;
}

.collections-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

@media (max-width: 600px) {
    .collections-header {
        flex-wrap: wrap;
    }

    .collections-header__actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .collections-search {
        max-width: 100%;
    }
}

.collections-row--clickable {
    cursor: pointer;
}

/* Quote management */
.quotes-page {
    padding: 0.25rem 0 2rem;
    width: 100%;
    max-width: none;
}

.quotes-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.quotes-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #6a1b9a 0%, #ab47bc 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(106, 27, 154, 0.35);
}

.quotes-header__text {
    flex: 1;
    min-width: 0;
}

.quotes-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.quotes-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.quotes-loading {
    border-radius: 4px;
}

.quotes-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(106, 27, 154, 0.1);
    height: 100%;
}

.quotes-stat-card__label {
    display: block;
    opacity: 0.72;
}

.quotes-stat-card__value {
    font-weight: 700 !important;
}

.quotes-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(106, 27, 154, 0.12);
}

.quotes-search {
    min-width: 220px;
    max-width: 420px;
}

.quotes-table-card {
    border-radius: 16px !important;
    overflow: hidden;
    border: 1px solid rgba(106, 27, 154, 0.1);
}

.quotes-row--clickable {
    cursor: pointer;
}

.quotes-empty {
    text-align: center;
}

.quotes-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.quote-result {
    border-radius: 16px !important;
    border: 1px solid rgba(106, 27, 154, 0.15);
    max-width: 720px;
    margin: 0 auto;
}

.quote-result__price {
    font-weight: 700 !important;
    color: #6a1b9a;
}

@media (max-width: 600px) {
    .quotes-header {
        flex-wrap: wrap;
    }

    .quotes-header__actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .quotes-search {
        max-width: 100%;
    }
}

/* Waybill management */
.waybills-page {
    padding: 0.25rem 0 2rem;
    width: 100%;
    max-width: none;
}

.waybills-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.waybills-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #2e7d32 0%, #66bb6a 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(46, 125, 50, 0.35);
}

.waybills-header__text {
    flex: 1;
    min-width: 0;
}

.waybills-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.waybills-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.waybills-create-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
}

.waybills-loading {
    border-radius: 4px;
}

.waybills-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(46, 125, 50, 0.1);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.waybills-stat-card:hover {
    box-shadow: 0 4px 16px rgba(46, 125, 50, 0.14) !important;
    transform: translateY(-1px);
}

.waybills-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.waybills-stat-card__icon--total {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.waybills-stat-card__icon--open {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.waybills-stat-card__icon--transit {
    background: rgba(2, 119, 189, 0.12);
    color: #0277bd;
}

.waybills-stat-card__icon--delivered {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.waybills-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.waybills-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.waybills-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(46, 125, 50, 0.12);
}

.waybills-search {
    min-width: 220px;
    max-width: 420px;
}

.waybills-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.waybills-table-card {
    border-radius: 16px !important;
    overflow: hidden;
    border: 1px solid rgba(46, 125, 50, 0.1);
}

.waybills-number-chip {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.waybills-consignee-name {
    font-weight: 500;
}

.waybills-row--clickable {
    cursor: pointer;
}

.waybills-row-chevron {
    opacity: 0.45;
}

.waybills-empty {
    text-align: center;
}

.waybills-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

@media (max-width: 600px) {
    .waybills-header {
        flex-wrap: wrap;
    }

    .waybills-header__actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .waybills-search {
        max-width: 100%;
        min-width: 100%;
    }
}

/* Delivery manifest */
.manifest-page {
    padding: 0.25rem 0 2rem;
    width: 100%;
    max-width: none;
}

.manifest-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.manifest-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.manifest-header__text {
    flex: 1;
    min-width: 0;
}

.manifest-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.manifest-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.manifest-create-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
}

.manifest-loading {
    border-radius: 4px;
}

.manifest-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    height: 100%;
    cursor: pointer;
    transition: box-shadow 0.2s, transform 0.15s, border-color 0.2s;
}

.manifest-stat-card:hover {
    box-shadow: 0 4px 16px rgba(21, 101, 192, 0.14) !important;
    transform: translateY(-1px);
    border-color: rgba(21, 101, 192, 0.22);
}

.manifest-stat-card--active {
    border-color: rgba(21, 101, 192, 0.45) !important;
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.06) 0%, rgba(255, 255, 255, 1) 100%);
    box-shadow: 0 4px 18px rgba(21, 101, 192, 0.16) !important;
}

.manifest-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.manifest-stat-card__icon--total {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.manifest-stat-card__icon--draft {
    background: rgba(96, 125, 139, 0.12);
    color: #546e7a;
}

.manifest-stat-card__icon--dispatched {
    background: rgba(2, 119, 189, 0.12);
    color: #0277bd;
}

.manifest-stat-card__icon--closed {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.manifest-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.manifest-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.manifest-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.02) 0%, rgba(255, 255, 255, 1) 100%);
}

.manifest-toolbar__title {
    font-weight: 600 !important;
    display: flex;
    align-items: center;
    color: rgba(0, 0, 0, 0.72);
}

.manifest-toolbar-divider {
    opacity: 0.6;
}

.manifest-toolbar-row {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.875rem 1.25rem;
}

.manifest-search-group {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    flex: 1 1 520px;
    min-width: 280px;
    padding: 0.5rem 1rem 0.625rem;
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: rgba(255, 255, 255, 0.85);
}

.manifest-search-group__label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.54);
    padding-left: 0.125rem;
    line-height: 1.2;
}

.manifest-search-group__fields {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.875rem 1.25rem;
}

.manifest-search-group__sep {
    color: rgba(0, 0, 0, 0.45);
    font-size: 0.8125rem;
    font-weight: 500;
    flex-shrink: 0;
    user-select: none;
    margin-top: 0.125rem;
}

.manifest-search-field {
    flex: 1 1 220px;
    min-width: 180px;
    max-width: 320px;
}

.manifest-date-field {
    flex: 1 1 172px;
    min-width: 158px;
    max-width: 196px;
}

.manifest-search-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    margin-bottom: 1px;
}

.manifest-status-alert {
    border-radius: 12px !important;
}

.manifest-active-filters {
    margin-top: -0.25rem;
}

.manifest-result-count {
    white-space: nowrap;
}

.manifest-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.manifest-table-wrap {
    position: relative;
}

.manifest-table-wrap--loading .manifest-table-card {
    opacity: 0.55;
    pointer-events: none;
}

.manifest-table-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.45);
    border-radius: 16px;
}

.manifest-table-card {
    border-radius: 16px !important;
    overflow: hidden;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.manifest-table-card .mud-table-root {
    border-radius: 0 0 16px 16px;
}

.manifest-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
    white-space: nowrap;
}

.manifest-results-bar {
    background: rgba(21, 101, 192, 0.03);
}

.manifest-results-bar__title {
    font-weight: 700 !important;
}

.manifest-list-number {
    font-weight: 600 !important;
    color: #1565c0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    letter-spacing: -0.01em;
}

.manifest-number-chip {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.manifest-status-chip {
    font-weight: 600 !important;
    text-transform: none !important;
}

.manifest-row {
    cursor: pointer;
}

.manifest-row:hover {
    background: rgba(21, 101, 192, 0.04) !important;
}

.manifest-row--clickable {
    cursor: pointer;
}

.manifest-col-numeric {
    text-align: center;
    white-space: nowrap;
}

.manifest-col-action {
    width: 5.5rem;
    text-align: center;
    white-space: nowrap;
}

.manifest-row-chevron {
    opacity: 0.4;
    transition: opacity 0.15s, transform 0.15s;
}

.manifest-row:hover .manifest-row-chevron {
    opacity: 0.85;
    transform: translateX(2px);
}

.manifest-empty {
    text-align: center;
}

.manifest-empty__icon-wrap {
    width: 72px;
    height: 72px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: rgba(21, 101, 192, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
}

.manifest-empty__icon {
    opacity: 0.45;
    color: #1565c0;
}

.manifest-empty__hint {
    max-width: 420px;
    margin: 0.5rem auto 0;
}

.manifest-assign-field {
    min-width: 240px;
    max-width: 360px;
}

.manifest-detail-page .manifest-toolbar {
    background: #fff;
}

@media (max-width: 600px) {
    .manifest-header {
        flex-wrap: wrap;
    }

    .manifest-header__actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .manifest-search-group,
    .manifest-search-field,
    .manifest-date-field,
    .manifest-assign-field {
        max-width: 100%;
        min-width: 100%;
        flex: 1 1 100%;
    }

    .manifest-search-group {
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
    }

    .manifest-search-group__fields {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .manifest-search-group__sep {
        display: none;
    }

    .manifest-result-count {
        width: 100%;
    }
}

/* Exception management */
.exceptions-page {
    padding: 0.25rem 0 2rem;
}

.exceptions-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.exceptions-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #c62828 0%, #ef5350 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(198, 40, 40, 0.35);
}

.exceptions-header__text {
    flex: 1;
    min-width: 0;
}

.exceptions-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.exceptions-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
    align-items: center;
}

.exceptions-header-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
}

.exceptions-loading {
    border-radius: 4px;
}

.exceptions-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(198, 40, 40, 0.1);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.exceptions-stat-card:hover {
    box-shadow: 0 4px 16px rgba(198, 40, 40, 0.14) !important;
    transform: translateY(-1px);
}

.exceptions-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.exceptions-stat-card__icon--total {
    background: rgba(198, 40, 40, 0.12);
    color: #c62828;
}

.exceptions-stat-card__icon--open {
    background: rgba(211, 47, 47, 0.12);
    color: #d32f2f;
}

.exceptions-stat-card__icon--scheduled {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.exceptions-stat-card__icon--resolved {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.exceptions-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.exceptions-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.exceptions-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(198, 40, 40, 0.12);
}

.exceptions-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.exceptions-type-select {
    min-width: 160px;
    max-width: 200px;
}

.exceptions-result-count {
    white-space: nowrap;
}

.exceptions-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.exceptions-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(198, 40, 40, 0.12);
    overflow: hidden;
}

.exceptions-table-card .mud-table-root {
    border-radius: 16px;
}

.exceptions-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(198, 40, 40, 0.04);
    white-space: nowrap;
}

.exceptions-avatar {
    font-size: 0.75rem;
    font-weight: 700;
}

.exceptions-consignee-name {
    font-weight: 600 !important;
}

.exceptions-waybill-chip {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.exceptions-description {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.exceptions-col-action {
    width: 96px;
    text-align: center;
    white-space: nowrap;
}

.exceptions-empty {
    text-align: center;
}

.exceptions-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.exceptions-schedule-field {
    min-width: 140px;
}

@media (max-width: 600px) {
    .exceptions-header {
        flex-wrap: wrap;
    }

    .exceptions-header__actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .exceptions-search,
    .exceptions-type-select {
        max-width: 100%;
        min-width: 100%;
    }
}

/* Internal tracking lookup */
.tracking-page,
.tracking-detail-page {
    padding: 0.75rem 0 2.5rem;
    width: 100%;
    max-width: none;
    margin: 0;
}

.tracking-page {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
}

.tracking-detail-page {
    line-height: 1.55;
    /* MudBlazor's default success/warning/info are too light for white chip text
       (2.2:1). Darkened here to clear WCAG AA without losing the colour coding. */
    --mud-palette-success: #2e7d32;
    --mud-palette-success-darken: #1b5e20;
    --mud-palette-warning: #b45309;
    --mud-palette-warning-darken: #8a3f07;
    --mud-palette-info: #0277bd;
    --mud-palette-info-darken: #01579b;
}

.tracking-fw-page {
    max-width: none;
}

.tracking-fw-page .tracking-category-shell {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff;
}

.tracking-category-hero {
    padding: 1rem 1.15rem 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(21, 101, 192, 0.09) 0%, transparent 55%),
        linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.tracking-category-hero__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    margin: 0;
}

.tracking-category-hero__subtitle {
    display: block;
    margin-top: 0.2rem;
    color: #546e7a;
}

.tracking-category-body {
    padding: 0.9rem 1rem 1.15rem;
}

.tracking-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.9rem;
}

.tracking-filter-grid__all {
    grid-column: 1 / -1;
}

.tracking-filter-card {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.65rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    color: #455a64;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease, background-color 0.12s ease;
}

.tracking-filter-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.tracking-filter-card--active {
    border-color: rgba(21, 101, 192, 0.35);
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    box-shadow: 0 8px 20px rgba(21, 101, 192, 0.12);
    color: #0d47a1;
}

.tracking-filter-card__label {
    flex: 1;
    min-width: 0;
}

.tracking-filter-card__count {
    min-width: 1.5rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    font-size: 0.72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.tracking-filter-card--active .tracking-filter-card__count {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-filter-card.tracking-cat--waybill.tracking-filter-card--active { border-color: rgba(2, 136, 209, 0.35); color: #0277bd; }
.tracking-filter-card.tracking-cat--parcel.tracking-filter-card--active { border-color: rgba(123, 31, 162, 0.32); color: #7b1fa2; }
.tracking-filter-card.tracking-cat--linehaul.tracking-filter-card--active { border-color: rgba(239, 108, 0, 0.35); color: #ef6c00; }
.tracking-filter-card.tracking-cat--delivery.tracking-filter-card--active { border-color: rgba(46, 125, 50, 0.35); color: #2e7d32; }
.tracking-filter-card.tracking-cat--other.tracking-filter-card--active { border-color: rgba(84, 110, 122, 0.35); color: #546e7a; }

.tracking-category-panel {
    width: 100%;
}

/* Category tabs */
.tracking-category-tabs__bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.tracking-category-tabs__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.25rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    background: #fff;
    color: #546e7a;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: border-color 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease, color 0.12s ease;
}

.tracking-category-tabs__tab:hover {
    border-color: rgba(21, 101, 192, 0.2);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.tracking-category-tabs__tab--active {
    font-weight: 700;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.tracking-category-tabs__tab.tracking-cat--waybill.tracking-category-tabs__tab--active {
    border-color: rgba(2, 136, 209, 0.35);
    background: linear-gradient(180deg, #fff 0%, #f3f9fd 100%);
    color: #0277bd;
}

.tracking-category-tabs__tab.tracking-cat--parcel.tracking-category-tabs__tab--active {
    border-color: rgba(123, 31, 162, 0.32);
    background: linear-gradient(180deg, #fff 0%, #faf5fc 100%);
    color: #7b1fa2;
}

.tracking-category-tabs__tab.tracking-cat--linehaul.tracking-category-tabs__tab--active {
    border-color: rgba(239, 108, 0, 0.35);
    background: linear-gradient(180deg, #fff 0%, #fff8f3 100%);
    color: #ef6c00;
}

.tracking-category-tabs__tab.tracking-cat--delivery.tracking-category-tabs__tab--active {
    border-color: rgba(46, 125, 50, 0.35);
    background: linear-gradient(180deg, #fff 0%, #f4faf5 100%);
    color: #2e7d32;
}

.tracking-category-tabs__tab.tracking-cat--other.tracking-category-tabs__tab--active {
    border-color: rgba(84, 110, 122, 0.35);
    background: linear-gradient(180deg, #fff 0%, #f6f8f9 100%);
    color: #546e7a;
}

.tracking-category-tabs__tab.tracking-cat--overview.tracking-category-tabs__tab--active {
    border-color: rgba(21, 101, 192, 0.35);
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    color: #1565c0;
}

.tracking-category-tabs__label {
    white-space: nowrap;
}

.tracking-category-tabs__count {
    min-width: 1.35rem;
    padding: 0.08rem 0.4rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.07);
    font-size: 0.68rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.tracking-category-tabs__tab--active .tracking-category-tabs__count {
    background: rgba(15, 23, 42, 0.1);
}

.tracking-category-tabs__panel {
    min-height: 8rem;
}

.tracking-category-events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 0.65rem;
    align-items: start;
}

.tracking-category-events-grid .tracking-event-card {
    height: 100%;
}

/* Category events table (Option B) */
.tracking-events-table-shell {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.tracking-events-table-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.tracking-events-table-search {
    flex: 1 1 14rem;
    max-width: 22rem;
}

.tracking-events-table-sort {
    flex: 0 0 10.5rem;
    max-width: 11rem;
}

.tracking-events-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.tracking-events-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.tracking-events-table th,
.tracking-events-table td {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    vertical-align: top;
    text-align: left;
}

.tracking-events-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #1565c0;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tracking-events-table tbody tr:hover {
    background: rgba(21, 101, 192, 0.03);
}

.tracking-events-table__when {
    width: 9.5rem;
    white-space: nowrap;
}

.tracking-events-table__date {
    display: block;
    font-weight: 600;
    color: #37474f;
}

.tracking-events-table__time {
    display: block;
    margin-top: 0.1rem;
    color: #546e7a;
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.tracking-events-table__branch {
    width: 4.5rem;
}

.tracking-events-table__source {
    width: 5rem;
    white-space: nowrap;
}

.tracking-events-table__user {
    width: 8rem;
    color: #546e7a;
    font-size: 0.78rem;
}

.tracking-events-table__event-title {
    font-weight: 600;
    color: #263238;
    line-height: 1.35;
}

.tracking-events-table__event-meta {
    margin-top: 0.3rem;
}

.tracking-events-table__event-detail {
    margin-top: 0.3rem;
    color: #607d8b;
    font-size: 0.75rem;
    line-height: 1.4;
}

.tracking-events-table__dash {
    color: #78909c;
}

.tracking-events-table__source-pill {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.tracking-events-table__source-pill--track {
    background: rgba(21, 101, 192, 0.1);
    color: #1565c0;
}

.tracking-events-table__source-pill--audit {
    background: rgba(84, 110, 122, 0.12);
    color: #546e7a;
}

.tracking-events-table__empty {
    padding: 2rem 0.75rem !important;
    text-align: center;
    color: #546e7a;
    font-style: italic;
}

.tracking-events-table-footer {
    padding: 0.45rem 0.75rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    color: #546e7a;
    font-size: 0.72rem;
    text-align: right;
}

.tracking-events-table-shell.tracking-cat--waybill { border-top: 3px solid #0288d1; }
.tracking-events-table-shell.tracking-cat--parcel { border-top: 3px solid #8e24aa; }
.tracking-events-table-shell.tracking-cat--linehaul { border-top: 3px solid #f57c00; }
.tracking-events-table-shell.tracking-cat--delivery { border-top: 3px solid #43a047; }
.tracking-events-table-shell.tracking-cat--other { border-top: 3px solid #90a4ae; }

@media (max-width: 900px) {
    .tracking-events-table__user {
        min-width: 6rem;
    }
}

/* Category grid timeline */
.tracking-timeline-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
    align-items: stretch;
}

.tracking-timeline-grid__column {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.tracking-timeline-grid__column.tracking-cat--waybill { border-top: 3px solid #0288d1; }
.tracking-timeline-grid__column.tracking-cat--parcel { border-top: 3px solid #8e24aa; }
.tracking-timeline-grid__column.tracking-cat--linehaul { border-top: 3px solid #f57c00; }
.tracking-timeline-grid__column.tracking-cat--delivery { border-top: 3px solid #43a047; }
.tracking-timeline-grid__column.tracking-cat--other { border-top: 3px solid #90a4ae; }

.tracking-timeline-grid__header {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.65rem 0.7rem;
    border: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: rgba(255, 255, 255, 0.85);
    color: #37474f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    cursor: pointer;
    text-align: left;
    transition: background-color 0.12s ease;
}

.tracking-timeline-grid__header:hover {
    background: #fff;
}

.tracking-timeline-grid__header--static {
    cursor: default;
}

.tracking-timeline-grid__header--static:hover {
    background: rgba(255, 255, 255, 0.85);
}

.tracking-timeline-grid__header-label {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tracking-timeline-grid__header-count {
    min-width: 1.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.07);
    font-size: 0.7rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.tracking-timeline-grid__column.tracking-cat--waybill .tracking-timeline-grid__header-count { background: rgba(2, 136, 209, 0.12); color: #0277bd; }
.tracking-timeline-grid__column.tracking-cat--parcel .tracking-timeline-grid__header-count { background: rgba(123, 31, 162, 0.12); color: #7b1fa2; }
.tracking-timeline-grid__column.tracking-cat--linehaul .tracking-timeline-grid__header-count { background: rgba(239, 108, 0, 0.12); color: #ef6c00; }
.tracking-timeline-grid__column.tracking-cat--delivery .tracking-timeline-grid__header-count { background: rgba(46, 125, 50, 0.12); color: #2e7d32; }
.tracking-timeline-grid__column.tracking-cat--other .tracking-timeline-grid__header-count { background: rgba(84, 110, 122, 0.12); color: #546e7a; }

.tracking-timeline-grid__body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.55rem;
    max-height: 32rem;
    overflow-y: auto;
    scrollbar-width: thin;
}

.tracking-timeline-grid__empty {
    margin: 0.5rem 0;
    padding: 0.75rem 0.5rem;
    text-align: center;
    color: #90a4ae;
    font-size: 0.78rem;
    font-style: italic;
}

.tracking-timeline-grid__event {
    padding: 0.55rem 0.6rem;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.tracking-timeline-grid__event .tracking-event-title {
    font-size: 0.8rem;
    line-height: 1.3;
}

.tracking-timeline-grid__event .tracking-event-when {
    font-size: 0.72rem;
    margin-top: 0.25rem;
}

.tracking-timeline-grid__event .tracking-event-meta {
    font-size: 0.72rem;
    margin: 0.25rem 0 0;
}

.tracking-timeline-grid__event .tracking-event-pod-link {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    padding: 0.2rem 0.45rem;
}

.tracking-timeline-focused__back {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.65rem;
    padding: 0.35rem 0.55rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #1565c0;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

.tracking-timeline-focused__back:hover {
    background: rgba(21, 101, 192, 0.06);
}

.tracking-timeline-focused__header {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.75rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.tracking-timeline-focused__count {
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.07);
    font-size: 0.72rem;
}

@media (max-width: 1280px) {
    .tracking-timeline-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .tracking-timeline-grid {
        display: flex;
        gap: 0.55rem;
        overflow-x: auto;
        padding-bottom: 0.35rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .tracking-timeline-grid__column {
        flex: 0 0 min(78vw, 16rem);
        scroll-snap-align: start;
    }
}

@media (max-width: 600px) {
    .tracking-timeline-grid__column {
        flex-basis: min(88vw, 18rem);
    }

    .tracking-timeline-grid__body {
        max-height: 24rem;
    }
}

.tracking-event-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    color: #546e7a;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
}

.tracking-event-tag--category.tracking-cat--waybill { border-color: rgba(2, 136, 209, 0.25); color: #0277bd; background: rgba(2, 136, 209, 0.06); }
.tracking-event-tag--category.tracking-cat--parcel { border-color: rgba(123, 31, 162, 0.25); color: #7b1fa2; background: rgba(123, 31, 162, 0.06); }
.tracking-event-tag--category.tracking-cat--linehaul { border-color: rgba(239, 108, 0, 0.25); color: #ef6c00; background: rgba(239, 108, 0, 0.07); }
.tracking-event-tag--category.tracking-cat--delivery { border-color: rgba(46, 125, 50, 0.25); color: #2e7d32; background: rgba(46, 125, 50, 0.07); }
.tracking-event-tag--category.tracking-cat--other { border-color: rgba(84, 110, 122, 0.25); color: #546e7a; background: rgba(84, 110, 122, 0.07); }

.tracking-event-tag--parcel {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-event-tag--audit {
    font-style: italic;
    opacity: 0.85;
}

.tracking-event-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: #263238;
}

.tracking-event-when {
    margin: 0.35rem 0 0;
    color: #546e7a;
    font-size: 0.8125rem;
}

.tracking-event-pod-link {
    display: inline-flex;
    margin-top: 0.55rem;
    padding: 0.35rem 0.65rem;
    border-radius: 8px;
    border: 1px solid rgba(21, 101, 192, 0.25);
    color: #1565c0;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
}

.tracking-event-pod-link:hover {
    background: rgba(21, 101, 192, 0.06);
}

.tracking-timeline-entry.tracking-cat--waybill .tracking-timeline-entry__marker { background: #0288d1; }
.tracking-timeline-entry.tracking-cat--parcel .tracking-timeline-entry__marker { background: #8e24aa; }
.tracking-timeline-entry.tracking-cat--linehaul .tracking-timeline-entry__marker { background: #f57c00; }
.tracking-timeline-entry.tracking-cat--delivery .tracking-timeline-entry__marker { background: #43a047; }
.tracking-timeline-entry.tracking-cat--other .tracking-timeline-entry__marker { background: #90a4ae; }

.tracking-timeline-entry--latest .tracking-timeline-entry__marker {
    box-shadow: 0 0 0 2px rgba(21, 101, 192, 0.25);
}

@media (max-width: 768px) {
    .tracking-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .tracking-filter-grid {
        grid-template-columns: 1fr;
    }
}

.tracking-filter-bar {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.45rem;
    overflow-x: auto;
    padding: 0.2rem 0.1rem 0.75rem;
    margin-bottom: 0.15rem;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.tracking-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #455a64;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.45rem 0.7rem;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease, background-color 0.12s ease;
}

.tracking-filter-chip:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.tracking-filter-chip--active {
    color: #0d47a1;
    border-color: rgba(21, 101, 192, 0.35);
    background: #fff;
    box-shadow: 0 6px 18px rgba(21, 101, 192, 0.14);
}

.tracking-filter-chip__icon {
    opacity: 0.85;
}

.tracking-filter-chip__count {
    min-width: 1.25rem;
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    font-size: 0.72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.tracking-filter-chip--active .tracking-filter-chip__count {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-filter-chip.tracking-cat--waybill.tracking-filter-chip--active {
    border-color: rgba(2, 136, 209, 0.35);
    color: #0277bd;
}

.tracking-filter-chip.tracking-cat--parcel.tracking-filter-chip--active {
    border-color: rgba(123, 31, 162, 0.32);
    color: #7b1fa2;
}

.tracking-filter-chip.tracking-cat--linehaul.tracking-filter-chip--active {
    border-color: rgba(239, 108, 0, 0.35);
    color: #ef6c00;
}

.tracking-filter-chip.tracking-cat--delivery.tracking-filter-chip--active {
    border-color: rgba(46, 125, 50, 0.35);
    color: #2e7d32;
}

.tracking-filter-chip.tracking-cat--other.tracking-filter-chip--active {
    border-color: rgba(84, 110, 122, 0.35);
    color: #546e7a;
}

.tracking-timeline-wrap {
    padding: 0;
}

.tracking-empty--category {
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, #fff 100%);
    border: 1px dashed rgba(21, 101, 192, 0.16);
    margin: 0.15rem 0;
}

.tracking-empty__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    margin-bottom: 0.85rem;
    background: rgba(21, 101, 192, 0.08);
}

.tracking-empty--category.tracking-cat--waybill .tracking-empty__icon-wrap { background: rgba(2, 136, 209, 0.12); }
.tracking-empty--category.tracking-cat--waybill .tracking-empty__icon { color: #0288d1; opacity: 0.9; }
.tracking-empty--category.tracking-cat--parcel .tracking-empty__icon-wrap { background: rgba(123, 31, 162, 0.12); }
.tracking-empty--category.tracking-cat--parcel .tracking-empty__icon { color: #8e24aa; opacity: 0.9; }
.tracking-empty--category.tracking-cat--linehaul .tracking-empty__icon-wrap { background: rgba(239, 108, 0, 0.12); }
.tracking-empty--category.tracking-cat--linehaul .tracking-empty__icon { color: #f57c00; opacity: 0.9; }
.tracking-empty--category.tracking-cat--delivery .tracking-empty__icon-wrap { background: rgba(46, 125, 50, 0.12); }
.tracking-empty--category.tracking-cat--delivery .tracking-empty__icon { color: #43a047; opacity: 0.9; }
.tracking-empty--category.tracking-cat--other .tracking-empty__icon-wrap { background: rgba(84, 110, 122, 0.12); }

.tracking-event-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
}

.tracking-event-category-chip {
    font-weight: 600 !important;
    letter-spacing: 0.01em;
}

.tracking-event-meta {
    color: #607d8b;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.tracking-event-meta__icon {
    opacity: 0.7;
}

.tracking-event-comment {
    color: #546e7a;
    padding: 0.45rem 0.6rem;
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.95);
    border-left: 3px solid rgba(21, 101, 192, 0.15);
}

.tracking-event-source-chip {
    opacity: 0.85;
    font-style: italic;
}

.tracking-event-card.tracking-cat--waybill { border-left: 3px solid #0288d1; }
.tracking-event-card.tracking-cat--parcel { border-left: 3px solid #8e24aa; }
.tracking-event-card.tracking-cat--linehaul { border-left: 3px solid #f57c00; }
.tracking-event-card.tracking-cat--delivery { border-left: 3px solid #43a047; }
.tracking-event-card.tracking-cat--other { border-left: 3px solid #90a4ae; }

.tracking-event-card.tracking-cat--waybill.tracking-event-card--latest {
    background: linear-gradient(90deg, rgba(2, 136, 209, 0.07) 0%, rgba(2, 136, 209, 0.02) 55%, #fff 100%);
}

.tracking-event-card.tracking-cat--parcel.tracking-event-card--latest {
    background: linear-gradient(90deg, rgba(142, 36, 170, 0.07) 0%, rgba(142, 36, 170, 0.02) 55%, #fff 100%);
}

.tracking-event-card.tracking-cat--linehaul.tracking-event-card--latest {
    background: linear-gradient(90deg, rgba(245, 124, 0, 0.08) 0%, rgba(245, 124, 0, 0.02) 55%, #fff 100%);
}

.tracking-event-card.tracking-cat--delivery.tracking-event-card--latest {
    background: linear-gradient(90deg, rgba(67, 160, 71, 0.08) 0%, rgba(67, 160, 71, 0.02) 55%, #fff 100%);
}

@media (max-width: 768px) {
    .tracking-category-hero,
    .tracking-category-body {
        padding-inline: 0.85rem;
    }

    .tracking-filter-chip {
        font-size: 0.78rem;
        padding: 0.4rem 0.62rem;
    }
}

.tracking-fw-summary {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.03) 0%, #fff 2.5rem);
    padding: 0.75rem 1rem 0;
    overflow: hidden;
}

.tracking-fw-summary__crumb {
    margin-bottom: 0.35rem;
}

.tracking-fw-summary__crumb .tracking-fw-breadcrumbs {
    padding: 0;
}

.tracking-fw-summary__crumb .mud-breadcrumb-item,
.tracking-fw-summary__crumb .mud-breadcrumbs-separator {
    font-size: 0.75rem;
}

.tracking-fw-summary__top {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    padding-bottom: 0.75rem;
}

.tracking-fw-summary__back {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.tracking-fw-summary__identity {
    min-width: 0;
    flex: 1;
}

.tracking-fw-summary__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.6rem;
}

.tracking-fw-summary__waybill {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    line-height: 1.2;
    margin: 0;
}

.tracking-fw-summary__status {
    font-weight: 600 !important;
}

.tracking-fw-summary__date {
    font-size: 0.8125rem;
    color: #546e7a;
    white-space: nowrap;
}

.tracking-fw-summary__route {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
    font-size: 0.875rem;
    color: #546e7a;
    line-height: 1.4;
}

.tracking-fw-summary__route-from,
.tracking-fw-summary__route-to {
    font-weight: 500;
    color: #37474f;
}

.tracking-fw-summary__route-arrow {
    color: #90a4ae;
    flex-shrink: 0;
}

.tracking-fw-summary__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.75rem;
    margin: 0 -1rem;
    padding: 0.55rem 1rem;
    border-top: 1px solid rgba(21, 101, 192, 0.08);
    background: rgba(248, 250, 252, 0.7);
}

.tracking-fw-summary-stat {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.tracking-fw-summary-stat__icon {
    flex-shrink: 0;
    opacity: 0.9;
}

.tracking-fw-summary-stat__icon--service { color: #fb8c00; }
.tracking-fw-summary-stat__icon--items { color: #3f51b5; }
.tracking-fw-summary-stat__icon--weight { color: #0097a7; }
.tracking-fw-summary-stat__icon--events { color: #7b1fa2; }

.tracking-fw-summary-stat__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #546e7a;
    white-space: nowrap;
}

.tracking-fw-summary-stat__value {
    font-size: 0.875rem;
    font-weight: 600;
    color: #263238;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .tracking-fw-summary__stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem 1rem;
    }
}

@media (max-width: 480px) {
    .tracking-fw-summary__stats {
        grid-template-columns: 1fr 1fr;
    }

    .tracking-fw-summary-stat__label {
        display: none;
    }
}

.tracking-fw-scroll {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
}

.tracking-scroll-nav--bar {
    position: sticky;
    top: calc(var(--mud-appbar-height, 64px) + 0.25rem);
    z-index: 3;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 0.3rem;
    border-radius: 10px;
    gap: 0.2rem;
    background: rgba(248, 250, 252, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    scrollbar-width: none;
}

.tracking-scroll-nav--bar::-webkit-scrollbar {
    display: none;
}

.tracking-scroll-nav--bar .tracking-scroll-nav__link {
    white-space: nowrap;
    padding: 0.42rem 0.9rem;
    font-size: 0.8125rem;
    border-radius: 8px;
}

.tracking-scroll-nav--bar .tracking-scroll-nav__num {
    display: none;
}

.tracking-fw-hero {
    padding: 1rem 1.25rem 1.15rem !important;
}

.tracking-fw-hero__crumb {
    margin-bottom: 0.5rem;
}

.tracking-fw-hero__crumb .tracking-fw-breadcrumbs {
    padding: 0;
}

.tracking-fw-hero__main {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
}

.tracking-fw-hero__identity {
    min-width: 0;
    flex: 1;
}

.tracking-fw-hero__chips {
    margin-top: 0.35rem;
}

.tracking-route-flow--compact {
    margin-top: 1rem;
    padding: 0.75rem;
    gap: 0.75rem;
}

.tracking-route-flow--compact .tracking-route-card {
    padding: 0.75rem 0.875rem;
}

.tracking-route-flow--compact .tracking-route-card__icon {
    width: 34px;
    height: 34px;
}

.tracking-fw-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-fw-hero-stat {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.65rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(21, 101, 192, 0.08);
    font-size: 0.8125rem;
    min-width: 0;
}

.tracking-fw-hero-stat__icon {
    flex-shrink: 0;
    opacity: 0.85;
}

.tracking-fw-hero-stat__icon--service { color: #fb8c00; }
.tracking-fw-hero-stat__icon--items { color: #3f51b5; }
.tracking-fw-hero-stat__icon--weight { color: #0097a7; }
.tracking-fw-hero-stat__icon--events { color: #7b1fa2; }

.tracking-fw-hero-stat__label {
    color: #546e7a;
    font-weight: 500;
    font-size: 0.75rem;
}

.tracking-fw-hero-stat__value {
    font-weight: 600;
    color: #263238;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tracking-subsection {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.tracking-subsection:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}

.tracking-line-items-summary--inline {
    margin-bottom: 0;
}

.tracking-scroll-nav {
    position: sticky;
    top: calc(var(--mud-appbar-height, 64px) + 1rem);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: #fff;
}

.tracking-scroll-nav__link {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.5rem 0.7rem;
    border-radius: 10px;
    color: #546e7a;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
}

.tracking-scroll-nav__link:hover {
    background: rgba(21, 101, 192, 0.06);
    color: #1565c0;
}

.tracking-scroll-nav__link--active {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
    font-weight: 600;
}

.tracking-scroll-nav__link--active .tracking-scroll-nav__num {
    background: #1565c0;
    color: #fff;
}

.tracking-scroll-nav__link--third:hover {
    color: #5e35b1;
    background: rgba(94, 53, 177, 0.06);
}

.tracking-scroll-nav__link--third.tracking-scroll-nav__link--active {
    color: #5e35b1;
    background: rgba(94, 53, 177, 0.12);
    font-weight: 600;
}

.tracking-scroll-nav__link--third.tracking-scroll-nav__link--active .tracking-scroll-nav__num--third {
    background: #5e35b1;
    color: #fff;
}

.tracking-scroll-nav__num {
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 700;
    background: rgba(21, 101, 192, 0.08);
    color: #1565c0;
    flex-shrink: 0;
}

.tracking-scroll-nav__num--third {
    background: rgba(94, 53, 177, 0.1);
    color: #5e35b1;
}

.tracking-scroll-content {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
}

.tracking-scroll-section {
    scroll-margin-top: calc(var(--mud-appbar-height, 64px) + 3.5rem);
}

.tracking-scroll-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0;
    border-bottom: none;
}

.tracking-scroll-section--third-party .tracking-scroll-section__header {
    border-bottom-color: transparent;
}

.tracking-scroll-section__title {
    font-weight: 600 !important;
    color: #37474f;
    letter-spacing: -0.01em;
}

.tracking-scroll-section--third-party .tracking-scroll-section__title {
    color: #5e35b1;
}

.tracking-scroll-section__panel {
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.tracking-scroll-section--third-party .tracking-scroll-section__panel {
    border-color: rgba(94, 53, 177, 0.12);
}

.tracking-scroll-section__body {
    padding: 1rem 1.15rem;
}

.tracking-overview-split {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1rem;
}

.tracking-pod-dual {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: stretch;
}

.tracking-pod-card {
    border-radius: 16px;
    border: 1px solid rgba(21, 101, 192, 0.14);
    background: #fff;
    padding: 1.25rem 1.5rem;
    height: 100%;
}

.tracking-pod-card--third {
    border-color: rgba(94, 53, 177, 0.2);
    background: linear-gradient(180deg, rgba(94, 53, 177, 0.03) 0%, #fff 100%);
}

.tracking-pod-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.tracking-third-party-split {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.tracking-fw-header {
    margin-bottom: 1.25rem;
}

.tracking-fw-header__main {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.tracking-fw-header__back {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

.tracking-fw-header__identity {
    min-width: 0;
    flex: 1;
}

.tracking-fw-header__label {
    display: block;
    letter-spacing: 0.08em;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 0.15rem;
}

.tracking-fw-breadcrumbs {
    padding: 0;
}

.tracking-fw-header__waybill {
    font-weight: 700 !important;
    letter-spacing: -0.03em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    line-height: 1.2;
}

.tracking-fw-header__meta {
    margin-top: 0.5rem;
}

.tracking-fw-metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.tracking-fw-metrics--summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tracking-fw-metric-skeleton {
    border-radius: 14px !important;
}

.tracking-fw-metric {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: #fff;
    min-width: 0;
    transition: box-shadow 0.15s, border-color 0.15s;
}

.tracking-fw-metric:hover {
    border-color: rgba(21, 101, 192, 0.22);
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.08);
}

.tracking-fw-metric__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tracking-fw-metric__icon--status {
    background: rgba(21, 101, 192, 0.1);
    color: #1565c0;
}

.tracking-fw-metric__icon--pod {
    background: rgba(46, 125, 50, 0.1);
    color: #2e7d32;
}

.tracking-fw-metric__icon--items {
    background: rgba(63, 81, 181, 0.1);
    color: #3f51b5;
}

.tracking-fw-metric__icon--weight {
    background: rgba(0, 151, 167, 0.1);
    color: #0097a7;
}

.tracking-fw-metric__icon--events {
    background: rgba(123, 31, 162, 0.1);
    color: #7b1fa2;
}

.tracking-fw-metric__icon--service {
    background: rgba(251, 140, 0, 0.1);
    color: #fb8c00;
}

.tracking-fw-metric__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.tracking-fw-metric__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #546e7a;
}

.tracking-fw-metric__value {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #263238;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.revenue-breakdown-panels {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: transparent !important;
}

.revenue-breakdown-panels .mud-expand-panel {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    overflow: hidden;
    background: rgba(21, 101, 192, 0.02);
}

.revenue-collapsible-panels {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: transparent !important;
}

.revenue-collapsible-panels .mud-expand-panel {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    overflow: hidden;
    background: var(--mud-palette-surface);
}

.revenue-collapsible-panel .mud-expand-panel-header {
    padding: 0.75rem 1rem;
    min-height: 3rem;
}

.revenue-collapsible-panel__header {
    width: 100%;
    padding: 0.25rem 0.5rem 0.25rem 0;
}

.revenue-collapsible-panel__body {
    border-top: 1px solid rgba(21, 101, 192, 0.08);
}

.revenue-summary-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.revenue-finance-metrics {
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.revenue-waybill-link {
    color: #1565c0;
    font-weight: 600;
}

.revenue-overview-metrics {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.revenue-top20-overview {
    border: 1px solid rgba(21, 101, 192, 0.12);
    border-radius: 14px;
    background: rgba(21, 101, 192, 0.03);
}

.revenue-account-tabs {
    border: 1px solid rgba(21, 101, 192, 0.1);
    border-radius: 14px;
    overflow: hidden;
}

.revenue-account-tab-panel {
    padding: 1rem 1.25rem 1.25rem;
}

.revenue-branch-overview {
    margin-bottom: 0.75rem;
}

.revenue-branch-chart-card {
    border: 1px solid rgba(21, 101, 192, 0.1);
    border-radius: 14px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.revenue-branch-donut {
    max-width: 100%;
    margin: 0 auto;
}

.revenue-branch-code {
    font-weight: 600;
}

.revenue-branch-rank {
    font-weight: 700;
    color: #1565c0;
}

.revenue-daily-chart,
.revenue-branch-chart {
    max-width: 100%;
    overflow-x: auto;
}

.revenue-branch-grid {
    align-items: stretch;
}

.revenue-branch-table {
    border: 1px solid rgba(21, 101, 192, 0.1);
    border-radius: 14px;
    overflow: hidden;
}

.revenue-top-chart {
    max-width: 100%;
    overflow-x: auto;
}

.revenue-top-card {
    border: 1px solid rgba(21, 101, 192, 0.1);
    border-radius: 14px;
    height: 100%;
}

.revenue-top-card__account {
    font-weight: 600;
    word-break: break-word;
}

.revenue-top-card__amount {
    font-weight: 700;
    color: #1565c0;
}

@media (max-width: 960px) {
    .revenue-summary-metrics,
    .revenue-overview-metrics,
    .revenue-finance-metrics {
        grid-template-columns: 1fr;
    }
}

.tracking-fw-route {
    padding: 1rem !important;
}

.tracking-fw-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1.25rem;
    align-items: start;
}

.tracking-fw-layout__main {
    min-width: 0;
}

.tracking-sources-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.tracking-sources-columns--split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.tracking-sources-columns--split > .tracking-source-panel {
    min-width: 0;
}

.tracking-sources-stack {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.tracking-source-panel {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.tracking-source-panel--freightware {
    border: 1px solid rgba(21, 101, 192, 0.22);
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.05) 0%, #fff 2.75rem);
}

.tracking-source-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(21, 101, 192, 0.12);
    background: rgba(21, 101, 192, 0.04);
}

.tracking-source-panel__title {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.tracking-source-panel__icon {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.tracking-source-panel__heading {
    font-weight: 700 !important;
    color: #1565c0;
}

.tracking-source-panel__body {
    padding: 1rem 1.25rem 1.25rem;
}

.tracking-source-panel--third-party {
    margin-top: 0;
}

.tracking-sidebar-group {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.tracking-sidebar-group + .tracking-sidebar-group {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.tracking-sidebar-group__label {
    display: block;
    letter-spacing: 0.08em;
    font-weight: 700;
    margin-bottom: 0.35rem;
    color: #546e7a;
}

.tracking-sidebar-group--freightware .tracking-sidebar-group__label {
    color: #1565c0;
}

.tracking-sidebar-group--third-party .tracking-sidebar-group__label {
    color: #5e35b1;
}

.tracking-fw-layout__aside {
    min-width: 0;
}

.tracking-fw-aside-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.tracking-fw-aside-card--third {
    border-color: rgba(94, 53, 177, 0.18);
    background: linear-gradient(180deg, rgba(94, 53, 177, 0.04) 0%, #fff 100%);
}

.tracking-fw-third-pod {
    border: 1px solid rgba(94, 53, 177, 0.16);
    background: linear-gradient(180deg, rgba(94, 53, 177, 0.03) 0%, #fff 100%);
}

.tracking-event-card--third.tracking-event-card--latest {
    background: rgba(94, 53, 177, 0.06);
    border-color: rgba(94, 53, 177, 0.16);
}

.tracking-fw-latest-event {
    padding: 1rem 1.125rem;
    border-radius: 12px;
    background: rgba(21, 101, 192, 0.04);
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.tracking-fw-empty,
.tracking-fw-skeleton {
    border-radius: 16px;
}

.tracking-kv-grid--compact {
    gap: 0.875rem 1rem;
}

.tracking-lead,
.tracking-hint {
    color: #546e7a !important;
    line-height: 1.55;
}

.tracking-section-heading {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #263238;
}

.tracking-header,
.tracking-detail-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.tracking-header {
    margin-bottom: 0;
    align-items: center;
    gap: 1.25rem;
}

.tracking-header__text > .mud-typography-body2 {
    margin-top: 0.35rem;
    line-height: 1.5;
}

.tracking-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.tracking-header__text {
    flex: 1;
    min-width: 0;
}

.tracking-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.tracking-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.tracking-header-btn,
.tracking-search-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
}

.tracking-loading {
    border-radius: 4px;
}

.profitability-page .profitability-tabs {
    border-bottom: 1px solid rgba(21, 101, 192, 0.1);
}

.profitability-page .tracking-fw-metrics {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.profitability-page .portal-neumorphic-card--inner {
    border-radius: 16px;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: #fff;
    box-shadow: none;
}

.profitability-collapsible-panels {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: transparent !important;
}

.profitability-collapsible-panels .mud-expand-panel {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    overflow: hidden;
    background: rgba(21, 101, 192, 0.02);
}

.profitability-collapsible-panels .mud-expand-panel-header {
    padding: 0.75rem 1rem;
    min-height: 3rem;
}

.profitability-collapsible-panels .mud-expand-panel-content {
    padding: 0 1rem 1rem;
}

.tracking-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    padding: 1.35rem 1.5rem !important;
}

.tracking-toolbar > .mud-grid {
    row-gap: 1.1rem;
}

.tracking-toolbar__title {
    font-weight: 600 !important;
    display: flex;
    align-items: center;
    color: #1565c0;
    margin-bottom: 1.1rem !important;
}

.tracking-toolbar__divider {
    margin: 1.15rem 0 1rem !important;
    opacity: 0.55;
}

.tracking-toolbar__actions {
    padding-top: 0.15rem;
}

.tracking-more-filters {
    margin-top: 0.85rem !important;
}

.tracking-more-filters .mud-grid {
    row-gap: 1rem;
    padding-top: 0.35rem !important;
}

.tracking-more-filters__panel {
    border-radius: 12px !important;
    border: 1px solid rgba(21, 101, 192, 0.08);
    background: rgba(21, 101, 192, 0.02);
}

.tracking-searching {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: rgba(21, 101, 192, 0.03);
}

.tracking-active-filters {
    gap: 0.5rem 0.65rem !important;
}

.tracking-active-filters .mud-chip {
    border-radius: 8px !important;
}

.tracking-stats {
    margin: 0 !important;
}

.tracking-stat-card,
.tracking-detail-stat {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    height: 100%;
    padding: 1.05rem 1.2rem !important;
    transition: box-shadow 0.2s, transform 0.15s;
}

.tracking-stat-card:hover,
.tracking-detail-stat:hover {
    box-shadow: 0 4px 16px rgba(21, 101, 192, 0.14) !important;
    transform: translateY(-1px);
}

.tracking-stat-card__icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.65rem;
}

.tracking-stat-card__icon--total {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-stat-card__icon--transit {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.tracking-stat-card__icon--delivered {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-stat-card__icon--pod {
    background: rgba(123, 31, 162, 0.12);
    color: #7b1fa2;
}

.tracking-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.35;
    margin-bottom: 0.2rem;
}

.tracking-stat-card__value,
.tracking-detail-stat__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin-top: 0.1rem;
}

.tracking-results-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1.25rem;
    padding: 1.15rem 1.5rem !important;
}

.tracking-results-bar__title {
    font-weight: 600 !important;
}

.tracking-results-bar__hint {
    width: 100%;
    margin-top: 0.2rem;
    line-height: 1.45;
}

.tracking-table-card .mud-table-head .mud-table-cell,
.tracking-table-card .mud-table-body .mud-table-cell {
    padding: 0.72rem 1.1rem !important;
}

.tracking-table-pagination {
    display: flex;
    justify-content: center;
    padding: 1.1rem 1.5rem 1.25rem;
    border-top: 1px solid rgba(21, 101, 192, 0.08);
    background: rgba(248, 250, 252, 0.5);
}

.tracking-table-card,
.tracking-timeline-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    overflow: hidden;
}

.tracking-table-card .mud-table-root {
    border-radius: 0 0 16px 16px;
}

.tracking-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
    white-space: nowrap;
}

.tracking-row--clickable {
    cursor: pointer;
}

.tracking-row--clickable:hover .tracking-row-chevron {
    color: #1565c0;
    transform: translateX(2px);
}

.tracking-row-chevron {
    opacity: 0.45;
    transition: transform 0.15s, opacity 0.15s, color 0.15s;
}

.tracking-cell-secondary {
    opacity: 0.85;
}

.tracking-pod-missing {
    opacity: 0.25;
}

.tracking-waybill-chip {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-consignee-name {
    font-weight: 600 !important;
}

.tracking-empty {
    text-align: center;
    padding: 2.75rem 1.75rem !important;
}

.tracking-empty > .mud-typography-h6 {
    margin-bottom: 0.45rem;
}

.tracking-empty > .mud-typography-body2 {
    line-height: 1.55;
}

.tracking-empty__icon,
.tracking-welcome__icon {
    opacity: 0.35;
    margin-bottom: 1rem;
    color: #1565c0;
}

.tracking-welcome {
    text-align: center;
    padding: 2.5rem 1.75rem !important;
    border-radius: 16px !important;
    border: 1px dashed rgba(21, 101, 192, 0.25);
    background: rgba(21, 101, 192, 0.03);
}

.tracking-welcome__inner {
    max-width: 520px;
    margin: 0 auto;
}

.tracking-welcome__inner > .mud-typography-h6 {
    margin-bottom: 0.5rem;
}

.tracking-welcome__inner > .mud-typography-body2 {
    margin-bottom: 1.25rem !important;
    line-height: 1.55;
}

.tracking-results-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
}

.tracking-results-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.tracking-result-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tracking-result-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    padding: 1.25rem 1.5rem !important;
    cursor: pointer;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.15s;
}

.tracking-result-card:hover {
    border-color: rgba(21, 101, 192, 0.35) !important;
    box-shadow: 0 8px 24px rgba(21, 101, 192, 0.12) !important;
    transform: translateY(-2px);
}

.tracking-result-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.tracking-result-card__waybill {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-result-card__status {
    flex-shrink: 0;
    font-weight: 600 !important;
}

.tracking-result-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.tracking-result-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-result-card__action {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 600 !important;
    margin-left: auto;
}

.tracking-kv {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.tracking-kv__label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #546e7a;
}

.tracking-kv__value {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #263238;
    line-height: 1.4;
}

.tracking-kv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem 1.5rem;
}

.tracking-kv--wide {
    grid-column: 1 / -1;
}

/* Tracking detail */
.tracking-detail-hero {
    padding: 1.15rem 1.35rem;
    border-radius: 14px;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: linear-gradient(135deg, rgba(21, 101, 192, 0.04) 0%, rgba(66, 165, 245, 0.03) 50%, #fff 100%);
    box-shadow: 0 2px 8px rgba(21, 101, 192, 0.05);
}

.tracking-detail-header__back {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.tracking-detail-header__text {
    flex: 1;
    min-width: 0;
}

.tracking-detail-hero__waybill {
    font-weight: 700 !important;
    letter-spacing: -0.03em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-route-flow {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(227, 242, 253, 0.55) 100%);
    border: 1px solid rgba(21, 101, 192, 0.12);
}

.tracking-route-card {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
    min-width: 0;
    padding: 1rem 1.125rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(21, 101, 192, 0.1);
    box-shadow: 0 1px 3px rgba(21, 101, 192, 0.06);
}

.tracking-route-card--origin {
    border-left: 4px solid #fb8c00;
}

.tracking-route-card--dest {
    border-left: 4px solid #2e7d32;
}

.tracking-route-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tracking-route-card--origin .tracking-route-card__icon {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.tracking-route-card--dest .tracking-route-card__icon {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-route-card__body {
    min-width: 0;
    flex: 1;
}

.tracking-route-card__location {
    display: block;
    color: #546e7a !important;
    margin-top: 0.2rem;
}

.tracking-route-card__site {
    display: block;
    color: #546e7a !important;
    margin-top: 0.15rem;
}

.tracking-route-card__station {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600 !important;
}

.tracking-route-flow__label {
    display: block;
    color: #546e7a !important;
    letter-spacing: 0.06em;
    margin-bottom: 0.35rem;
}

.tracking-route-flow__name {
    font-weight: 700 !important;
    line-height: 1.35;
    word-break: break-word;
}

.tracking-route-flow__connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0 0.25rem;
    min-width: 48px;
}

.tracking-route-flow__line {
    display: block;
    width: 2px;
    flex: 1;
    min-height: 12px;
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.08), rgba(21, 101, 192, 0.35), rgba(21, 101, 192, 0.08));
    border-radius: 2px;
}

.tracking-route-flow__vehicle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(21, 101, 192, 0.1);
    color: #1565c0;
}

.tracking-party-name {
    font-weight: 600 !important;
    line-height: 1.4;
}

.tracking-party-card {
    border-radius: 16px !important;
    overflow: hidden;
    height: 100%;
}

.tracking-party-card--origin {
    border: 1px solid rgba(251, 140, 0, 0.2);
}

.tracking-party-card--dest {
    border: 1px solid rgba(46, 125, 50, 0.2);
}

.tracking-party-card--third {
    border: 1px solid rgba(94, 53, 177, 0.22);
    max-width: 720px;
}

.tracking-party-card__header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem 0.75rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(255, 255, 255, 0) 100%);
    border-bottom: 1px solid rgba(21, 101, 192, 0.06);
}

.tracking-party-card--origin .tracking-party-card__header {
    background: linear-gradient(180deg, rgba(251, 140, 0, 0.06) 0%, rgba(255, 255, 255, 0) 100%);
}

.tracking-party-card--dest .tracking-party-card__header {
    background: linear-gradient(180deg, rgba(46, 125, 50, 0.06) 0%, rgba(255, 255, 255, 0) 100%);
}

.tracking-party-card--third .tracking-party-card__header {
    background: linear-gradient(180deg, rgba(94, 53, 177, 0.07) 0%, rgba(255, 255, 255, 0) 100%);
}

.tracking-party-card__title {
    flex: 1;
    min-width: 0;
}

.tracking-party-card__role {
    display: block;
    color: #546e7a !important;
    letter-spacing: 0.06em;
    margin-bottom: 0.25rem;
}

.tracking-party-card__site {
    color: #546e7a !important;
    margin-top: 0.15rem;
}

.tracking-party-card__station {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600 !important;
    flex-shrink: 0;
}

.tracking-party-card__content {
    padding: 0.75rem 1rem 1rem;
}

.tracking-party-card__address {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-style: normal;
    line-height: 1.6;
    color: #455a64;
    margin-bottom: 1rem;
}

.tracking-party-card__address-line {
    display: block;
}

.tracking-party-card__contact {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    color: #37474f;
}

.tracking-party-card__contact-icon {
    color: #90a4ae;
    flex-shrink: 0;
}

.tracking-party-card__phone {
    color: #1565c0;
    text-decoration: none;
}

.tracking-party-card__phone:hover {
    text-decoration: underline;
}

.tracking-party-card__instruction {
    margin-top: 1rem !important;
    border-radius: 10px !important;
}

.tracking-line-items-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 2rem;
    margin-bottom: 0;
    padding: 0.75rem 0.875rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid rgba(21, 101, 192, 0.06);
}

.tracking-line-items-summary__stat {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.tracking-line-items-summary__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #546e7a;
}

.tracking-line-items-summary__value {
    font-size: 1.05rem;
    font-weight: 700;
    color: #263238;
    font-variant-numeric: tabular-nums;
}

.tracking-line-items-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.tracking-line-items-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.tracking-line-items-table th,
.tracking-line-items-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-line-items-table th {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #546e7a;
    background: #f8fafc;
    white-space: nowrap;
}

.tracking-line-items-table tbody tr:last-child td {
    border-bottom: none;
}

.tracking-line-items-table tbody tr:hover {
    background: rgba(21, 101, 192, 0.03);
}

.tracking-line-items-table__num {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tracking-line-items-table__line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 0.4rem;
    border-radius: 6px;
    background: rgba(21, 101, 192, 0.1);
    color: #1565c0;
    font-weight: 700;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-line-items-table__code {
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
    color: #1565c0;
}

.tracking-line-items-table__category {
    display: block;
    font-size: 0.8125rem;
    color: #546e7a;
    margin-top: 0.1rem;
}

.tracking-line-items-table__desc {
    min-width: 10rem;
    max-width: 22rem;
    word-break: break-word;
}

.tracking-third-party-table th:first-child,
.tracking-third-party-table td.tracking-third-party-table__date {
    width: 9.5rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #546e7a;
}

.tracking-third-party-table td:last-child {
    color: #263238;
}

.tracking-third-party-table__hub {
    width: 5rem;
    white-space: nowrap;
    font-weight: 600;
    color: #5e35b1;
}

.tracking-fw-third-party-section {
    border-radius: 16px !important;
    border: 1px solid rgba(94, 53, 177, 0.22);
    background: linear-gradient(180deg, rgba(94, 53, 177, 0.05) 0%, #fff 2.5rem);
    overflow: hidden;
}

.tracking-fw-third-party-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(94, 53, 177, 0.12);
    background: rgba(94, 53, 177, 0.04);
}

.tracking-fw-third-party-section__title {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.tracking-fw-third-party-section__icon {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.tracking-fw-third-party-section__heading {
    font-weight: 700 !important;
    color: #4527a0;
}

.tracking-fw-third-party-section__body {
    padding: 1rem 1.25rem 1.25rem;
}

.tracking-fw-third-party-events {
    border-color: rgba(94, 53, 177, 0.14) !important;
}

.tracking-third-party-pod {
    display: grid;
    gap: 0.5rem;
}

.tracking-third-party-pod__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    align-items: baseline;
    font-size: 0.9375rem;
    line-height: 1.45;
}

.tracking-third-party-pod__label {
    color: #546e7a;
    font-weight: 500;
}

.tracking-third-party-pod__value {
    color: #263238;
    font-weight: 600;
}

.tracking-third-party-pod__link {
    font-weight: 500;
    word-break: break-all;
}

.tracking-detail-section {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    height: 100%;
}

.tracking-detail-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.tracking-detail-section__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tracking-detail-section__icon--collection {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.tracking-detail-section__icon--delivery {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-detail-section__icon--notes {
    background: rgba(96, 125, 139, 0.12);
    color: #607d8b;
}

.tracking-detail-section__icon--refs {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.tracking-detail-section__icon--parcels {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-detail-section__icon--items {
    background: rgba(63, 81, 181, 0.12);
    color: #3f51b5;
}

.tracking-detail-section__icon--docs {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-detail-section__icon--timeline {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-detail-section__icon--third {
    background: rgba(94, 53, 177, 0.12);
    color: #5e35b1;
}

.tracking-detail-section__title {
    font-weight: 600 !important;
    letter-spacing: -0.01em;
}

.tracking-detail-section__code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
    color: #1565c0;
}

.tracking-detail-address {
    line-height: 1.65;
    color: #455a64;
}

.tracking-tabs-shell {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: #fff;
    overflow: hidden;
}

.tracking-main-tabs-shell {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.tracking-main-tabs .mud-tabs-toolbar {
    background: #f8fafc;
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
    padding: 0.25rem 0.65rem 0;
    min-height: 42px;
}

.tracking-main-tabs .mud-tab.mud-tab-active {
    font-weight: 700 !important;
}

.tracking-tabs-shell--nested {
    margin-top: 0.75rem;
    border: none;
    border-radius: 12px !important;
    background: #f8fafc;
}

.tracking-tabs {
    background: transparent !important;
}

.tracking-tabs .mud-tabs-toolbar {
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
    padding: 0.25rem 0.5rem 0;
}

.tracking-tabs .mud-tab.mud-tab-active {
    font-weight: 700 !important;
}

.tracking-tab-panel {
    padding: 1rem 1rem 1.25rem !important;
    background: transparent !important;
}

.tracking-fw-page .tracking-fw-metric {
    height: 100%;
}

.tracking-fw-page .tracking-detail-section {
    height: 100%;
    border-radius: 12px !important;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff;
}

.tracking-fw-details-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-top: 0.25rem;
}

@media (min-width: 1400px) {
    .tracking-fw-details-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    }
}

.tracking-parcel-chip {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
}

.tracking-item-row {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-item-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.tracking-doc-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tracking-doc-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: #f8fafc;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, background 0.15s;
}

.tracking-doc-row:hover {
    border-color: rgba(21, 101, 192, 0.35);
    background: #fff;
    color: #1565c0;
}

.tracking-doc-row__icon {
    color: #1565c0;
    flex-shrink: 0;
}

.tracking-doc-row__text {
    flex: 1;
    min-width: 0;
}

.tracking-doc-row__open {
    opacity: 0.45;
    flex-shrink: 0;
}

.tracking-edocs-upload {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 1.5rem;
    align-items: start;
}

.tracking-edocs-upload__preview {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.tracking-edocs-upload__preview-label {
    font-weight: 600;
}

.tracking-edocs-upload__preview-frame {
    border: 1px solid rgba(21, 101, 192, 0.12);
    border-radius: 12px;
    background: #f8fafc;
    overflow: hidden;
    min-height: 320px;
    max-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tracking-edocs-upload__preview-image {
    width: 100%;
    height: 100%;
    max-height: 480px;
    object-fit: contain;
    display: block;
}

.tracking-edocs-upload__preview-pdf {
    width: 100%;
    height: 100%;
    min-height: 320px;
    border: 0;
    background: #fff;
}

.tracking-edocs-upload__preview-open {
    align-self: flex-start;
    text-transform: none;
}

.tracking-edocs-upload__form {
    min-width: 0;
}

@media (max-width: 960px) {
    .tracking-edocs-upload {
        grid-template-columns: 1fr;
    }

    .tracking-edocs-upload__preview-frame {
        min-height: 240px;
        max-height: 360px;
    }
}

.tracking-timeline-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.tracking-timeline-entry {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 1.25rem;
    padding-bottom: 1.75rem;
    position: relative;
}

.tracking-timeline-entry:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 28px;
    bottom: 0;
    width: 2px;
    background: rgba(21, 101, 192, 0.15);
}

.tracking-timeline-entry__marker {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #cfd8dc;
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px rgba(21, 101, 192, 0.15);
    margin-top: 0.25rem;
}

.tracking-timeline-entry--latest .tracking-timeline-entry__marker {
    background: #1565c0;
    box-shadow: 0 0 0 2px rgba(21, 101, 192, 0.35);
}

.tracking-timeline-entry__content {
    padding: 1rem 1.25rem;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-timeline-entry--latest .tracking-timeline-entry__content {
    background: rgba(21, 101, 192, 0.06);
    border-color: rgba(21, 101, 192, 0.18);
}

.tracking-instruction {
    border-radius: 10px !important;
}

.tracking-detail-table .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
}

.tracking-col-numeric {
    text-align: right;
    white-space: nowrap;
}

.tracking-detail-sidebar {
    position: sticky;
    top: calc(var(--mud-appbar-height, 64px) + 1rem);
}

.tracking-doc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 0.75rem;
}

.tracking-doc-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 1rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: rgba(21, 101, 192, 0.03);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s, transform 0.15s, border-color 0.15s;
    text-align: center;
}

.tracking-doc-card:hover {
    border-color: rgba(21, 101, 192, 0.35);
    box-shadow: 0 4px 12px rgba(21, 101, 192, 0.12);
    transform: translateY(-2px);
    color: #1565c0;
}

.tracking-doc-card__type {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    opacity: 0.7;
}

.tracking-doc-card__label {
    font-weight: 500 !important;
    line-height: 1.2;
}

.tracking-pod-summary__table td {
    padding: 0.35rem 0 !important;
    border: none !important;
    vertical-align: top;
}

.tracking-pod-summary__label {
    width: 42%;
    opacity: 0.72;
    font-size: 0.8rem;
    padding-right: 0.75rem !important;
}

.tracking-pod-view-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    width: 100%;
}

.tracking-timeline .mud-timeline-item-content {
    padding-bottom: 0.5rem;
}

.tracking-event-card {
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    background: rgba(21, 101, 192, 0.02);
    border: 1px solid rgba(21, 101, 192, 0.06);
}

.tracking-event-card--latest {
    border-color: rgba(21, 101, 192, 0.14);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.tracking-event-card.tracking-cat--waybill.tracking-event-card--latest,
.tracking-event-card.tracking-cat--parcel.tracking-event-card--latest,
.tracking-event-card.tracking-cat--linehaul.tracking-event-card--latest,
.tracking-event-card.tracking-cat--delivery.tracking-event-card--latest,
.tracking-event-card.tracking-cat--other.tracking-event-card--latest {
    background: #fff;
}

.tracking-event-title {
    font-weight: 700 !important;
    line-height: 1.35;
}

.tracking-event-when {
    color: #546e7a;
    margin-top: 0.35rem;
}

.tracking-event-pod {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
}

.tracking-detail-skeleton {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

@media (max-width: 1280px) {
    .tracking-detail-sidebar {
        position: static;
    }

    .tracking-fw-layout {
        grid-template-columns: 1fr;
    }

    .tracking-fw-scroll {
        gap: 0.75rem;
    }

    .tracking-scroll-nav--bar {
        position: sticky;
        top: calc(var(--mud-appbar-height, 64px));
    }

    .tracking-scroll-nav:not(.tracking-scroll-nav--bar) {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .tracking-overview-split,
    .tracking-pod-dual,
    .tracking-third-party-split {
        grid-template-columns: 1fr;
    }

    .tracking-fw-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .tracking-sources-columns--split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .tracking-header,
    .tracking-detail-header {
        flex-wrap: wrap;
    }

    .tracking-header__actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .tracking-route-flow {
        grid-template-columns: 1fr;
    }

    .tracking-route-flow__connector {
        flex-direction: row;
        padding: 0.25rem 0;
        min-height: auto;
    }

    .tracking-route-flow__line {
        width: auto;
        height: 2px;
        flex: 1;
        min-height: 0;
        background: linear-gradient(90deg, rgba(21, 101, 192, 0.08), rgba(21, 101, 192, 0.35), rgba(21, 101, 192, 0.08));
    }

    .tracking-detail-hero {
        padding: 1.25rem;
    }

    .tracking-kv-grid {
        grid-template-columns: 1fr;
    }

    .tracking-fw-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tracking-fw-metric__value {
        white-space: normal;
    }

    .tracking-result-card {
        padding: 1rem 1.15rem !important;
    }
}

/* Site master */
.sites-page,
.sites-detail-page {
    padding: 0.25rem 0 2rem;
}

.sites-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.sites-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.sites-header__text {
    flex: 1;
    min-width: 0;
}

.sites-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.sites-header__actions,
.sites-header__back {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.sites-loading {
    border-radius: 4px;
}

.sites-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.08);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.sites-stat-card:hover {
    box-shadow: 0 4px 16px rgba(21, 101, 192, 0.12) !important;
    transform: translateY(-1px);
}

.sites-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.sites-stat-card__icon--total {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.sites-stat-card__icon--active {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.sites-stat-card__icon--inactive {
    background: rgba(96, 125, 139, 0.12);
    color: #607d8b;
}

.sites-stat-card__icon--imported {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.sites-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.sites-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.sites-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.sites-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.sites-result-count {
    white-space: nowrap;
}

.sites-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.sites-filters .mud-chip {
    margin: 0 !important;
}

.sites-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    overflow: hidden;
}

.sites-table-card .mud-table-root {
    border-radius: 16px;
}

.sites-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
    white-space: nowrap;
}

.sites-name {
    font-weight: 600 !important;
}

.sites-col-action {
    width: 56px;
    text-align: center;
}

.sites-empty {
    text-align: center;
}

.sites-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.sites-row {
    cursor: pointer;
}

.sites-row:hover {
    background: rgba(21, 101, 192, 0.04) !important;
}

.sites-section {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.sites-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.sites-section__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sites-section__icon--location {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.sites-section__icon--contact {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.sites-section__title {
    font-weight: 600 !important;
}

.sites-geocode-status {
    padding-top: 0.5rem;
}

.sites-active-toggle {
    border-radius: 12px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: rgba(21, 101, 192, 0.02);
    height: 100%;
    display: flex;
    align-items: center;
}

.sites-actions {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: rgba(21, 101, 192, 0.02);
}

.sites-save-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
}

@media (max-width: 600px) {
    .sites-header {
        flex-wrap: wrap;
    }

    .sites-header__actions,
    .sites-header__back {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .sites-search {
        max-width: 100%;
    }
}

/* Site master — address aliases */
.alias-panel {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.alias-panel__empty-icon {
    opacity: 0.35;
    margin-bottom: 0.5rem;
}

.alias-row-inactive {
    opacity: 0.72;
}

.alias-row-inactive .mud-table-cell {
    background-color: rgba(0, 0, 0, 0.02);
}

.alias-dialog__status {
    border-radius: 8px;
    background: var(--mud-palette-background-grey);
}

/* Rates & pricing */
.rates-page {
    padding: 0.25rem 0 2rem;
}

.rates-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.rates-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #e65100 0%, #ff9800 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(230, 81, 0, 0.35);
}

.rates-header__icon--surcharge {
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.rates-header__text {
    flex: 1;
    min-width: 0;
}

.rates-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.rates-header__action {
    flex-shrink: 0;
    margin-top: 0.25rem;
    text-transform: none !important;
}

.rates-nav {
    border-radius: 14px !important;
    border: 1px solid rgba(230, 81, 0, 0.12);
    background: rgba(230, 81, 0, 0.03);
}

.rates-nav__link {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
}

.rates-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(230, 81, 0, 0.08);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.rates-stat-card:hover {
    box-shadow: 0 4px 16px rgba(230, 81, 0, 0.12) !important;
    transform: translateY(-1px);
}

.rates-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.rates-stat-card__icon--total {
    background: rgba(230, 81, 0, 0.12);
    color: #e65100;
}

.rates-stat-card__icon--active {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.rates-stat-card__icon--hint {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.rates-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.rates-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.rates-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(230, 81, 0, 0.1);
    overflow: hidden;
}

.rates-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(230, 81, 0, 0.04);
    white-space: nowrap;
}

.rates-name {
    font-weight: 600 !important;
}

.rates-col-action {
    width: 56px;
    text-align: center;
}

.rates-empty {
    text-align: center;
}

.rates-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

@media (max-width: 600px) {
    .rates-header {
        flex-wrap: wrap;
    }

    .rates-header__action {
        width: 100%;
    }
}

/* Proof of delivery */
.pod-page,
.pod-detail-page,
.pod-capture-page {
    padding: 0.25rem 0 2rem;
}

.pod-header,
.pod-detail-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.pod-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #7b1fa2 0%, #ab47bc 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(123, 31, 162, 0.35);
}

.pod-header__text {
    flex: 1;
    min-width: 0;
}

.pod-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.pod-header__actions,
.pod-header__back,
.pod-detail-header__action {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.pod-header-btn,
.pod-submit-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
}

.pod-submit-btn {
    box-shadow: 0 4px 14px rgba(123, 31, 162, 0.3);
}

.pod-loading {
    border-radius: 4px;
}

.pod-stat-card,
.pod-detail-stat {
    border-radius: 14px !important;
    border: 1px solid rgba(123, 31, 162, 0.1);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.pod-stat-card:hover {
    box-shadow: 0 4px 16px rgba(123, 31, 162, 0.14) !important;
    transform: translateY(-1px);
}

.pod-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.pod-stat-card__icon--total {
    background: rgba(123, 31, 162, 0.12);
    color: #7b1fa2;
}

.pod-stat-card__icon--signature {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.pod-stat-card__icon--photos {
    background: rgba(2, 136, 209, 0.12);
    color: #0288d1;
}

.pod-stat-card__icon--today {
    background: rgba(245, 124, 0, 0.15);
    color: #f57c00;
}

.pod-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.pod-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.pod-detail-stat__value {
    font-weight: 600 !important;
}

.pod-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(123, 31, 162, 0.12);
}

.pod-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.pod-result-count {
    white-space: nowrap;
}

.pod-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.pod-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(123, 31, 162, 0.12);
    overflow: hidden;
}

.pod-table-card .mud-table-root {
    border-radius: 16px;
}

.pod-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(123, 31, 162, 0.04);
    white-space: nowrap;
}

.pod-waybill-chip {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.pod-receiver-name {
    font-weight: 600;
}

.pod-row {
    cursor: pointer;
}

.pod-row:hover {
    background: rgba(123, 31, 162, 0.04) !important;
}

.pod-col-action {
    width: 48px;
    text-align: center;
}

.pod-zero {
    opacity: 0.45;
}

.pod-empty,
.pod-empty-section {
    text-align: center;
}

.pod-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
    color: #7b1fa2;
}

.pod-detail-header__back {
    margin-top: 0.15rem;
}

.pod-detail-header__text {
    flex: 1;
    min-width: 0;
}

.pod-detail-skeleton {
    border-radius: 16px !important;
    border: 1px solid rgba(123, 31, 162, 0.1);
}

.pod-section {
    border-radius: 16px !important;
    border: 1px solid rgba(123, 31, 162, 0.1);
}

.pod-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.pod-section__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pod-section__icon--details {
    background: rgba(123, 31, 162, 0.12);
    color: #7b1fa2;
}

.pod-section__icon--signature {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.pod-section__icon--photos {
    background: rgba(2, 136, 209, 0.12);
    color: #0288d1;
}

.pod-section__title {
    font-weight: 600 !important;
    letter-spacing: -0.01em;
}

.pod-field__label {
    display: block;
    opacity: 0.72;
    margin-bottom: 0.15rem;
}

.pod-field__value {
    font-weight: 600 !important;
}

.pod-field__value--mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 500 !important;
    font-size: 0.875rem;
}

.pod-notes {
    line-height: 1.5;
    white-space: pre-wrap;
}

.pod-signature-frame {
    border-radius: 12px;
    border: 1px solid rgba(123, 31, 162, 0.15);
    background: #fafafa;
    padding: 1rem;
    text-align: center;
}

.pod-signature-img {
    max-width: 100%;
    max-height: 200px;
    object-fit: contain;
}

.pod-map-card {
    border-radius: 16px !important;
    border: 1px solid rgba(123, 31, 162, 0.1);
    overflow: hidden;
}

.pod-map-card__head {
    border-bottom: 1px solid rgba(123, 31, 162, 0.08);
    background: rgba(123, 31, 162, 0.03);
}

.pod-map {
    border-radius: 0 0 12px 12px;
}

.pod-photo-thumb {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(123, 31, 162, 0.12);
    background: #f5f5f5;
    aspect-ratio: 4 / 3;
}

.pod-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pod-capture-form,
.pod-capture-hint {
    border-radius: 16px !important;
    border: 1px solid rgba(123, 31, 162, 0.1);
}

.pod-waybill-lookup {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-end;
}

.pod-waybill-lookup__field {
    flex: 1 1 220px;
    min-width: 0;
}

.pod-waybill-lookup__button {
    flex-shrink: 0;
    margin-bottom: 4px;
}

.pod-capture-hint {
    background: rgba(123, 31, 162, 0.03);
}

.pod-upload {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 180px;
    padding: 1.5rem;
    border: 2px dashed rgba(123, 31, 162, 0.35);
    border-radius: 14px;
    background: rgba(123, 31, 162, 0.03);
    text-align: center;
    transition: border-color 0.2s, background 0.2s;
    overflow: hidden;
}

.pod-upload:hover {
    border-color: #7b1fa2;
    background: rgba(123, 31, 162, 0.06);
}

.pod-upload--has-file {
    padding: 0;
    min-height: 200px;
}

.pod-upload__icon {
    opacity: 0.5;
    color: #7b1fa2;
}

.pod-upload__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.pod-upload__preview {
    width: 100%;
    height: 100%;
    min-height: 200px;
    object-fit: cover;
    display: block;
}

.pod-alert {
    border-radius: 10px;
}

.pod-capture-actions .mud-button {
    text-transform: none;
    font-weight: 600;
    border-radius: 10px;
}

@media (max-width: 600px) {
    .pod-header,
    .pod-detail-header {
        flex-wrap: wrap;
    }

    .pod-header__actions,
    .pod-header__back,
    .pod-detail-header__action {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .pod-search {
        max-width: 100%;
    }

    .pod-waybill-lookup__field {
        flex: 1 1 100%;
    }

    .pod-waybill-lookup__button {
        width: 100%;
        margin-bottom: 0;
    }
}

/* Linehaul lanes */
.lanes-page {
    padding: 0.25rem 0 2rem;
}

.lanes-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.lanes-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #283593 0%, #5c6bc0 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(40, 53, 147, 0.35);
}

.lanes-header__text {
    flex: 1;
    min-width: 0;
}

.lanes-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.lanes-header__actions {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.lanes-header__rates-btn {
    text-transform: none !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
}

.lanes-loading {
    border-radius: 4px;
}

.lanes-stat-card {
    border-radius: 14px !important;
    border: 1px solid rgba(40, 53, 147, 0.1);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.15s;
}

.lanes-stat-card:hover {
    box-shadow: 0 4px 16px rgba(40, 53, 147, 0.14) !important;
    transform: translateY(-1px);
}

.lanes-stat-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.lanes-stat-card__icon--total {
    background: rgba(40, 53, 147, 0.12);
    color: #283593;
}

.lanes-stat-card__icon--active {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.lanes-stat-card__icon--inactive {
    background: rgba(97, 97, 97, 0.12);
    color: #616161;
}

.lanes-stat-card__icon--distance {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.lanes-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.2;
}

.lanes-stat-card__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.lanes-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(40, 53, 147, 0.12);
}

.lanes-search {
    flex: 1;
    min-width: 220px;
    max-width: 420px;
}

.lanes-result-count {
    white-space: nowrap;
}

.lanes-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lanes-table-card {
    border-radius: 16px !important;
    border: 1px solid rgba(40, 53, 147, 0.12);
    overflow: hidden;
}

.lanes-table-card .mud-table-root {
    border-radius: 16px;
}

.lanes-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(40, 53, 147, 0.04);
    white-space: nowrap;
}

.lanes-code-chip {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.lanes-route {
    flex-wrap: nowrap;
}

.lanes-route-arrow {
    flex-shrink: 0;
}

.lanes-hub-chip {
    font-weight: 600 !important;
}

.lanes-distance {
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums;
}

.lanes-col-action {
    width: 48px;
    text-align: right;
}

.lanes-empty {
    text-align: center;
}

.lanes-empty__icon {
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

@media (max-width: 600px) {
    .lanes-header {
        flex-wrap: wrap;
    }

    .lanes-header__actions {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .lanes-search {
        max-width: 100%;
    }

    .lanes-route {
        flex-wrap: wrap;
    }
}

/* Mobile (handheld admin) */
.mobile-page {
    padding: 0.25rem 0 2rem;
    width: 100%;
    max-width: none;
}

.mobile-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.mobile-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.35);
}

.mobile-header__text {
    flex: 1;
    min-width: 0;
}

.mobile-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.mobile-header__actions,
.mobile-header__back {
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.mobile-search {
    flex: 1 1 280px;
    min-width: 200px;
    max-width: 420px;
}

.mobile-toolbar {
    margin-bottom: 1rem;
}

.mobile-loading {
    border-radius: 4px;
}

.mobile-manifest-actions-col {
    white-space: nowrap;
    width: 1%;
}

.mobile-manifest-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.mobile-manifest-actions__btn {
    min-width: 0;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
}

.mobile-manifest-actions__btn--debrief {
    box-shadow: 0 1px 4px rgba(123, 31, 162, 0.22);
}

@media (max-width: 600px) {
    .mobile-header {
        flex-wrap: wrap;
    }

    .mobile-manifest-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .mobile-manifest-actions__btn {
        width: 100%;
    }

    .mobile-header__actions,
    .mobile-header__back {
        width: 100%;
        justify-content: flex-end;
        margin-left: auto;
    }

    .mobile-search {
        max-width: 100%;
        min-width: 100%;
    }
}

.third-party-processing {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.14);
    background: linear-gradient(135deg, #f8fafc 0%, #eef4fc 55%, #fff 100%);
    overflow: hidden;
}

.third-party-processing__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
}

.third-party-processing__icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
    position: relative;
}

.third-party-processing__icon-ring {
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 2px solid transparent;
    border-top-color: #1565c0;
    border-right-color: rgba(21, 101, 192, 0.35);
    animation: third-party-spin 1.1s linear infinite;
}

@keyframes third-party-spin {
    to {
        transform: rotate(360deg);
    }
}

.third-party-processing__title {
    font-weight: 600 !important;
    color: #1565c0;
}

.third-party-processing__subtitle {
    margin-top: 0.25rem;
    max-width: 36rem;
}

.third-party-processing__bar {
    width: 100%;
    max-width: 28rem;
    border-radius: 999px !important;
}

.third-party-processing__steps {
    width: 100%;
    max-width: 28rem;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.third-party-processing__step {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    transition: background 0.2s ease, opacity 0.2s ease;
}

.third-party-processing__step--pending {
    opacity: 0.42;
}

.third-party-processing__step--active {
    background: rgba(21, 101, 192, 0.08);
    opacity: 1;
}

.third-party-processing__step--done {
    opacity: 0.82;
}

.third-party-processing__step-icon {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.third-party-processing__step-icon--done {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.third-party-processing__step-icon--active {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.third-party-processing__step-icon--pending {
    background: rgba(96, 125, 139, 0.1);
    color: #90a4ae;
}

.third-party-processing__step-label {
    font-weight: 500;
}

.third-party-processing__step--active .third-party-processing__step-label {
    color: #1565c0;
    font-weight: 600;
}

.device-tracking-collapsible-panels {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: transparent !important;
}

.device-tracking-collapsible-panels .mud-expand-panel {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    overflow: hidden;
    background: var(--mud-palette-surface);
}

.device-tracking-collapsible-panel .mud-expand-panel-header {
    padding: 0.75rem 1rem;
    min-height: 3rem;
}

.device-tracking-collapsible-panel__header {
    width: 100%;
    padding: 0.25rem 0.5rem 0.25rem 0;
}

.device-tracking-collapsible-panel__body {
    border-top: 1px solid rgba(21, 101, 192, 0.08);
}

.device-tracking-marker {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #1565c0;
    font-size: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.device-tracking-marker--selected {
    border-color: #e65100;
    background: #fff3e0;
}

.device-tracking-list__item {
    width: 100%;
    cursor: pointer;
}

.device-tracking-list__item--selected {
    background: rgba(21, 101, 192, 0.08);
}

.device-tracking-waypoint {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #1565c0;
    color: #1565c0;
    font-size: 10px;
    font-weight: 700;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

.device-tracking-waypoint--highlight {
    border-color: #e65100;
    background: #fff3e0;
    color: #e65100;
    transform: scale(1.15);
}

.device-tracking-waypoints-panel {
    overflow: hidden;
}

.device-tracking-waypoints-table tbody tr {
    cursor: pointer;
}

.device-tracking-waypoints-table__row--active {
    background: rgba(255, 152, 0, 0.12) !important;
}

.device-tracking-coords {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.8rem;
}

/* Device messages */
.device-messages-compose {
    border-radius: 16px;
    border: 1px solid rgba(21, 101, 192, 0.14);
    background: linear-gradient(135deg, #f8fafc 0%, #eef4fc 55%, #fff 100%);
    padding: 1.25rem 1.5rem 1.5rem;
    overflow: hidden;
}

.device-messages-compose__header {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    margin-bottom: 1.25rem;
}

.device-messages-compose__header-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(21, 101, 192, 0.28);
}

.device-messages-section-label {
    display: block;
    letter-spacing: 0.08em;
    color: rgba(0, 0, 0, 0.54);
    margin-bottom: 0.5rem;
}

.device-messages-preview {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.device-messages-preview__label {
    align-self: flex-start;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.45);
    margin-bottom: 0.5rem;
}

.device-messages-preview__phone {
    width: min(100%, 280px);
    border-radius: 24px;
    border: 2px solid #cfd8dc;
    background: #eceff1;
    padding: 0.75rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65), 0 8px 24px rgba(15, 23, 42, 0.08);
}

.device-messages-preview__status-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.7rem;
    font-weight: 600;
    color: #455a64;
    padding: 0 0.25rem 0.5rem;
}

.device-messages-preview__notification {
    border-radius: 14px;
    background: #fff;
    padding: 0.75rem 0.875rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    opacity: 0.72;
    transition: opacity 0.2s ease, box-shadow 0.2s ease;
}

.device-messages-preview__notification--active {
    opacity: 1;
    box-shadow: 0 4px 14px rgba(21, 101, 192, 0.16);
}

.device-messages-preview__app {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    color: #607d8b;
    margin-bottom: 0.35rem;
}

.device-messages-preview__time {
    margin-left: auto;
}

.device-messages-preview__title {
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
    margin-bottom: 0.2rem;
    word-break: break-word;
}

.device-messages-preview__body {
    font-size: 0.82rem;
    color: #546e7a;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}

.device-messages-preview__recipient {
    margin-top: 0.65rem;
    text-align: center;
    color: rgba(0, 0, 0, 0.54);
}

.device-messages-history {
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    overflow: hidden;
}

.device-messages-history__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.1rem 1.25rem 0.75rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}

.device-messages-history__filters {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.device-messages-status-filters {
    flex: 1 1 auto;
}

.device-messages-summary {
    justify-content: flex-end;
}

.device-messages-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.35rem;
    padding: 3rem 1.5rem 3.5rem;
}

.device-messages-empty__icon {
    color: rgba(21, 101, 192, 0.35);
    margin-bottom: 0.35rem;
}

.device-messages-table tbody tr {
    cursor: pointer;
}

.device-messages-title {
    font-weight: 500;
}

.device-messages-body-preview {
    display: block;
    max-width: 260px;
    color: rgba(0, 0, 0, 0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.device-messages-serial {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
}

.device-messages-detail-preview {
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: linear-gradient(135deg, #f8fafc 0%, #eef4fc 100%);
    padding: 1rem 1.1rem;
}

@media (max-width: 960px) {
    .device-messages-history__header {
        flex-direction: column;
    }

    .device-messages-summary {
        justify-content: flex-start;
    }

    .device-messages-preview {
        margin-top: 0.5rem;
    }
}

.dashboard-metric-card {
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.dashboard-metric-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transform: translateY(-1px);
}

.dashboard-metric-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.dashboard-alert .mud-link {
    font-weight: 600;
}

/* Operations home dashboard */
.home-page {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    max-width: none;
    min-height: calc(100vh - var(--mud-appbar-height, 64px) - 2.5rem);
    padding: 0 0 1.5rem;
    box-sizing: border-box;
}

.home-hero {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.5rem 1.75rem;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 48%, #42a5f5 100%);
    color: #fff;
    box-shadow: 0 10px 32px rgba(21, 101, 192, 0.28);
}

.home-hero__pattern {
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background-image:
        radial-gradient(circle at 20% 80%, #fff 0, transparent 45%),
        radial-gradient(circle at 85% 15%, #fff 0, transparent 40%),
        linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, 0.08) 50%, transparent 60%);
    pointer-events: none;
}

.home-hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.home-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.65rem;
    margin-bottom: 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.home-hero__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #fff !important;
    line-height: 1.2 !important;
}

.home-hero__subtitle {
    margin-top: 0.4rem;
    color: rgba(255, 255, 255, 0.88) !important;
    max-width: 42rem;
    line-height: 1.5;
}

.home-hero__actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.home-hero__refreshed {
    color: rgba(255, 255, 255, 0.75) !important;
}

.home-hero__refresh {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    border-radius: 12px !important;
}

.home-hero__refresh:hover {
    background: rgba(255, 255, 255, 0.24) !important;
}

.home-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.home-section-heading__title {
    font-weight: 700 !important;
    letter-spacing: -0.01em;
    color: #1565c0;
}

.home-section-heading__hint {
    line-height: 1.4;
}

/* Today's snapshot */
.home-snapshot {
    padding: 0;
    border-radius: 18px;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: #fff;
    box-shadow: 0 4px 24px rgba(21, 101, 192, 0.07);
    overflow: hidden;
}

.home-snapshot__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.15rem 1.35rem;
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.04) 0%, rgba(21, 101, 192, 0.01) 100%);
}

.home-snapshot__header-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.home-snapshot__header-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: linear-gradient(135deg, #1565c0 0%, #42a5f5 100%);
    color: #fff;
    box-shadow: 0 4px 12px rgba(21, 101, 192, 0.28);
}

.home-snapshot__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.2 !important;
    color: #1a237e !important;
}

.home-snapshot__subtitle {
    display: block;
    margin-top: 0.2rem;
    line-height: 1.4;
}

.home-snapshot__attention-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #c62828;
    background: rgba(211, 47, 47, 0.08);
    border: 1px solid rgba(211, 47, 47, 0.18);
    white-space: nowrap;
}

.home-snapshot__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
    padding: 1.25rem 1.35rem 1.35rem;
}

.home-snapshot__skeleton {
    border-radius: 16px !important;
}

.home-stat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    width: 100%;
    min-height: 148px;
    padding: 1.1rem 1.15rem 1.15rem;
    border-radius: 16px;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    text-align: left;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    font: inherit;
    color: inherit;
}

.home-stat::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #1565c0, #42a5f5);
    opacity: 0.85;
}

.home-stat:hover {
    transform: translateY(-3px);
    border-color: rgba(21, 101, 192, 0.22);
    box-shadow: 0 12px 28px rgba(21, 101, 192, 0.12);
}

.home-stat:focus-visible {
    outline: 2px solid #1565c0;
    outline-offset: 2px;
}

.home-stat__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0.35rem;
}

.home-stat__icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(21, 101, 192, 0.1);
    color: #1565c0;
}

.home-stat__open {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: rgba(21, 101, 192, 0.55);
    transition: color 0.15s, transform 0.15s;
}

.home-stat:hover .home-stat__open {
    color: #1565c0;
}

.home-stat:hover .home-stat__open .mud-icon-root {
    transform: translateX(2px);
}

.home-stat__value {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: #1a237e;
    font-variant-numeric: tabular-nums;
}

.home-stat__label {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.25;
    color: #37474f;
}

.home-stat__desc {
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgba(0, 0, 0, 0.5);
    margin-top: auto;
    padding-top: 0.35rem;
}

.home-stat--transit::before {
    background: linear-gradient(90deg, #0277bd, #4fc3f7);
}

.home-stat--transit .home-stat__icon {
    background: rgba(2, 119, 189, 0.12);
    color: #0277bd;
}

.home-stat--due::before {
    background: linear-gradient(90deg, #1565c0, #64b5f6);
}

.home-stat--due .home-stat__icon {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.home-stat--warning::before,
.home-stat--late::before {
    background: linear-gradient(90deg, #c62828, #ef5350);
}

.home-stat--warning .home-stat__icon,
.home-stat--late .home-stat__icon {
    background: rgba(211, 47, 47, 0.12);
    color: #c62828;
}

.home-stat--late {
    border-color: rgba(211, 47, 47, 0.18);
    background: linear-gradient(165deg, #fff 0%, #fff5f5 100%);
}

.home-stat--late .home-stat__value {
    color: #b71c1c;
}

.home-stat--pod::before {
    background: linear-gradient(90deg, #2e7d32, #66bb6a);
}

.home-stat--pod .home-stat__icon {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.home-stat--fleet::before {
    background: linear-gradient(90deg, #00838f, #4dd0e1);
}

.home-stat--fleet .home-stat__icon {
    background: rgba(0, 151, 167, 0.12);
    color: #00838f;
}

.home-stat--alert {
    border-color: rgba(237, 108, 2, 0.2);
    background: linear-gradient(165deg, #fff 0%, #fffaf3 100%);
}

.home-stat--alert::before {
    background: linear-gradient(90deg, #e65100, #ffb74d);
}

.home-stat--alert .home-stat__icon {
    background: rgba(237, 108, 2, 0.14);
    color: #e65100;
}

.home-stat--alert .home-stat__value {
    color: #e65100;
}

.home-empty-alert {
    border-radius: 14px !important;
}

@media (min-width: 1200px) {
    .home-snapshot__grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    }
}

@media (min-width: 1920px) {
    .laser-main__inner:has(> .home-page) {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .home-snapshot__grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 1.1rem;
    }
}

@media (max-width: 768px) {
    .home-hero {
        flex-direction: column;
        padding: 1.25rem 1.15rem;
    }

    .home-hero__actions {
        flex-direction: row;
        align-items: center;
        width: 100%;
        justify-content: space-between;
    }

    .home-snapshot__grid {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .home-snapshot__header {
        padding: 1rem;
    }

    .home-stat__value {
        font-size: 1.75rem;
    }
}

/* Financial dashboard */
.financial-dashboard-page .fd-period-label {
    color: #64748b;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.financial-dashboard-page .fd-kpi-section-title {
    display: block;
    margin: 0 0 0.5rem 0.1rem;
}

.financial-dashboard-page .fd-sync-panel {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.15rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    height: 100%;
}

.financial-dashboard-page .fd-sync-panel--ready {
    border-color: rgba(5, 150, 105, 0.2);
    background: linear-gradient(180deg, #f0fdf4 0%, #fff 100%);
}

.financial-dashboard-page .fd-sync-panel--missing {
    border-color: rgba(245, 158, 11, 0.35);
    background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
}

.financial-dashboard-page .fd-sync-panel__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 12px;
    flex-shrink: 0;
}

.financial-dashboard-page .fd-sync-panel--ready .fd-sync-panel__icon {
    background: rgba(5, 150, 105, 0.12);
    color: #059669;
}

.financial-dashboard-page .fd-sync-panel--missing .fd-sync-panel__icon {
    background: rgba(245, 158, 11, 0.15);
    color: #d97706;
}

.financial-dashboard-page .fd-sync-panel__title {
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

.financial-dashboard-page .fd-sync-panel__hint {
    color: #92400e;
    line-height: 1.45;
}

.financial-dashboard-page .fd-empty-state__icon-wrap {
    background: #fef3c7;
    color: #d97706;
}

.financial-dashboard-page .fd-empty-state__body {
    max-width: 36rem;
    margin: 0 auto;
    line-height: 1.55;
}

.financial-dashboard-page .fd-results-panel {
    padding: 1.35rem 1.5rem;
}

.financial-dashboard-page .fd-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.85rem;
}

.financial-dashboard-page .fd-kpi-card {
    padding: 1rem 1.1rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.financial-dashboard-page .fd-kpi-card:hover {
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07);
    transform: translateY(-1px);
}

.financial-dashboard-page .fd-kpi-card__label {
    display: block;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.65rem;
}

.financial-dashboard-page .fd-kpi-card__values {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 0.65rem;
}

.financial-dashboard-page .fd-kpi-card__period {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.financial-dashboard-page .fd-kpi-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    border-radius: 6px;
    background: #2563eb;
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 700;
}

.financial-dashboard-page .fd-kpi-card__badge--b {
    background: #64748b;
}

.financial-dashboard-page .fd-kpi-card__amount {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.financial-dashboard-page .fd-kpi-card__amount--secondary {
    font-weight: 600 !important;
    color: #64748b;
}

.financial-dashboard-page .fd-kpi-card__change {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
}

.financial-dashboard-page .fd-kpi-card__change--up {
    color: #059669;
    background: rgba(5, 150, 105, 0.1);
}

.financial-dashboard-page .fd-kpi-card__change--down {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.08);
}

.financial-dashboard-page .fd-kpi-card__change--flat {
    color: #64748b;
    background: #f1f5f9;
}

.financial-dashboard-page .fd-kpi-card__pct {
    opacity: 0.85;
}

.financial-dashboard-page .fd-breakdown-search {
    max-width: 320px;
}

.financial-dashboard-page .fd-clickable-table tbody tr {
    cursor: pointer;
}

.financial-dashboard-page .fd-breakdown-panels .mud-expand-panel {
    border-radius: 14px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    margin-bottom: 0.65rem;
    overflow: hidden;
}

.financial-dashboard-page .fd-breakdown-panel__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.financial-dashboard-page .fd-match-badge {
    background: #fef3c7;
    border-color: rgba(217, 119, 6, 0.2);
    color: #b45309;
}

.reports-page .fd-progress-panel {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(25, 118, 210, 0.06) 0%, rgba(25, 118, 210, 0.02) 100%);
}

.reports-page .fd-progress-panel__text {
    flex: 1;
    min-width: 0;
}

.reports-page .fd-progress-panel__message {
    word-break: break-word;
}

.reports-page .fd-progress-panel__meta {
    display: block;
    margin-top: 0.15rem;
}

.reports-page .fd-progress-panel__stage {
    font-weight: 600;
    color: var(--mud-palette-primary);
}

.reports-page .fd-progress-panel__explain {
    display: block;
    margin-top: 0.25rem;
    line-height: 1.35;
    opacity: 0.9;
}

.reports-page .fd-progress-panel__bar {
    height: 8px;
}

.reports-page .fd-progress-spinner {
    flex-shrink: 0;
}

.financial-dashboard-page .fd-kpi-card--unreliable {
    border-color: rgba(245, 158, 11, 0.45);
    background: linear-gradient(180deg, rgba(255, 251, 235, 0.9), #fff);
}

.financial-dashboard-page .fd-quality-list {
    margin: 0;
    padding-left: 1.15rem;
}

.financial-dashboard-page .fd-quality-list li + li {
    margin-top: 0.35rem;
}

.fd-completion-banner,
.process-completion-banner {
    position: fixed;
    left: 50%;
    bottom: 1.5rem;
    transform: translateX(-50%);
    z-index: 1400;
    width: min(640px, calc(100vw - 2rem));
}

.fd-completion-banner__alert,
.process-completion-banner__alert {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.process-completion-banner .mud-alert + .mud-alert {
    margin-top: 0.5rem;
}

@media (max-width: 960px) {
    .financial-dashboard-page .fd-kpi-grid {
        grid-template-columns: 1fr;
    }
}

/* Admin / Address audit log detail */
.audit-log-table .audit-entity-id {
    word-break: break-all;
}

.audit-log-table .audit-detail-cell {
    background: rgba(21, 101, 192, 0.04);
}

.audit-json {
    margin: 0;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.75rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 240px;
    overflow: auto;
    color: rgba(0, 0, 0, 0.7);
}

/* CEO Dashboard */
.ceo-dashboard-page .ceo-ops-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.ceo-dashboard-page .ceo-ops-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    text-align: left;
    padding: 0.9rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.ceo-dashboard-page .ceo-ops-card:hover {
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.ceo-dashboard-page .ceo-ops-card__icon {
    color: #1565C0;
}

.ceo-dashboard-page .ceo-ops-card__value {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    color: #0f172a;
}

.ceo-dashboard-page .ceo-ops-card__label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #475569;
}

.ceo-dashboard-page .ceo-ops-card__open {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #1565C0;
}

.ceo-dashboard-page .ceo-ops-card--late {
    border-left: 3px solid #f59e0b;
}

.ceo-dashboard-page .ceo-ops-card--alert {
    border-left: 3px solid #ef4444;
}

.ceo-dashboard-page .ceo-ops-card--pod,
.ceo-dashboard-page .ceo-ops-card--transit,
.ceo-dashboard-page .ceo-ops-card--fleet {
    border-left: 3px solid #1565C0;
}

@media (max-width: 1100px) {
    .ceo-dashboard-page .ceo-ops-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .ceo-dashboard-page .ceo-ops-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}



.final-costing-collapsible-panels,
.profitability-collapsible-panels {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: transparent !important;
}

.final-costing-collapsible-panels .mud-expand-panel,
.profitability-collapsible-panels .mud-expand-panel {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    overflow: hidden;
    background: rgba(21, 101, 192, 0.02);
}

.final-costing-collapsible-panels .mud-expand-panel-header,
.profitability-collapsible-panels .mud-expand-panel-header {
    padding: 0.75rem 1rem;
    min-height: 3rem;
}

.final-costing-collapsible-panels .mud-expand-panel-content,
.profitability-collapsible-panels .mud-expand-panel-content {
    padding: 0 1rem 1rem;
}

.final-costing-rate-matrix {
    overflow-x: auto;
}

.final-costing-rate-matrix table {
    border-collapse: collapse;
    min-width: 760px;
    width: 100%;
}

.final-costing-rate-matrix th,
.final-costing-rate-matrix td {
    padding: 0.2rem 0.3rem;
    text-align: right;
    vertical-align: middle;
}

.final-costing-rate-matrix th:first-child,
.final-costing-rate-matrix td:first-child {
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}

.final-costing-fuel-title {
    color: #0d47a1;
    font-weight: 700 !important;
}

.final-costing-fuel-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.14);
    background: #fff;
}

.final-costing-fuel-table .mud-table-head .mud-table-cell {
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff !important;
    background: #1565c0;
    white-space: nowrap;
    padding: 0.6rem 0.75rem;
}

.final-costing-fuel-table .mud-table-body .mud-table-cell {
    font-variant-numeric: tabular-nums;
    font-size: 0.8125rem;
    padding: 0.55rem 0.75rem;
    vertical-align: top;
}

.final-costing-fuel-table .mud-table-body .mud-table-row:hover {
    background: rgba(21, 101, 192, 0.05) !important;
}

.final-costing-fuel-num {
    text-align: right !important;
    white-space: nowrap;
}

.final-costing-fuel-month {
    display: block;
    font-weight: 700;
    color: #0d47a1;
}

.final-costing-fuel-period {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.7rem;
    color: #64748b;
}

.final-costing-fuel-surcharge {
    font-weight: 700;
    color: #1565c0;
    border-bottom: 1px dotted rgba(21, 101, 192, 0.45);
    cursor: help;
}

.final-costing-fuel-up {
    color: #c62828;
    font-weight: 600;
}

.final-costing-fuel-down {
    color: #2e7d32;
    font-weight: 600;
}

.final-costing-fuel-flat {
    color: #64748b;
}

.final-costing-fuel-opening {
    background: rgba(21, 101, 192, 0.07) !important;
}

.final-costing-fuel-actions {
    white-space: nowrap;
    width: 88px;
    text-align: right !important;
}

.tracking-toolbar {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    padding: 1.35rem 1.5rem !important;
}

.tracking-toolbar > .mud-grid {
    row-gap: 1.1rem;
}

.tracking-toolbar__title {
    font-weight: 600 !important;
    display: flex;
    align-items: center;
    color: #1565c0;
    margin-bottom: 1.1rem !important;
}

.tracking-toolbar__divider {
    margin: 1.15rem 0 1rem !important;
    opacity: 0.55;
}

.tracking-toolbar__actions {
    padding-top: 0.15rem;
}

.tracking-more-filters {
    margin-top: 0.85rem !important;
}

.tracking-more-filters .mud-grid {
    row-gap: 1rem;
    padding-top: 0.35rem !important;
}

.tracking-more-filters__panel {
    border-radius: 12px !important;
    border: 1px solid rgba(21, 101, 192, 0.08);
    background: rgba(21, 101, 192, 0.02);
}

.tracking-searching {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: rgba(21, 101, 192, 0.03);
}

.tracking-active-filters {
    gap: 0.5rem 0.65rem !important;
}

.tracking-active-filters .mud-chip {
    border-radius: 8px !important;
}

.tracking-stats {
    margin: 0 !important;
}

.tracking-stat-card,
.tracking-detail-stat {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    height: 100%;
    padding: 1.05rem 1.2rem !important;
    transition: box-shadow 0.2s, transform 0.15s;
}

.tracking-stat-card:hover,
.tracking-detail-stat:hover {
    box-shadow: 0 4px 16px rgba(21, 101, 192, 0.14) !important;
    transform: translateY(-1px);
}

.tracking-stat-card__icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.65rem;
}

.tracking-stat-card__icon--total {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-stat-card__icon--transit {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.tracking-stat-card__icon--delivered {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-stat-card__icon--pod {
    background: rgba(123, 31, 162, 0.12);
    color: #7b1fa2;
}

.tracking-stat-card__label {
    display: block;
    opacity: 0.72;
    line-height: 1.35;
    margin-bottom: 0.2rem;
}

.tracking-stat-card__value,
.tracking-detail-stat__value {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin-top: 0.1rem;
}

.tracking-results-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1.25rem;
    padding: 1.15rem 1.5rem !important;
}

.tracking-results-bar__title {
    font-weight: 600 !important;
}

.tracking-results-bar__hint {
    width: 100%;
    margin-top: 0.2rem;
    line-height: 1.45;
}

.tracking-table-card .mud-table-head .mud-table-cell,
.tracking-table-card .mud-table-body .mud-table-cell {
    padding: 0.72rem 1.1rem !important;
}

.tracking-table-pagination {
    display: flex;
    justify-content: center;
    padding: 1.1rem 1.5rem 1.25rem;
    border-top: 1px solid rgba(21, 101, 192, 0.08);
    background: rgba(248, 250, 252, 0.5);
}

.tracking-table-card,
.tracking-timeline-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    overflow: hidden;
}

.tracking-table-card .mud-table-root {
    border-radius: 0 0 16px 16px;
}

.tracking-table-card .mud-table-head .mud-table-cell {
    font-weight: 600;
    background: rgba(21, 101, 192, 0.04);
    white-space: nowrap;
}

.tracking-row--clickable {
    cursor: pointer;
}

.tracking-row--clickable:hover .tracking-row-chevron {
    color: #1565c0;
    transform: translateX(2px);
}

.tracking-row-chevron {
    opacity: 0.45;
    transition: transform 0.15s, opacity 0.15s, color 0.15s;
}

.tracking-cell-secondary {
    opacity: 0.85;
}

.tracking-pod-missing {
    opacity: 0.25;
}

.tracking-waybill-chip {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-consignee-name {
    font-weight: 600 !important;
}

.tracking-empty {
    text-align: center;
    padding: 2.75rem 1.75rem !important;
}

.tracking-empty > .mud-typography-h6 {
    margin-bottom: 0.45rem;
}

.tracking-empty > .mud-typography-body2 {
    line-height: 1.55;
}

.tracking-empty__icon,
.tracking-welcome__icon {
    opacity: 0.35;
    margin-bottom: 1rem;
    color: #1565c0;
}

.tracking-welcome {
    text-align: center;
    padding: 2.5rem 1.75rem !important;
    border-radius: 16px !important;
    border: 1px dashed rgba(21, 101, 192, 0.25);
    background: rgba(21, 101, 192, 0.03);
}

.tracking-welcome__inner {
    max-width: 520px;
    margin: 0 auto;
}

.tracking-welcome__inner > .mud-typography-h6 {
    margin-bottom: 0.5rem;
}

.tracking-welcome__inner > .mud-typography-body2 {
    margin-bottom: 1.25rem !important;
    line-height: 1.55;
}

.tracking-results-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
}

.tracking-results-header__title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.tracking-result-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tracking-result-card {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.12);
    padding: 1.25rem 1.5rem !important;
    cursor: pointer;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.15s;
}

.tracking-result-card:hover {
    border-color: rgba(21, 101, 192, 0.35) !important;
    box-shadow: 0 8px 24px rgba(21, 101, 192, 0.12) !important;
    transform: translateY(-2px);
}

.tracking-result-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.tracking-result-card__waybill {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-result-card__status {
    flex-shrink: 0;
    font-weight: 600 !important;
}

.tracking-result-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.tracking-result-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-result-card__action {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 600 !important;
    margin-left: auto;
}

.tracking-kv {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.tracking-kv__label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #546e7a;
}

.tracking-kv__value {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #263238;
    line-height: 1.4;
}

.tracking-kv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem 1.5rem;
}

.tracking-kv--wide {
    grid-column: 1 / -1;
}

/* Tracking detail */
.tracking-detail-hero {
    padding: 1.15rem 1.35rem;
    border-radius: 14px;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: linear-gradient(135deg, rgba(21, 101, 192, 0.04) 0%, rgba(66, 165, 245, 0.03) 50%, #fff 100%);
    box-shadow: 0 2px 8px rgba(21, 101, 192, 0.05);
}

.tracking-detail-header__back {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.tracking-detail-header__text {
    flex: 1;
    min-width: 0;
}

.tracking-detail-hero__waybill {
    font-weight: 700 !important;
    letter-spacing: -0.03em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-route-flow {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(227, 242, 253, 0.55) 100%);
    border: 1px solid rgba(21, 101, 192, 0.12);
}

.tracking-route-card {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
    min-width: 0;
    padding: 1rem 1.125rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(21, 101, 192, 0.1);
    box-shadow: 0 1px 3px rgba(21, 101, 192, 0.06);
}

.tracking-route-card--origin {
    border-left: 4px solid #fb8c00;
}

.tracking-route-card--dest {
    border-left: 4px solid #2e7d32;
}

.tracking-route-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tracking-route-card--origin .tracking-route-card__icon {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.tracking-route-card--dest .tracking-route-card__icon {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-route-card__body {
    min-width: 0;
    flex: 1;
}

.tracking-route-card__location {
    display: block;
    color: #546e7a !important;
    margin-top: 0.2rem;
}

.tracking-route-card__site {
    display: block;
    color: #546e7a !important;
    margin-top: 0.15rem;
}

.tracking-route-card__station {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600 !important;
}

.tracking-route-flow__label {
    display: block;
    color: #546e7a !important;
    letter-spacing: 0.06em;
    margin-bottom: 0.35rem;
}

.tracking-route-flow__name {
    font-weight: 700 !important;
    line-height: 1.35;
    word-break: break-word;
}

.tracking-route-flow__connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0 0.25rem;
    min-width: 48px;
}

.tracking-route-flow__line {
    display: block;
    width: 2px;
    flex: 1;
    min-height: 12px;
    background: linear-gradient(180deg, rgba(21, 101, 192, 0.08), rgba(21, 101, 192, 0.35), rgba(21, 101, 192, 0.08));
    border-radius: 2px;
}

.tracking-route-flow__vehicle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(21, 101, 192, 0.1);
    color: #1565c0;
}

.tracking-party-name {
    font-weight: 600 !important;
    line-height: 1.4;
}

.tracking-party-card {
    border-radius: 16px !important;
    overflow: hidden;
    height: 100%;
}

.tracking-party-card--origin {
    border: 1px solid rgba(251, 140, 0, 0.2);
}

.tracking-party-card--dest {
    border: 1px solid rgba(46, 125, 50, 0.2);
}

.tracking-party-card--third {
    border: 1px solid rgba(94, 53, 177, 0.22);
    max-width: 720px;
}

.tracking-party-card__header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem 0.75rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(255, 255, 255, 0) 100%);
    border-bottom: 1px solid rgba(21, 101, 192, 0.06);
}

.tracking-party-card--origin .tracking-party-card__header {
    background: linear-gradient(180deg, rgba(251, 140, 0, 0.06) 0%, rgba(255, 255, 255, 0) 100%);
}

.tracking-party-card--dest .tracking-party-card__header {
    background: linear-gradient(180deg, rgba(46, 125, 50, 0.06) 0%, rgba(255, 255, 255, 0) 100%);
}

.tracking-party-card--third .tracking-party-card__header {
    background: linear-gradient(180deg, rgba(94, 53, 177, 0.07) 0%, rgba(255, 255, 255, 0) 100%);
}

.tracking-party-card__title {
    flex: 1;
    min-width: 0;
}

.tracking-party-card__role {
    display: block;
    color: #546e7a !important;
    letter-spacing: 0.06em;
    margin-bottom: 0.25rem;
}

.tracking-party-card__site {
    color: #546e7a !important;
    margin-top: 0.15rem;
}

.tracking-party-card__station {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600 !important;
    flex-shrink: 0;
}

.tracking-party-card__content {
    padding: 0.75rem 1rem 1rem;
}

.tracking-party-card__address {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-style: normal;
    line-height: 1.6;
    color: #455a64;
    margin-bottom: 1rem;
}

.tracking-party-card__address-line {
    display: block;
}

.tracking-party-card__contact {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    color: #37474f;
}

.tracking-party-card__contact-icon {
    color: #90a4ae;
    flex-shrink: 0;
}

.tracking-party-card__phone {
    color: #1565c0;
    text-decoration: none;
}

.tracking-party-card__phone:hover {
    text-decoration: underline;
}

.tracking-party-card__instruction {
    margin-top: 1rem !important;
    border-radius: 10px !important;
}

.tracking-line-items-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 2rem;
    margin-bottom: 0;
    padding: 0.75rem 0.875rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid rgba(21, 101, 192, 0.06);
}

.tracking-line-items-summary__stat {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.tracking-line-items-summary__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #546e7a;
}

.tracking-line-items-summary__value {
    font-size: 1.05rem;
    font-weight: 700;
    color: #263238;
    font-variant-numeric: tabular-nums;
}

.tracking-line-items-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.1);
}

.tracking-line-items-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.tracking-line-items-table th,
.tracking-line-items-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-line-items-table th {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #546e7a;
    background: #f8fafc;
    white-space: nowrap;
}

.tracking-line-items-table tbody tr:last-child td {
    border-bottom: none;
}

.tracking-line-items-table tbody tr:hover {
    background: rgba(21, 101, 192, 0.03);
}

.tracking-line-items-table__num {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tracking-line-items-table__line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 0.4rem;
    border-radius: 6px;
    background: rgba(21, 101, 192, 0.1);
    color: #1565c0;
    font-weight: 700;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.tracking-line-items-table__code {
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
    color: #1565c0;
}

.tracking-line-items-table__category {
    display: block;
    font-size: 0.8125rem;
    color: #546e7a;
    margin-top: 0.1rem;
}

.tracking-line-items-table__desc {
    min-width: 10rem;
    max-width: 22rem;
    word-break: break-word;
}

.tracking-third-party-table th:first-child,
.tracking-third-party-table td.tracking-third-party-table__date {
    width: 9.5rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #546e7a;
}

.tracking-third-party-table td:last-child {
    color: #263238;
}

.tracking-third-party-table__hub {
    width: 5rem;
    white-space: nowrap;
    font-weight: 600;
    color: #5e35b1;
}

.tracking-fw-third-party-section {
    border-radius: 16px !important;
    border: 1px solid rgba(94, 53, 177, 0.22);
    background: linear-gradient(180deg, rgba(94, 53, 177, 0.05) 0%, #fff 2.5rem);
    overflow: hidden;
}

.tracking-fw-third-party-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(94, 53, 177, 0.12);
    background: rgba(94, 53, 177, 0.04);
}

.tracking-fw-third-party-section__title {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.tracking-fw-third-party-section__icon {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.tracking-fw-third-party-section__heading {
    font-weight: 700 !important;
    color: #4527a0;
}

.tracking-fw-third-party-section__body {
    padding: 1rem 1.25rem 1.25rem;
}

.tracking-fw-third-party-events {
    border-color: rgba(94, 53, 177, 0.14) !important;
}

.tracking-third-party-pod {
    display: grid;
    gap: 0.5rem;
}

.tracking-third-party-pod__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    align-items: baseline;
    font-size: 0.9375rem;
    line-height: 1.45;
}

.tracking-third-party-pod__label {
    color: #546e7a;
    font-weight: 500;
}

.tracking-third-party-pod__value {
    color: #263238;
    font-weight: 600;
}

.tracking-third-party-pod__link {
    font-weight: 500;
    word-break: break-all;
}

.tracking-detail-section {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    height: 100%;
}

.tracking-detail-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.tracking-detail-section__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tracking-detail-section__icon--collection {
    background: rgba(251, 140, 0, 0.12);
    color: #fb8c00;
}

.tracking-detail-section__icon--delivery {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-detail-section__icon--notes {
    background: rgba(96, 125, 139, 0.12);
    color: #607d8b;
}

.tracking-detail-section__icon--refs {
    background: rgba(0, 151, 167, 0.12);
    color: #0097a7;
}

.tracking-detail-section__icon--parcels {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-detail-section__icon--items {
    background: rgba(63, 81, 181, 0.12);
    color: #3f51b5;
}

.tracking-detail-section__icon--docs {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.tracking-detail-section__icon--timeline {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
}

.tracking-detail-section__icon--third {
    background: rgba(94, 53, 177, 0.12);
    color: #5e35b1;
}

.tracking-detail-section__title {
    font-weight: 600 !important;
    letter-spacing: -0.01em;
}

.tracking-detail-section__code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
    color: #1565c0;
}

.tracking-detail-address {
    line-height: 1.65;
    color: #455a64;
}

.tracking-tabs-shell {
    border-radius: 16px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: #fff;
    overflow: hidden;
}

.tracking-main-tabs-shell {
    border-radius: 14px !important;
    border: 1px solid rgba(21, 101, 192, 0.1);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.tracking-main-tabs .mud-tabs-toolbar {
    background: #f8fafc;
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
    padding: 0.25rem 0.65rem 0;
    min-height: 42px;
}

.tracking-main-tabs .mud-tab.mud-tab-active {
    font-weight: 700 !important;
}

.tracking-tabs-shell--nested {
    margin-top: 0.75rem;
    border: none;
    border-radius: 12px !important;
    background: #f8fafc;
}

.tracking-tabs {
    background: transparent !important;
}

.tracking-tabs .mud-tabs-toolbar {
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
    padding: 0.25rem 0.5rem 0;
}

.tracking-tabs .mud-tab.mud-tab-active {
    font-weight: 700 !important;
}

.tracking-tab-panel {
    padding: 1rem 1rem 1.25rem !important;
    background: transparent !important;
}

.tracking-fw-page .tracking-fw-metric {
    height: 100%;
}

.tracking-fw-page .tracking-detail-section {
    height: 100%;
    border-radius: 12px !important;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff;
}

.tracking-fw-details-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-top: 0.25rem;
}

@media (min-width: 1400px) {
    .tracking-fw-details-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    }
}

.tracking-parcel-chip {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
}

.tracking-item-row {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(21, 101, 192, 0.08);
}

.tracking-item-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.tracking-doc-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tracking-doc-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    border: 1px solid rgba(21, 101, 192, 0.12);
    background: #f8fafc;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, background 0.15s;
}

.tracking-doc-row:hover {
    border-color: rgba(21, 101, 192, 0.35);
    background: #fff;
    color: #1565c0;
}

.tracking-doc-row__icon {
    color: #1565c0;
    flex-shrink: 0;
}

.tracking-doc-row__text {
    flex: 1;
    min-width: 0;
}

.tracking-doc-row__open {
    opacity: 0.45;
    flex-shrink: 0;
}


/* H_Costing workbook */
.h-costing-sr-file {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.h-costing-page {
    position: relative;
    min-height: 70vh;
}

.last-client-cost-page {
    position: relative;
    min-height: 70vh;
}

.last-client-cost-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem 0;
    margin-top: 1.25rem;
    padding: 0 0.5rem;
}

.last-client-cost-step {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 600;
}

.last-client-cost-step.is-active {
    background: #dbeafe;
    color: #1d4ed8;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.25);
}

.last-client-cost-step.is-complete {
    background: #dcfce7;
    color: #15803d;
}

.last-client-cost-step__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    font-size: 0.75rem;
    font-weight: 700;
}

.last-client-cost-step__connector {
    width: 2rem;
    height: 2px;
    background: #cbd5e1;
    margin: 0 0.15rem;
}

.last-client-cost-step__connector.is-complete {
    background: #86efac;
}

.last-client-cost-path-hint {
    border-radius: 12px;
    background: #f8fafc;
    border: 1px dashed rgba(0, 123, 255, 0.35);
}

.last-client-cost-path-hint code {
    font-size: 0.85rem;
    word-break: break-all;
}

.last-client-cost-statusbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2100;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
    border-top: 1px solid rgba(0, 123, 255, 0.25);
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.12);
}

.last-client-cost-statusbar__text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.last-client-cost-statusbar__text strong {
    color: #1d4ed8;
    font-size: 0.85rem;
}

.last-client-cost-statusbar__text span {
    color: #475569;
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.last-client-cost-busy-panel {
    min-width: min(28rem, 92vw);
}

.last-client-cost-busy-step {
    color: #334155;
    text-align: center;
    max-width: 24rem;
}

.last-client-cost-busy-bar {
    width: 100%;
    max-width: 20rem;
    border-radius: 999px;
}

.last-client-cost-inline-status {
    border-radius: 12px;
    background: #eef6ff;
    border: 1px solid rgba(0, 123, 255, 0.15);
    padding: 0.75rem 1rem;
}

.lcc-master-workbook {
    padding-bottom: 0 !important;
}

.lcc-master-workbook__intro {
    padding-bottom: 0.25rem;
}

.lcc-master-workbook__body {
    min-height: 280px;
}

.lcc-master-workbook .h-costing-sheetbar--excel.lcc-master-sheetbar--top {
    margin: 0.5rem -1.25rem 0;
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom: 1px solid #c5c5c5;
    border-radius: 0;
}

@media (min-width: 960px) {
    .lcc-master-workbook .h-costing-sheetbar--excel.lcc-master-sheetbar--top {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }
}

.h-costing-sheetbar--excel .h-costing-sheet-tab.is-report:not(.is-active) {
    border-top: 2px solid rgba(13, 148, 136, 0.35);
}

.h-costing-sheetbar--excel .h-costing-sheet-tab.is-tariff:not(.is-active) {
    border-top: 2px solid rgba(13, 148, 136, 0.35);
}

.h-costing-sheetbar--excel .h-costing-sheet-tab.is-workbook:not(.is-active) {
    opacity: 0.82;
    font-style: normal;
    color: #64748b;
}

.lcc-master-sheet__canvas {
    background: #fff;
    border: 1px solid #c5c5c5;
    min-height: 240px;
}

.lcc-master-sheet__canvas--form {
    padding: 1rem 1.1rem 1.15rem;
}

.lcc-master-sheet__table-wrap {
    max-height: min(62vh, 720px);
    min-height: 160px;
    overflow: auto;
}

.lcc-master-sheet__table-wrap .mud-table-root {
    border-collapse: collapse;
}

.lcc-master-sheet__table-wrap .mud-table-head .mud-table-cell {
    background: #f3f6fb;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}

.lcc-master-sheet__table-wrap .mud-table-body .mud-table-row:nth-child(even) .mud-table-cell {
    background: #f8fafc;
}

.lcc-master-sheet__table-wrap .mud-table-body .mud-table-row:hover .mud-table-cell {
    background: #eef6ff;
}

.lcc-master-sheet__table-wrap .mud-table-cell {
    font-size: 0.78rem;
    border-bottom: 1px solid #e2e8f0;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.lcc-master-sheet__grid {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}

.lcc-master-sheet__grid th,
.lcc-master-sheet__grid td {
    border: 1px solid rgba(148, 163, 184, 0.35);
    padding: 0.35rem 0.5rem;
    white-space: nowrap;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lcc-master-sheet__grid th {
    background: #f8fafc;
    font-weight: 600;
}

.lcc-master-sheet__grid tbody tr:nth-child(even) {
    background: #f8fafc;
}

.lcc-master-sheet__cell.is-selected {
    outline: 2px solid #1976d2;
    outline-offset: -2px;
    background: #e3f2fd;
}

.lcc-master-sheet__cell.is-edit {
    padding: 0;
}

.lcc-master-sheet__input {
    width: 100%;
    min-width: 80px;
    border: none;
    padding: 0.35rem 0.5rem;
    font: inherit;
    background: #fff;
    box-sizing: border-box;
}

.lcc-master-sheet__select {
    min-width: 140px;
    cursor: pointer;
    appearance: auto;
}

.lcc-master-sheet__cell.is-combo {
    padding: 0;
}

.lcc-master-sheet__canvas--editable .lcc-master-sheet__grid td.lcc-master-sheet__cell {
    cursor: cell;
}

.lcc-master-sheet__pager {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.85rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.78rem;
    color: #64748b;
}

.lcc-master-sheet__placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 260px;
    padding: 2rem 1.5rem;
    text-align: center;
    background:
        linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}

.lcc-master-sheet__placeholder-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(100, 116, 139, 0.1);
    color: #64748b;
}

.lcc-master-sheet__placeholder-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.lcc-master-sheet__placeholder-copy {
    max-width: 34rem;
    margin: 0;
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.55;
}

.lcc-master-sheet__tariff-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.15rem;
}

.lcc-master-sheet__tariff-link {
    border: 1px solid rgba(13, 148, 136, 0.25);
    background: rgba(13, 148, 136, 0.08);
    color: #0f766e;
    border-radius: 999px;
    padding: 0.28rem 0.7rem;
    font-size: 0.74rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.lcc-master-sheet__tariff-link:hover {
    background: rgba(13, 148, 136, 0.14);
    border-color: rgba(13, 148, 136, 0.4);
}

.lcc-master-sheet__download-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.35rem;
    padding: 0.45rem 0.75rem;
    border-radius: 10px;
    background: #eef6ff;
    border: 1px solid rgba(0, 123, 255, 0.15);
    color: #0369a1;
    font-size: 0.78rem;
    font-weight: 600;
}

.lcc-master-sheet__toolbar-search {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

@media (max-width: 767px) {
    .lcc-master-sheet__toolbar-search {
        margin-left: 0;
        width: 100%;
    }
}

.h-costing-busy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
    padding: 1.5rem 2rem;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.28);
    max-width: 28rem;
}

.h-costing-busy--inline {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    max-width: none;
    background: #eef6ff;
    box-shadow: none;
    border: 1px solid #cfe2ff;
}

.h-costing-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

.h-costing-kpi {
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(0, 123, 255, 0.1);
    padding: 0.85rem 1rem;
    min-height: 72px;
}

.h-costing-kpi__label {
    display: block;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.h-costing-kpi__value {
    display: block;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1f2937;
    font-variant-numeric: tabular-nums;
    word-break: break-word;
}

.h-costing-kpi--income .h-costing-kpi__value { color: #0f766e; }
.h-costing-kpi--cost .h-costing-kpi__value { color: #c2410c; }
.h-costing-kpi--margin.is-positive .h-costing-kpi__value { color: #15803d; }
.h-costing-kpi--margin.is-negative .h-costing-kpi__value { color: #b91c1c; }

.h-costing-workbook {
    overflow: hidden;
}

.lcc-master-workbook.h-costing-workbook {
    overflow: visible;
}

.h-costing-groups {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.25rem 0 0.75rem;
    border-bottom: 1px solid rgba(0, 123, 255, 0.12);
}

.h-costing-group {
    border: none;
    background: #eef2f7;
    color: #334155;
    border-radius: 999px;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    box-shadow: inset 2px 2px 4px #d1d9e6, inset -2px -2px 4px #ffffff;
}

.h-costing-group:hover { color: #007bff; }

.h-costing-group.is-active {
    background: #007bff;
    color: #fff;
    box-shadow: 4px 4px 10px rgba(0, 123, 255, 0.28);
}

.h-costing-group__count {
    min-width: 1.4rem;
    height: 1.4rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    background: rgba(255, 255, 255, 0.28);
}

.h-costing-group:not(.is-active) .h-costing-group__count {
    background: rgba(0, 123, 255, 0.12);
    color: #007bff;
}

.h-costing-sheetbar {
    display: flex;
    gap: 0.25rem;
    overflow-x: auto;
    padding: 0.75rem 0.15rem 0;
    scrollbar-width: thin;
}

.h-costing-sheet-tab {
    flex: 0 0 auto;
    border: 1px solid transparent;
    border-bottom: none;
    background: #e8edf4;
    color: #475569;
    border-radius: 10px 10px 0 0;
    padding: 0.45rem 0.85rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    max-width: 220px;
}

.h-costing-sheet-tab:hover { background: #fff; color: #007bff; }

.h-costing-sheet-tab.is-active {
    background: #fff;
    color: #0f172a;
    border-color: rgba(0, 123, 255, 0.16);
    box-shadow: 0 -2px 0 #007bff inset;
}

.h-costing-sheet-tab.is-hidden { opacity: 0.55; font-style: italic; }

.h-costing-sheet-tab__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.h-costing-sheet-tab__count {
    font-size: 0.68rem;
    font-weight: 700;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}

.h-costing-sheet-tab.is-active .h-costing-sheet-tab__count { color: #007bff; }

.h-costing-canvas {
    background: #fff;
    border: 1px solid #c5c5c5;
    border-radius: 0;
    padding: 0;
}

.h-costing-sheetbar--excel {
    padding: 0;
    gap: 0;
    background: #f3f3f3;
    border: 1px solid #c5c5c5;
    border-top: none;
}

.h-costing-sheetbar--excel .h-costing-sheet-tab {
    border-radius: 0;
    border: 1px solid transparent;
    border-bottom: none;
    background: #f3f3f3;
    color: #444;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 0.4rem 0.85rem;
    max-width: 180px;
}

.h-costing-sheetbar--excel .h-costing-sheet-tab:hover {
    background: #fff;
    color: #217346;
}

.h-costing-sheetbar--excel .h-costing-sheet-tab.is-active {
    background: #fff;
    color: #217346;
    border-color: #c5c5c5;
    border-top: 2px solid #217346;
    box-shadow: none;
}

.h-costing-xl { outline: none; }

.h-costing-xl__bar {
    display: flex;
    align-items: stretch;
    gap: 0;
    border-bottom: 1px solid #c5c5c5;
    background: #f3f3f3;
    min-height: 28px;
}

.h-costing-xl__name {
    width: 72px;
    border: none;
    border-right: 1px solid #c5c5c5;
    text-align: center;
    font: 600 0.78rem ui-monospace, Consolas, monospace;
    background: #fff;
    color: #333;
}

.h-costing-xl__fx {
    width: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font: italic 0.78rem Georgia, serif;
    color: #666;
    border-right: 1px solid #c5c5c5;
    background: #fafafa;
}

.h-costing-xl__formula {
    flex: 1;
    min-width: 0;
    padding: 0.2rem 0.55rem;
    font: 0.82rem Calibri, "Segoe UI", sans-serif;
    color: #222;
    background: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.h-costing-xl__hint {
    display: flex;
    align-items: center;
    padding: 0 0.7rem;
    font-size: 0.68rem;
    color: #666;
    white-space: nowrap;
    border-left: 1px solid #c5c5c5;
}

.h-costing-xl__scroll {
    max-height: min(68vh, 780px);
    overflow: auto;
    background: #fff;
}

.h-costing-xl__table {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font: 0.8rem Calibri, "Segoe UI", sans-serif;
    font-variant-numeric: tabular-nums;
}

.h-costing-xl__corner,
.h-costing-xl__rownum,
.h-costing-xl__col {
    position: sticky;
    background: #e6e6e6;
    color: #444;
    font-weight: 600;
    font-size: 0.7rem;
    border-right: 1px solid #c5c5c5;
    border-bottom: 1px solid #c5c5c5;
    text-align: center;
}

.h-costing-xl__corner {
    top: 0;
    left: 0;
    z-index: 4;
    width: 2.4rem;
    min-width: 2.4rem;
}

.h-costing-xl__rownum {
    left: 0;
    z-index: 1;
    width: 2.4rem;
    min-width: 2.4rem;
    text-align: right;
    padding: 0.2rem 0.35rem;
}

.h-costing-xl__col {
    top: 0;
    z-index: 2;
    min-width: 108px;
    padding: 0.15rem 0.4rem 0.25rem;
    text-align: left;
}

.h-costing-xl__col.is-active { background: #d4d4d4; }
.h-costing-xl__col.is-locked { color: #777; }

.h-costing-xl__letter {
    display: block;
    font: 600 0.68rem ui-monospace, Consolas, monospace;
    color: #217346;
}

.h-costing-xl__field {
    display: block;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.h-costing-xl__cell {
    border-right: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
    padding: 0.18rem 0.4rem;
    white-space: nowrap;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #fff;
    cursor: cell;
}

.h-costing-xl__cell.is-locked {
    background: #f2f2f2;
    color: #555;
    cursor: default;
}

.h-costing-xl__cell.is-num { text-align: right; font-family: ui-monospace, Consolas, monospace; }
.h-costing-xl__cell.is-neg { color: #b91c1c; }
.h-costing-xl__cell.is-pos { color: #15803d; }
.h-costing-xl__cell.is-bold { font-weight: 700; }
.h-costing-xl__cell.is-italic { font-style: italic; }

.h-costing-xl__table tbody tr.is-freeze td {
    position: sticky;
    top: 1.7rem;
    z-index: 2;
}

.h-costing-catalog {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    margin-top: 0.75rem;
    font-size: 0.8rem;
}

.h-costing-catalog__row {
    padding: 0.15rem 0;
    border-bottom: 1px solid #eee;
    word-break: break-word;
}

.h-costing-catalog__row code {
    margin-right: 0.5rem;
    color: #217346;
}

.h-costing-xl__cell.is-selected {
    outline: 2px solid #217346;
    outline-offset: -2px;
    z-index: 1;
    position: relative;
}

.h-costing-xl__cell.is-edit {
    padding: 0;
    outline: 2px solid #217346;
    outline-offset: -2px;
}

.h-costing-xl__input {
    width: 100%;
    border: none;
    outline: none;
    padding: 0.18rem 0.4rem;
    font: inherit;
    background: #fff;
}

.h-costing-inhouse .h-costing-xl__input {
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    text-align: inherit;
    font: inherit;
    padding: 0.1rem 0.2rem;
}

.h-costing-inhouse .h-costing-xl__input:focus {
    border-color: #217346;
    background: #fff;
    outline: none;
}

.h-costing-inhouse td.is-locked { background: #f2f2f2; color: #555; }

.h-costing-sheet__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 0.85rem;
    margin-bottom: 0.75rem;
}

.h-costing-sheet__title {
    font-weight: 700;
    color: #0f172a;
    font-size: 1.05rem;
    margin: 0;
}

.h-costing-sheet__meta {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-right: auto;
}

.h-costing-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.15rem 0.55rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.h-costing-pill--input { background: rgba(0, 123, 255, 0.12); color: #0369a1; }
.h-costing-pill--rate { background: rgba(13, 148, 136, 0.14); color: #0f766e; }
.h-costing-pill--ref { background: rgba(100, 116, 139, 0.14); color: #475569; }
.h-costing-pill--calc { background: rgba(217, 119, 6, 0.16); color: #b45309; }
.h-costing-pill--muted { background: #f1f5f9; color: #64748b; }

.h-costing-sheet__scroll {
    max-height: min(62vh, 720px);
    overflow: auto;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #fbfcfe;
}

.h-costing-sheet__table {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.h-costing-sheet__table th,
.h-costing-sheet__table td {
    border-right: 1px solid #e6edf5;
    border-bottom: 1px solid #e6edf5;
    padding: 0.38rem 0.55rem;
    white-space: nowrap;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.h-costing-sheet__table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #0f766e;
    color: #fff;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.h-costing-sheet__rownum {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 2.4rem;
    min-width: 2.4rem;
    text-align: right;
    color: #64748b;
    background: #f1f5f9;
    font-size: 0.7rem;
}

.h-costing-sheet__table thead .h-costing-sheet__rownum {
    z-index: 3;
    background: #0b5f58;
    color: #d1fae5;
}

.h-costing-sheet__table tbody tr:nth-child(even) td { background: #f7fafc; }
.h-costing-sheet__table tbody tr:nth-child(odd) td { background: #fff; }
.h-costing-sheet__table tbody tr:hover td { background: #eef6ff; }

.h-costing-sheet__cell--num { text-align: right; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.h-costing-sheet__cell--neg { color: #b91c1c; font-weight: 600; }
.h-costing-sheet__cell--pos { color: #15803d; font-weight: 600; }

.h-costing-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 180px;
    color: #64748b;
    text-align: center;
    padding: 1.5rem;
}

.h-costing-empty__title { font-weight: 700; color: #334155; }

.h-costing-inhouse__kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.h-costing-inhouse__grid {
    display: grid;
    grid-template-columns: 1.4fr 0.9fr;
    gap: 0.85rem;
}

.h-costing-inhouse__card {
    background: #fff;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    overflow: hidden;
    min-width: 0;
}

.h-costing-inhouse__card--wide { grid-column: 1 / -1; }

.h-costing-inhouse__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.9rem;
    background: #0f766e;
    color: #fff;
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.h-costing-inhouse__sub {
    font-size: 0.7rem;
    font-weight: 600;
    color: #d1fae5;
    text-transform: none;
    letter-spacing: 0;
}

.h-costing-inhouse__table { max-height: 360px; border: none; border-radius: 0; }

.h-costing-inhouse__total td {
    font-weight: 700;
    background: #ecfdf5 !important;
    color: #0f766e;
}

.h-costing-inhouse__sleep {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 1rem 0.9rem 1.1rem;
}

.h-costing-inhouse__muted {
    padding: 1.25rem 0.9rem;
    color: #64748b;
}

@media (max-width: 900px) {
    .h-costing-inhouse__grid { grid-template-columns: 1fr; }
    .h-costing-inhouse__sleep { grid-template-columns: 1fr; }
}

