﻿html, body {
    --primary-green-primary-light-2: #dfe6e5;
    --brand-primary-dark-grey: #435254;
}


/*Css Small Devices*/
/*Iphone SE, Iphone XR, Iphone 12 Pro, Iphone 14 Pro Max, Pixel 7*/
@media (max-width: 699px) {
    footer {
        text-align: center;
    }
    .xs-mt-2 {
        margin-top:8px !important;
    }
    .xs-mt-3 {
        margin-top: 12px !important;
    }
    .xs-mb-4 {
        margin-bottom: 16px !important;
    }
    .xs-mt-1 {
        margin-top: 4px !important;
    }
    .xs-mb-1 {
        margin-bottom: 4px !important;
    }
    .xs-mb-2 {
        margin-bottom: 8px !important;
    }
    .xs-pl-0 {
        padding-left:0px !important;
    }
    .xs-my-4 {
        margin-top:16px !important;
        margin-bottom:16px !important;
    }
    .xs-my-3 {
        margin-top: 12px !important;
        margin-bottom: 12px !important;
    }
    .xs-my-2 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }
    .xs-pl-1 {
        padding-left:4px !important;
    }
    .xs-t-12 {
        top: 12px !important;
    }
    .xs-mt-4 {
        margin-top: 16px !important;
    }

    .display-none {
        display:none !important;
    }

    .signature-pad {
        min-height: 164px;
        width: 100%;
        border-radius: 6px;
    }

    .ptw-mobile-activity-body-container {
        padding-bottom:80px;
    }

    .mobile-date-time-row {
        margin-top: 8px;
    }

        .mobile-date-time-row .mud-item {
            padding-left: 0;
            padding-right: 0;
        }
    /* Ensure containers adapt to different screen sizes */
    .mobile-dashboard-item-list-section {
        width: 100%;
        box-sizing: border-box;
    }

    /* Improve text handling across all mobile devices */
    .text-overflow-ellipsis {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
    .mobile-filter-option-dropdown .mud-select-input > div.mud-input-root-outlined {
        padding: 16px 0px !important;
    }

    .mobile-filter-option-dropdown .mud-icon-button {
        padding: 12px 4px;
    }


    /* Ensure the popover content and list items also take full width */
    .mud-popover-fixed .mud-list {
        width: 100% !important;
        min-width: 100% !important;
    }

    /* Make individual list items in dropdown take full width */
    .mud-popover-fixed .mud-list-item {
        width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .auto-grid-minmax {
        grid-template-columns: none;
    }

    .work-request-body-container {
        padding-bottom: 32px;
    }

    .mobile-work-request-header .work-request-date {
        font-weight: 400;
    }

    .mobile-work-request-header .work-request-header-back-icon {
        margin-left: -4px;
        padding-top: 0px;
    }

        .mobile-work-request-header .work-request-header-back-icon .mud-icon-root {
            width: 24px;
            height: 22px;
        }

    .mobile-work-request-header .work-request-title, .mobile-dashboard-header .dashboard-header-text {
        font-size: 18px;
        font-weight: 500;
        padding-top: 2px;
    }
    .multi-sign-in-parent-section .multi-sign-in-child-section .signin-checkbox .mud-button-root {
        padding-left: 4px !important;
        padding-right: 8px !important;
    }
    .cbre-authorization-preview .signin-checkbox .mud-button-root, .cbre-authorisation-sign-in .signin-checkbox .mud-button-root {
        padding-right: 8px !important;
    }
    .cbre-authorization-preview .sign-in-signature-pad, .cbre-authorisation-sign-in .sign-in-signature-pad {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
        .cbre-authorization-preview .sign-in-signature-pad .signature-image-mobile, .cbre-authorisation-sign-in .sign-in-signature-pad .signature-pad {
            height: 164px;
        }

    .sign-in-signature-pad .signature-pad {
        height: 164px !important;
    }

    .sign-in-signature-pad .signature-image-mobile {
        height: 164px !important;
    }


        .multi-sign-in-parent-section .multi-sign-in-child-section .signin-checkbox .mud-disabled .mud-button-root {
            padding-left: 4px !important;
            padding-right: 8px !important;
        }
    .mobile-work-request-header .work-request-header-identifier {
        color: var(--light-grey)
    }

    .mud-radio-group .mud-radio .mud-button-root {
        display: block !important;
        background-color: transparent !important;
        padding-left:0px!important;
    }

    .work-request-remote-body-container,
    .work-request-reactive-body-container,
    .reissue-work-request-body-container {
        padding-bottom: 64px;
    }

    .ptw-mobile-body-container {
        padding-bottom: 4px;
    }

    .personal-grid-heading {
        display: none !important;
    }

    .personnel-detail-mobile {
        display: block;
    }

        .personnel-detail-mobile .personnel-detail-header {
            font-size: var(--mud-typography-body1-size) !important;
        }

    .personal-section-preview table {
        background-color: #f5f7f7;
    }

    .personal-section-preview tbody td {
        padding: 6px 14px !important;
    }

    .sm-fix-button-footer {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        text-align: center;
        width: 103%;
        left: 0;
        height: 68px;
        box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.60);
        bottom: 0;
        width: 100%;
        width: -webkit-fill-available;
        background-color: var(--white-color);
        color: var(--white-color);
        text-align: center;
        padding-top: 16px !important;
        z-index: 2;
    }

    .sm-margin-35px {
        margin-bottom: 35px;
    }

    .file-upload {
        width: 100%;
        white-space: normal;
    }

    .file-name-in-edit {
        max-width: 220px;
    }

    .content {
        height: 100% !important;
        padding: 2px 9px 10px 10px !important;
        max-width: 335px;
    }

    .mobile-chunked-file-upload-card-content {
        height: 100% !important;
        padding: 4px 16px 10px 16px !important;
        max-width: 100%;
    }

    .mobile-visitor-card-content {
        height: 100% !important;
        padding: 10px 9px 0px 10px !important;
        max-width: 100%;
    }

    .work-order-reference-card, .visitor-component-card, .mobile-file-upload-card {
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
        border: 1px solid;
        border-color: rgba(0, 0, 0, 0.12);
        border-radius: 6px;
    }
    .mud-form .mud-grid .mobile-apac-person-name-adjustment {
        padding: 0px;
        padding-right: 10px;
        margin-top: 12px;
        margin-bottom: 12px !important;
    }

    .workOrderReferenceContent {
        height: 100% !important;
        padding: 24px 9px 0px 10px !important
    }

    .file-upload-table .mud-table-row {
        margin-bottom: 2px !important;
    }

    .custom-tab-panel-mobile {
        max-height: 48px;
        max-width: 61px;
    }

    .custom-tab-panel-mobile-reactive {
        max-height: 48px;
        max-width: 65px;
    }

    .custom-tab-panel-mobile-remote {
        max-height: 48px;
        max-width: 80px;
    }

    .signature-image-mobile {
        max-width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
    }

    .mud-dialog-content .chunked-file-upload-component {
        padding:10px !important;
    }
    .chunked-file-upload-component {
        padding:0px 0px !important;
    }


    .mobile-personnel-sign-in-signature .signature-image-mobile {
        height: 165px;
    }

/*    .mud-checkbox .mud-icon-button {
        padding-right: 0px !important;
    }*/

    .mud-dialog-width {
        width: 100% !important;
        max-width: 100% !important;
    }

/*    .txt-monitoring {
        width: 50% !important;
        max-width: 50% !important;
    }*/
    /* Mobile responsive styles specific to Add Permits & Certificates dialog only */
    .add-pac-wizard-dialog.mud-dialog-width-xl {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    /* Ensure the dialog container itself is properly constrained */
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-dialog-container {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Reduce padding in Add Permits & Certificates dialog on mobile */
    .add-pac-wizard-dialog.mud-dialog-width-xl .pa-2 {
        padding: 8px !important;
    }

    .add-pac-wizard-dialog.mud-dialog-width-xl .pl-4 {
        padding-left: 12px !important;
    }

    /* Ensure dialog content doesn't overflow */
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-dialog-content {
        overflow-x: hidden !important;
        padding: 16px 8px !important;
    }

    /* Ensure all grid items within the dialog are responsive */
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-grid-item {
        max-width: 100% !important;
    }

    /* Ensure form elements don't cause horizontal overflow */
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-input-root,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-select,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-form-input-control {
        max-width: 100% !important;
        box-sizing: border-box !important;
        height: 100% !important;
    }

    /* Ensure input fields and select dropdowns have proper height */
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-input,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-select-input,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-input-control,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-input-root .mud-input-root-text,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-select .mud-select-input {
        height: 100% !important;
        min-height: 40px !important;
    }

    /* Ensure the form field containers have proper height */
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-form-field,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-form-field-container,
    .add-pac-wizard-dialog.mud-dialog-width-xl .mud-input-control-input-container {
        height: 100% !important;
    }

    .text-ellipsis {
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 106px;
    }

    .text-ellipsis-with-no-wrap {
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 106px;
        white-space: nowrap;
        display: block;
        word-break: normal;
    }

    .duration-component .start-date,
    .duration-component .start-time,
    .duration-component .end-date,
    .duration-component .end-time{
        padding-left:0px;
    }

    .mud-dialog-content .duration-component .start-date,
    .mud-dialog-content .duration-component .start-time,
    .mud-dialog-content .duration-component .end-date,
    .mud-dialog-content .duration-component .end-time {
        padding-left: 12px !important;
    }

    .signature-pad-border-radius canvas {
        border-radius: 1px;
        height: 223px;
    }

    .mud-tabs-toolbar {
        width: 100%;
    }

    .mud-tabs-toolbar-content .mud-tabs-toolbar-wrapper {
        justify-content: space-between !important;
        padding-left:12px;
    }

    .mud-tab-slider.mud-tab-slider-horizontal {
        height: 0 !important;
    }

    .mud-tab.mud-tab-active {
        background-color: var(--mud-palette-primary-hover);
        color: var(--mud-palette-primary);
        border-radius: 0px;
        border-style: solid;
        border-width: 0 0 2px 0;
    }

    .emergency-card {
        border: none !important;
        box-shadow: none !important;
    }

    .emergency-card-content {
        height: 100% !important;
        padding: 6px 14px !important;
        max-width: 335px;
    }

    .file-upload-card {
        background-color: #f5f7f7 !important;
    }

    .work-request-reactive-body-container:has(.sm-fix-button-footer),
    .work-request-remote-body-container:has(.sm-fix-button-footer),
    .work-request-body-container:has(.sm-fix-button-footer) {
        padding-bottom: 70px !important;
    }

    /*View Passes and permits*/
    .passes-permits-container {
        margin-right: 4px !important;
        margin-left: 12px !important;
    }

    .mud-dialog-width-view-passes {
        width: 498px !important;
    }

    .mud-table-root {
        /*background-color: #F5F7F7;*/
        background-color: #FFFFFF;
    }

    .mud-table-view-passes-date {
        padding-top: 16px !important;
    }

    .mud-table-view-passes-icon {
        border-bottom: 16px solid var(--mud-palette-tertiary-text) !important;
        padding-bottom: 16px !important;
    }

    .scrollable-container-vertical {
        height: 532px;
        overflow-y: auto;
        scrollbar-width: thin !important;
        padding-right: 12px;
        box-sizing: content-box;
    }

    .mud-dialog-content {
        padding-right: 8px !important;
    }

    .mud-dialog-content .mud-input-control-input-container {
        width: 100%;
    }

        .mud-dialog-content .mud-form .mud-grid .dialog-textbox-with-icon {
            flex-grow: 0;
            max-width: 83.333333%;
            flex-basis: 83.333333%;
        }

        .mud-dialog-content .mud-dialog-actions {
            margin-right: 0px;
        }

    .icon-button-padding {
        padding: 0px !important;
    }

    .workrequest-actions .mud-icon-root.mud-svg-icon {
        fill: #003F2D;
    }

    .view-passes-dialog {
        padding-top: 12px;
        padding-left: 0px;
    }

    .view-passes-container {
        height: 650px;
        overflow: auto;
        scrollbar-width: thin !important;
        padding: 8px;
    }

    .view-passes-horizontal-container {
        width: 1000px
    }

    .view-atw-container {
        width: 96% !important;
        margin-right: 0px !important;
        margin-left: 8px !important;
    }

    .view-passes-action-button {
        width: 100%;
    }

    .email-pass {
        color: var(--Text-Dark-Text-Dark);
        line-height: 16px !important;
        font-family: 'Calibre-R' !important;
        font-size: 16px !important;
    }

    .send-email-overflow {
        overflow: hidden;
    }

    .view-passes-action-button-action-PTW {
        padding: 8px !important;
        padding-right: 4px !important;
        margin-top: 12px !important;
        margin-bottom: 4px !important;
    }

    .view-passes-action-button-print-PTW {
        margin-left: 0px !important;
        margin-right: 8px !important;
    }

    .view-passes-action-button-action-ATW {
        padding-bottom: 8px !important;
        padding-top: 8px !important;
        padding-right: 4px !important;
        padding-left: 0px !important;
        margin-top: 12px !important;
        margin-bottom: 4px !important;
    }

    .view-passes-action-button-email-margin-ATW {
        margin-right: 4px !important;
        margin-left: 0px !important;
    }

    .view-passes-action-button-checkout-margin-ATW {
        margin-right: 4px !important;
        margin-left: 4px !important;
    }

    .view-passes-action-button-print-margin-ATW {
        margin-right: 0px !important;
        margin-left: 4px !important;
    }

    .view-passes-padding-action-button {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .pass {
        box-shadow: none !important;
    }

    .custom-padding-menu .mud-icon-button {
        padding: 0px !important;
    }

    .mobile-person-in-charge-section .label-disabled {
        color: #1A1A1A75 !important;
    }


    @media (max-width: 380px) {
        .view-passes-container {
            height: 480px;
        }

        .scrollable-container-vertical {
            height: 450px;
        }
    }

    @media (max-width: 365px) {

        .view-passes-padding-action-button {
            padding-left: 2px !important;
            padding-right: 2px !important;
        }
    }

    .mobile-tile-list {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .mobile-tile-card {
        background: #fff;
        border-radius: 8px;
        box-shadow: 0px 0px 4px 0px #00000040;
        padding: 16px;
        padding-bottom:0px;
        border: 1px solid #eee;
        display: flex;
        flex-direction: column;
        min-height: 120px;
        position: relative;
    }

    .mobile-tile-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 16px;
        gap: 14px;
    }

    .mobile-tile-label {
        color: #222;
        font-weight: 500;
        font-size: 1rem;
        width: 128px;
    }

    .mobile-tile-value {
        color: #222;
        font-size: 1rem;
        text-align: right;
        word-break: break-word;
        width: 188px;
        text-align: right;
    }

    .mobile-tile-actions {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-top: 8px;
    }

    .pivot-table-wrapper {
        overflow-x: auto;
        width: 100%;
        min-width: 300px;
    }

    .pivot-table {
        border-radius: 8px;
        box-shadow: 0px 0px 4px 0px #00000040;
        background: #fff;
        min-width: 300px;
        border-collapse: separate;
        border-spacing: 0;
        width: max-content;
    }

        .pivot-table th,
        .pivot-table td {
            padding: 8px 16px;
            text-align: left;
            border-bottom: 1px solid #eee;
            min-width: 66px;
            vertical-align: middle;
            font-size: 1rem;
            align-items:center;
            gap:6px;
        }

        td :is(.float-right), td .float-right {
            float: none;
        }

        .pivot-table th {
            background: #f5f7f6;
            font-weight: 600;
            text-align: center;
            color: #222;
        }

            .pivot-table th.fixed-col,
            .pivot-table td.fixed-col {
                position: sticky;
                left: 0;
                background: #fff;
                z-index: 2;
                min-width: 66px;
                font-weight: 600;
                border-right: 1px solid #eee;
                box-shadow: 2px 0 2px -2px #eee;
            }

        .pivot-table tr:last-child td {
            border-bottom: none;
        }

        .pivot-table td {
            color: #222;
        }

        .pivot-table-actions {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 8px;
        }

       .pivot-table td:nth-child(even) {
            background-color: #F5F7F7;
       }

    .icon-success {
        color: #1a7f5a;
        font-size: 1.2em;
        vertical-align: middle;
        margin-left: 4px;
    }

    .icon-comment {
        color: #616161;
        font-size: 1.2em;
        vertical-align: middle;
        margin-left: 4px;
    }

    .icon-delete {
        color: #d32f2f;
        font-size: 1.4em;
        vertical-align: middle;
        margin-left: 4px;
        cursor: pointer;
    }

    .ptw-hazard-header-text {
        width: fit-content !important;
    }

    .ptw-hazard-header-count {
        padding-left:8px;
        position: relative;
        left: 0px;
        width: fit-content !important;
    }

    @media (max-width: 600px) {
        .pivot-table th,
        .pivot-table td {
            font-size: 0.95rem;
            padding: 8px 16px;
            min-width: 66px;
        }

            .pivot-table th.fixed-col,
            .pivot-table td.fixed-col {
                min-width: 66px;
                width: 66px;
            }
    }
}

/*Css Medium Devices*/
/*Ipad Mini, Ipad Air, Surface Pro 7, Asus Zenbook fold*/
@media (max-width: 1024px) {
    .main-layout-body .mud-container-fixed {
        max-width: 100%;
    }

    .personal-grid-heading {
        display: grid !important;
    }

    .personnel-detail-mobile {
        display: none;
    }

    /*Mobile Dashboard*/
    .dashboard-grid-filter .mobile-filter-option-dropdown .mud-input-slot {
        padding-right: 0px !important
    }

    .dashboard-grid-filter .mobile-filter-option-dropdown {
        background: var(--overlay-light-green);
    }

    /* Mobile filter search textbox width */
    .mobile-filter-search-textbox {
        width: 200px !important;
    }

    .mobile-filter-search-textbox .mud-input-root {
        width: 200px !important;
    }

    .mobile-filter-search-textbox .mud-input-root-outlined {
        width: 200px !important;
    }

    .mobile-filter-search-textbox .mud-input {
        width: 200px !important;
    }

    .mobile-dashboard-item .status-section {
        align-items: center;
    }

    @media (max-width: 395px) {
        .record-status .mobile-status-section-ChangesRequested {
            flex-basis: min-content;
        }

        .record-status .mobile-status-section-AwaitingApproval {
            flex-basis: auto;
        }
    }

    @media (max-width: 380px) {
        .record-status .mobile-status-section-AwaitingApproval {
            flex-basis: min-content;
        }
    }

    .mobile-dashboard-item .status-section .status-circle, .filter-count-section .status-circle {
        margin-top: 1px;
        margin-right: 4px;
    }

    .mobile-dashboard-item {
        margin: 13px;
        background: var(--backgrounds-surface);
        border-radius: 8px;
        border-style: solid;
        border-color: rgba(0, 63, 45, 0.15);
        border-width: 1px;
        padding: 12px 16px 12px 16px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
        justify-content: flex-start;
        align-self: stretch;
        flex-shrink: 0;
        position: relative;
        overflow: hidden;
    }

        .mobile-dashboard-item .dashboard-card {
            display: flex;
            flex-direction: column;
            gap: 4px;
            align-items: flex-start;
            justify-content: flex-start;
            align-self: stretch;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .dashboard-card-title {
            display: flex;
            flex-direction: row;
            gap: 82px;
            align-items: center;
            justify-content: flex-start;
            align-self: stretch;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .title {
            display: flex;
            flex-direction: row;
            gap: 8px;
            align-items: center;
            justify-content: flex-start;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .request-id-text {
            color: var(--input-font-color);
            text-align: left;
            font-size: 14px;
            line-height: 16px;
            letter-spacing: 0.005em;
            font-weight: 600;
            position: relative;
        }

        .mobile-dashboard-item .record-status {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            align-self: stretch;
            flex-shrink: 0;
            position: relative;
            margin: 2px 0;
            padding: 0;
            min-height: 24px;
        }

        .mobile-dashboard-item .date-section {
            display: flex;
            flex-direction: row;
            gap: 8px;
            align-items: center;
            justify-content: flex-start;
            flex-shrink: 0;
            position: relative;
            flex: 1;
        }

        .mobile-dashboard-item .icon-timestamp {
            display: flex;
            flex-direction: row;
            gap: 4px;
            align-items: center;
            justify-content: flex-start;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .request-date-text {
            color: var(--input-font-color);
            text-align: left;
            font-size: 14px;
            font-weight: 400;
            position: relative;
            line-height: 20px;
            display: flex;
            align-items: center;
        }

        .mobile-dashboard-item .workrequest-requesttype-stage-section {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            align-self: stretch;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .chip {
            background: rgba(0, 63, 45, 0.1);
            border-radius: 40px;
            padding: 4px 8px 4px 8px;
            display: flex;
            flex-direction: row;
            gap: 0px;
            align-items: center;
            justify-content: flex-start;
            flex-shrink: 0;
            position: relative;
            overflow: hidden;
        }

        .mobile-dashboard-item .status-content-chip {
            padding: 0px 4px 0px 0px;
            display: flex;
            flex-direction: row;
            gap: 0px;
            align-items: center;
            justify-content: flex-start;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .stage-section {
            padding: 0px 4px 0px 4px;
            display: flex;
            flex-direction: row;
            gap: 0px;
            align-items: center;
            justify-content: flex-start;
            flex-shrink: 0;
            height: 16px;
            position: relative;
        }

        .mobile-dashboard-item .stagetext {
            color: var(--input-font-color);
            text-align: left;
            font-size: 12px;
            line-height: 16px;
            letter-spacing: 0.005em;
            font-weight: 400;
            position: relative;
            display: flex;
            align-items: flex-end;
            justify-content: flex-start;
        }

        .mobile-dashboard-item .vendor-section {
            flex-shrink: 0;
            width: 100%;
            max-width: 312px;
            height: 20px;
            position: relative;
        }

        .mobile-dashboard-item .vendor-title {
            color: var(--input-font-color);
            text-align: left;
            font-size: 16px;
            line-height: 20px;
            letter-spacing: -0.01em;
            font-weight: 400;
            position: absolute;
            right: 0%;
            left: 0%;
            width: 100%;
            bottom: 0%;
            top: 0%;
            height: 100%;
        }

        .mobile-dashboard-item .customer-and-contract {
            display: flex;
            flex-direction: row;
            gap: 4px;
            align-items: flex-start;
            justify-content: flex-start;
            align-self: stretch;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .round-chip {
            max-width: 48%;
            background: var(--primary-green-primary-light-2);
            border-radius: 4px;
            padding: 2px 8px 2px 8px;
            display: flex;
            flex-direction: row;
            gap: 10px;
            align-items: flex-start;
            justify-content: flex-start;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .customer-contract-text {
            color: var(--brand-primary-dark-grey);
            text-align: left;
            font-size: 12px;
            line-height: 16px;
            letter-spacing: -0.01em;
            font-weight: 400;
            position: relative;
        }

        .mobile-dashboard-item .location-wrap {
            display: flex;
            gap: 8px;
            align-items: flex-start;
            justify-content: flex-start;
            align-self: stretch;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .region-country-details {
            width: 200px;
        }
       
        .mobile-dashboard-item .ptw-location-wrap {
            display: flex;
            gap: 8px;
            align-items: flex-start;
            justify-content: end;
            align-self: stretch;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .location {
            color: var(--input-font-color);
            text-align: left;
            font-size: 14px;
            font-weight: 400;
            position: relative;
            align-self: stretch;
        }

        .mobile-dashboard-item .icon-timestamp {
            display: flex;
            flex-direction: row;
            gap: 4px;
            align-items: flex-start;
            justify-content: flex-start;
            flex-shrink: 0;
            position: relative;
        }

        .mobile-dashboard-item .request-type-text {
            color: var(--input-font-color);
            text-align: left;
            font-size: 14px;
            max-width: 97%;
            line-height: 16px;
            letter-spacing: 0.005em;
            font-weight: 400;
            position: relative;
            white-space: normal;
            word-wrap: break-word;
            overflow-wrap: break-word;
        }

        .mobile-dashboard-item .ptw-request-type-text {
            color: var(--input-font-color);
            text-align: left;
            font-size: 14px;
            max-width: 97%;
            letter-spacing: 0.005em;
            font-weight: 400;
            position: relative;
            white-space: normal;
            word-wrap: break-word;
            overflow-wrap: break-word;
        }

        .mobile-dashboard-item .global-header {
            background: var(--backgrounds-surface);
            padding: 0px 12px 0px 12px;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            width: 394px;
            height: 48px;
            position: absolute;
            left: 0px;
            top: 0px;
            box-shadow: var( --elevation-elevation-4-dp-box-shadow, 0px 1px 5px 0px rgba(0, 0, 0, 0.14) );
        }

        .mobile-dashboard-item .bottom-nav-item {
            background: white;
            border-bottom-color: white;
            border-style: solid;
            border-width: 0px 0px 4px 0px;
            padding: 8px 12px 12px 12px;
            display: flex;
            flex-direction: column;
            gap: 2px;
            align-items: center;
            justify-content: flex-start;
            flex: 1;
            height: 62px;
            position: relative;
        }

        .mobile-dashboard-item .text-overflow-ellipsis {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

    /* Shared button styles */
    .view-more-button .mud-button-label {
        color: var(--dark-green);
        font-size: 14px;
        font-weight: 400;
        text-decoration: underline;
    }

    /* Shared icon button styles */
    .mobile-icon-button {
        color: #666;
        padding: 0 !important;
        margin-right: 4px;
    }
    
    .mobile-icon-button .mud-icon-root {
        width: 16px;
        height: 16px;
        fill: #666;
    }

    .mobile-bottom-fix-button {
        right: 23px;
        position: fixed !important;
        bottom: 78px !important;
    }

    .mobile-dashboard-item-list-section {
        max-height: calc(100vh - 260px);
        overflow: auto;
    }

    .min-viewport-height-mobile {
        min-height: calc(100vh - 56px);
    }
    .mobile-date-filter-dropdown .mud-popover {
        transform: translateX(-20px) !important;
    }

    .mobile-dashboard-header .d-flex.align-items-center {
        align-items: center !important;
    }

    /* Enhanced dashboard-header-text styling to match Figma specifications exactly - supports multi-line text */
    .mobile-dashboard-header .dashboard-header-text {
        font-family: 'Calibre-R', sans-serif !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        line-height: 22px !important;
        letter-spacing: -0.27px !important; /* -1.5% of 18px */
        color: var(--input-font-color) !important; /* #1A1A1A */
        margin: 0 !important;
        padding: 0 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        display: block !important;
        width: 100% !important;
        hyphens: auto !important;
    }

    /* Mobile Dashboard Header Layout */
    .mobile-dashboard-main-header {
        padding: 16px;
        margin: 0;
        background: transparent;
    }
    
    .mobile-dashboard-header {
        margin-bottom: 16px;
    }
    
    .dashboard-title-section {
        display: flex;
        align-items: flex-start;
        padding: 0;
        padding-right: 8px;
    }
    
    .dashboard-filter-section {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        padding: 0;
        padding-top: 4px;
    }
    
    .mobile-vendor-filter-section {
        margin-bottom: 8px;
        padding: 0 0 0 0;
    }

    /* Date filter dropdown styling to match Figma specifications */
    .mobile-date-filter-dropdown {
        background: var(--overlay-light-green);
        border-radius: 8px;
        width: 190px !important;
        height: 32px !important;
        min-height: 32px !important;
        font-size: 12px;
        border: 1px solid rgba(0, 63, 45, 0.15);
    }

        .mobile-date-filter-dropdown .mud-select-input > div.mud-input-root-outlined {
            padding: 4px 8px !important;
            border-color: rgba(0, 63, 45, 0.15);
            border-radius: 8px;
            height: 32px !important;
            min-height: 32px !important;
        }

        .mobile-date-filter-dropdown .mud-input-slot {
            padding-right: 8px !important;
            height: 24px !important;
            min-height: 24px !important;
        }

        .mobile-date-filter-dropdown .mud-icon-button {
            padding: 4px !important;
            height: 24px !important;
            width: 24px !important;
        }

        .mobile-date-filter-dropdown .mud-select-input {
            font-size: 12px;
            font-weight: 400;
            color: var(--input-font-color);
            height: 32px !important;
            line-height: 24px !important;
        }

        .mobile-date-filter-dropdown .mud-input-root {
            height: 32px !important;
            min-height: 32px !important;
        }

        .mobile-date-filter-dropdown .mud-popover {
            right: 0 !important;
            left: auto !important;
        }
        
    /* PTW Status Section - with colored circle and text */
    .mobile-dashboard-item .status-section {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        font-size: 12px;
        font-weight: 400;
        line-height: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        color: inherit !important;
    }
    
    /* Status text styling - plain text only */
    .record-status [class*="mobile-status-section-"] {
        background: transparent !important;
        color: inherit !important;
        border: none !important;
        padding: 0 !important;
        font-weight: 400 !important;
        font-size: 12px !important;
        line-height: 20px !important;
        display: flex;
        align-items: center;
    }
    
    /* Status circles for mobile - match desktop styling */
    .mobile-dashboard-item .status-section .status-circle {
        margin-right: 8px;
        margin-top: 2px;
        float: left;
        background-color: #fff;
        height: 12px;
        border-radius: 50%;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
        min-width: 12px;
    }
    
    /* Status circle colors - match desktop */
    .mobile-dashboard-item .status-section .status-circle-issued,
    .mobile-dashboard-item .status-section .status-circle-active,
    .mobile-dashboard-item .status-section .status-circle-live {
        background-color: #1E8D29;
    }
    
    .mobile-dashboard-item .status-section .status-circle-completed {
        background-color: #34eb68;
    }
    
    .mobile-dashboard-item .status-section .status-circle-changesrequested {
        background-color: #F2810F;
    }
    
    .mobile-dashboard-item .status-section .status-circle-inprogress {
        background-color: #3E7CA6;
    }
    
    .mobile-dashboard-item .status-section .status-circle-awaitingapproval {
        border: 2px solid #8169D3;
        background-color: #fff;
    }
    
    .mobile-dashboard-item .status-section .status-circle-rejected {
        background-color: #FF543E;
    }
    
    .mobile-dashboard-item .status-section .status-circle-cancelled {
        background-color: #D7DADB;
    }

    .mobile-dashboard-item .status-section .status-circle-closed {
        background-color: #848E90;
    }

    .mobile-dashboard-item .status-section .status-circle-revoked {
        background-color: #eb3434;
    }
    
    .mobile-dashboard-item {
        margin: 8px 16px;
        background: #FFFFFF;
        border-radius: 8px;
        border: 1px solid rgba(0, 63, 45, 0.15);
        padding: 12px;
        box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1);
    }
    
    /* Results count styling */
    .mobile-dashboard-results-count {
        color: var(--input-font-color);
        font-size: 14px;
        font-weight: 400;
        margin: 8px 16px;
    }
    
    /* Typography refinements to match Figma */
    .mobile-dashboard-item .request-id-text {
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 20px !important;
        color: #1A1A1A !important;
        margin-bottom: 2px !important;
    }
    
    /* ATW ID text styling - normal font weight */
    .mobile-dashboard-item .atw-id-text {
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 20px !important;
        color: #1A1A1A !important;
        margin-bottom: 2px !important;
    }
    
    .mobile-dashboard-item .vendor-title {
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #1A1A1A !important;
        line-height: 20px !important;
    }
    
    .mobile-dashboard-item .customer-contract-text {
        font-size: 11px !important;
        font-weight: 400 !important;
        color: var(--brand-primary-dark-grey) !important;
    }

    .mobile-dashboard-item .time-text {
        color: var(--input-font-color);
        text-align: left;
        font-size: 14px;
        font-weight: 400;
        position: relative;
    }
    
    /* PTW Time Info Layout - Match Figma */
    .mobile-dashboard-item .ptw-time-info, ptw-region-country-info {
        display: flex;
        flex-direction: row;
        gap: 4px;
        align-items: flex-start;
        justify-content: flex-start;
        margin: 4px 0;
        padding: 0;
    }
    
    .mobile-dashboard-item .icon-timestamp .mobile-icon-button {
        margin-right: 4px;
        margin-top: 2px;
        min-width: 16px;
        padding: 0;
    }
    
    /* PTW-specific elements - using ptw-dashboard-item for specificity */
    
    /* PTW end date styling */
    .ptw-dashboard-item .ptw-end-date {
        flex-shrink: 0;
        position: relative;
    }

    /* PTW actions section styling */
    .ptw-dashboard-item .ptw-actions-section {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        align-self: stretch;
        flex-shrink: 0;
        position: relative;
        padding-top: 8px;
    }

    /* PTW permit button styling */
    .ptw-dashboard-item .view-permit-button {
        color: #003F2D;
        padding: 8px;
    }

    .ptw-dashboard-item .view-permit-button .mud-icon-root {
        width: 20px;
        height: 20px;
        fill: #003F2D;
    }

    /* Request ID section - shared between ATW and PTW */
    .ptw-dashboard-item .request-id-section {
        flex-shrink: 0;
        width: 100%;
        height: 20px;
        position: relative;
    }

    .ptw-dashboard-item .request-id-section .request-id-text {
        color: var(--input-font-color);
        text-align: left;
        font-size: 14px;
        line-height: 16px;
        letter-spacing: 0.005em;
        font-weight: 600;
        position: relative;
    }
    
    .mobile-dashboard-item .time-details {
        display: flex;
        flex-direction: row;
        gap: 16px;
        align-items: center;
        flex: 1;
    }
    
    /* Spacing adjustments - Reduced spacing to match Figma */
    .mobile-dashboard-item .dashboard-card {
        gap: 4px !important;
    }
    
    .mobile-dashboard-item .record-status {
        margin: 2px 0 !important;
    }
    
    /* Vendor and location spacing - Reduced */
    .mobile-dashboard-item .vendor-section {
        margin: 2px 0;
    }
    
    .mobile-dashboard-item .location-wrap {
        margin: 2px 0 8px 0;
    }
    
    .mobile-dashboard-item .customer-and-contract {
        margin: 3px 0;
    }
    
    /* End date spacing */
    .mobile-dashboard-item .ptw-end-date {
        margin: 2px 0;
    }
    
    /* Request type section spacing */
    .mobile-dashboard-item .workrequest-requesttype-stage-section {
        margin: 3px 0;
    }
    
    /* Time info spacing */
    .mobile-dashboard-item .ptw-time-info {
        margin: 2px 0;
    }
}

/* Device-specific fixes for iPhone models */
/* iPhone 12, iPhone 12 Pro (390px wide) */
@media (max-width: 390px) {
    .mobile-dashboard-item .dashboard-card-title {
        gap: 60px; /* Reduce gap for smaller screens */
    }
    
    .mobile-dashboard-item .vendor-section {
        width: 100%; /* Use full width instead of fixed 312px */
        max-width: 280px;
    }
    
    .mobile-dashboard-item .request-id-section {
        width: 100%; /* Use full width instead of fixed 312px */
    }
    
    .mobile-dashboard-item .round-chip {
        max-width: 47%; /* Slightly reduce to prevent wrapping */
    }
    
    .mobile-dashboard-item .request-type-text {
        max-width: 60%; /* Reduce to prevent text overflow */
    }
    
    .mobile-dashboard-item {
        margin: 10px; /* Reduce margin for smaller screens */
    }

    .bottom-nav-container {
        display: flex !important;
        justify-content: space-between !important;
        width: 100% !important;
        height: 62px;
        margin-top: 0px !important;
        flex-wrap: nowrap !important;
    }
}

/* iPhone 14 Pro Max and similar larger phones (430px+ wide) */
@media (min-width: 430px) and (max-width: 699px) {
    .mobile-dashboard-item .dashboard-card-title {
        gap: 100px; /* Increase gap for larger screens */
    }
    
    .mobile-dashboard-item .vendor-section {
        width: 100%;
        max-width: 350px;
    }
    
    .mobile-dashboard-item .request-id-section {
        width: 100%;
    }
    
    .mobile-dashboard-item .round-chip {
        max-width: 49%; /* Use more space on larger screens */
    }
    
    .mobile-dashboard-item .request-type-text {
        max-width: 70%; /* Allow more text space */
    }
}

/* iPhone 12 Mini and smaller devices (375px and below) */
@media (max-width: 375px) {
    .mobile-dashboard-item .dashboard-card-title {
        gap: 40px; /* Further reduce gap */
    }
    
    .mobile-dashboard-item .round-chip {
        max-width: 46%;
        font-size: 11px; /* Slightly smaller text */
    }
    
    .mobile-dashboard-item .customer-contract-text {
        font-size: 11px;
    }
    
    .mobile-dashboard-item .request-type-text {
        max-width: 55%;
        font-size: 13px;
    }

    .mobile-dashboard-item .ptw-request-type-text {
        font-size: 13px;
    }
    
    .mobile-dashboard-item {
        margin: 8px;
        padding: 10px 12px;
    }
    
    /* Ensure text doesn't overflow on very small screens */
    .mobile-dashboard-item .vendor-title,
    .mobile-dashboard-item .location,
    .mobile-dashboard-item .request-id-text {
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
}


.mobile-ptw-header {
    background: #fff;
    padding: 8px;
}

.header-actions {
    margin-bottom: 2px;
}

.identifier-line {
    font-weight: 400;
    font-size: 16px;
}

.permit-title {
    font-weight: 500;
    line-height: 1.15;
    margin: 0 0 2px 0;
    font-size: 20px;
    line-height: 24px;
    padding-left: 12px;
}

.status-line {
    padding-left: 12px;
    font-size: 14px;
}

.back-btn {
    padding-top: 0;
}

.journey-stage-container {
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
}

.mobile-ptw-stages-wrapper {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: .35rem .25rem .55rem .25rem;
}

.menu-popover-spacing {
    margin-top: 4px;
}

.mobile-ptw-stage {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 64px;
}

    .mobile-ptw-stage:last-child {
        margin-right: 0;
    }

.stage-connector {
    flex: 1;
    height: 2px;
    min-width: 40px;
    background: var(--flat-disable,#c4c4c4);
    position: relative;
    top: -12px;
} 

.mobile-stage-avatar {
    z-index: 2;
    cursor: pointer;
}

.mobile-stage-label {
    margin-top: 4px;
    white-space: nowrap;
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.hide-mobile-section {
    display: none !important;
}