.eng-controls-mobile-wrap {
    display: none
}

.eng-controls-desktop-wrap {
    display: block
}

.eng-mobile-activity-card,.eng-mobile-verification-block {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.eng-mobile-activity-header,.eng-mobile-verification-block>h4 {
    padding: 14px 14px 10px;
    margin: 0
}

.eng-mobile-activity-header h4,.eng-mobile-verification-block h4 {
    margin: 0 0 8px
}

.activity-exposure-mobile-card-title h4,.admin-controls-mobile-card-title h4,.baseline-meter-mobile-card-title h4,.combined-exposure-mobile-card-title h4,.controlled-activity-mobile-card-title h4,.controlled-combined-exposure-mobile-card-title h4,.employer-jobsite-mobile-card-title h4,.eng-mobile-activity-header p,.engineered-controls-mobile-card-title h4,.final-combined-exposure-mobile-card-title h4,.ppe-mobile-card-title h4,.purpose-mobile-card-title h4,.silica-summary-mobile-card-title h4,.workers-mobile-card-title h4 {
    margin: 0
}

.eng-mobile-item {
    padding: 12px 14px
}

.eng-mobile-item,.eng-mobile-third-party-item+.eng-mobile-third-party-item {
    border-top: 1px solid #ececec
}

.eng-mobile-row+.eng-mobile-row {
    margin-top: 10px
}

.eng-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.eng-mobile-value,.eng-mobile-value a {
    word-break: break-word
}

.admin-mobile-value img,.eng-mobile-value img {
    max-width: 100%!important;
    height: auto;
    display: block;
    margin-top: 8px;
    border-radius: 6px
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .eng-controls-desktop-wrap {
        display: none!important
    }

    .eng-controls-mobile-wrap {
        display: block!important
    }
}

@media print {
    .eng-controls-desktop-wrap {
        display: block!important
    }

    .eng-controls-mobile-wrap {
        display: none!important
    }
}

.admin-controls-mobile-wrap {
    display: none
}

.admin-controls-desktop-wrap {
    display: block
}

.admin-controls-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.admin-controls-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.admin-controls-mobile-card-body {
    padding: 0
}

.admin-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.admin-mobile-row:first-child,.silica-summary-mobile-row:first-child,.silica-summary-mobile-subcard .silica-summary-mobile-row:first-child {
    border-top: 0
}

.admin-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.admin-mobile-value,.admin-mobile-value a {
    word-break: break-word
}

.admin-controls-mobile-subcard {
    margin: 12px 14px;
    padding: 12px;
    border: 1px solid #ececec;
    border-radius: 8px;
    background: #fafafa
}

.admin-controls-mobile-subcard h5,.purpose-mobile-subcard h5 {
    margin: 0 0 10px
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .admin-controls-desktop-wrap {
        display: none!important
    }

    .admin-controls-mobile-wrap {
        display: block!important
    }
}

@media print {
    .admin-controls-desktop-wrap {
        display: block!important
    }

    .admin-controls-mobile-wrap {
        display: none!important
    }
}

.silica-process-summary-mobile-wrap {
    display: none
}

.silica-process-summary-desktop-wrap {
    display: block
}

.silica-summary-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.silica-summary-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.silica-summary-mobile-card-body {
    padding: 0
}

.silica-summary-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.silica-summary-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.silica-summary-mobile-value {
    word-break: break-word
}

.silica-summary-mobile-subcard {
    margin: 12px 14px;
    padding: 12px;
    border: 1px solid #ececec;
    border-radius: 8px;
    background: #fafafa
}

.silica-summary-mobile-subcard .silica-summary-mobile-row {
    padding-left: 0;
    padding-right: 0
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .silica-process-summary-desktop-wrap {
        display: none!important
    }

    .silica-process-summary-mobile-wrap {
        display: block!important
    }
}

@media print {
    .silica-process-summary-desktop-wrap {
        display: block!important
    }

    .silica-process-summary-mobile-wrap {
        display: none!important
    }
}

.purpose-responsibility-mobile-wrap {
    display: none
}

.purpose-responsibility-desktop-wrap {
    display: block
}

.purpose-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.purpose-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.purpose-mobile-card-body {
    padding: 0
}

.purpose-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.ppe-mobile-row:first-child,.ppe-mobile-subcard .ppe-mobile-row:first-child,.purpose-mobile-row:first-child {
    border-top: 0
}

.purpose-mobile-value {
    word-break: break-word
}

.purpose-mobile-subcard {
    margin: 12px 14px;
    padding: 12px;
    border: 1px solid #ececec;
    border-radius: 8px;
    background: #fafafa
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .purpose-responsibility-desktop-wrap {
        display: none!important
    }

    .purpose-responsibility-mobile-wrap {
        display: block!important
    }
}

@media print {
    .purpose-responsibility-desktop-wrap {
        display: block!important
    }

    .purpose-responsibility-mobile-wrap {
        display: none!important
    }
}

.ppe-summary-mobile-wrap {
    display: none
}

.ppe-summary-desktop-wrap {
    display: block
}

.ppe-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.ppe-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.ppe-mobile-card-body {
    padding: 0
}

.ppe-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.ppe-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.ppe-mobile-value {
    word-break: break-word
}

.ppe-mobile-subcard {
    margin: 12px 14px;
    padding: 12px;
    border: 1px solid #ececec;
    border-radius: 8px;
    background: #fafafa
}

.ppe-mobile-subcard .ppe-mobile-row {
    padding-left: 0;
    padding-right: 0
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .ppe-summary-desktop-wrap {
        display: none!important
    }

    .ppe-summary-mobile-wrap {
        display: block!important
    }
}

@media print {
    .ppe-summary-desktop-wrap {
        display: block!important
    }

    .ppe-summary-mobile-wrap {
        display: none!important
    }
}

.employer-jobsite-summary-mobile-wrap {
    display: none
}

.employer-jobsite-summary-desktop-wrap {
    display: block
}

.employer-jobsite-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.employer-jobsite-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.employer-jobsite-mobile-card-body {
    padding: 0
}

.employer-jobsite-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.activity-exposure-mobile-row:first-child,.controlled-activity-mobile-row:first-child,.employer-jobsite-mobile-row:first-child {
    border-top: 0
}

.employer-jobsite-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.employer-jobsite-mobile-value {
    word-break: break-word
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .employer-jobsite-summary-desktop-wrap {
        display: none!important
    }

    .employer-jobsite-summary-mobile-wrap {
        display: block!important
    }
}

@media print {
    .employer-jobsite-summary-desktop-wrap {
        display: block!important
    }

    .employer-jobsite-summary-mobile-wrap {
        display: none!important
    }
}

.activity-exposure-summary-mobile-wrap {
    display: none
}

.activity-exposure-summary-desktop-wrap {
    display: block
}

.activity-exposure-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.activity-exposure-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.activity-exposure-mobile-card-body {
    padding: 0
}

.activity-exposure-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.activity-exposure-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.activity-exposure-mobile-value {
    word-break: break-word
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .activity-exposure-summary-desktop-wrap {
        display: none!important
    }

    .activity-exposure-summary-mobile-wrap {
        display: block!important
    }
}

@media print {
    .activity-exposure-summary-desktop-wrap {
        display: block!important
    }

    .activity-exposure-summary-mobile-wrap {
        display: none!important
    }
}

.controlled-activity-exposure-mobile-wrap {
    display: none
}

.controlled-activity-exposure-desktop-wrap {
    display: block
}

.controlled-activity-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.controlled-activity-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.controlled-activity-mobile-card-body {
    padding: 0
}

.controlled-activity-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.controlled-activity-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.controlled-activity-mobile-value {
    word-break: break-word
}

.controlled-activity-mobile-risk-rec {
    margin-top: 10px
}

.controlled-activity-mobile-value .meter-wrapper {
    max-width: 100%
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .controlled-activity-exposure-desktop-wrap {
        display: none!important
    }

    .controlled-activity-exposure-mobile-wrap {
        display: block!important
    }
}

@media print {
    .controlled-activity-exposure-desktop-wrap {
        display: block!important
    }

    .controlled-activity-exposure-mobile-wrap {
        display: none!important
    }
}

.baseline-meter-mobile-wrap {
    display: none
}

.baseline-meter-desktop-wrap {
    display: block
}

.baseline-meter-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.baseline-meter-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.baseline-meter-mobile-card-body {
    padding: 0
}

.baseline-meter-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.baseline-meter-mobile-row:first-child {
    border-top: 0
}

.baseline-meter-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.baseline-meter-mobile-value {
    word-break: break-word
}

.baseline-meter-mobile-risk-rec {
    margin-top: 10px
}

.baseline-meter-mobile-value .meter-wrapper {
    max-width: 100%
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .baseline-meter-desktop-wrap {
        display: none!important
    }

    .baseline-meter-mobile-wrap {
        display: block!important
    }
}

@media print {
    .baseline-meter-desktop-wrap {
        display: block!important
    }

    .baseline-meter-mobile-wrap {
        display: none!important
    }
}

.combined-exposure-mobile-wrap {
    display: none
}

.combined-exposure-desktop-wrap {
    display: block
}

.combined-exposure-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.combined-exposure-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.combined-exposure-mobile-card-body {
    padding: 0
}

.combined-exposure-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.combined-exposure-mobile-row:first-child {
    border-top: 0
}

.combined-exposure-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.combined-exposure-mobile-value {
    word-break: break-word
}

.combined-exposure-mobile-risk-rec {
    margin-top: 10px
}

.combined-exposure-mobile-value .meter-wrapper {
    max-width: 100%
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .combined-exposure-desktop-wrap {
        display: none!important
    }

    .combined-exposure-mobile-wrap {
        display: block!important
    }
}

@media print {
    .combined-exposure-desktop-wrap {
        display: block!important
    }

    .combined-exposure-mobile-wrap {
        display: none!important
    }
}

.controlled-combined-exposure-mobile-wrap {
    display: none
}

.controlled-combined-exposure-desktop-wrap {
    display: block
}

.controlled-combined-exposure-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.controlled-combined-exposure-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.controlled-combined-exposure-mobile-card-body {
    padding: 0
}

.controlled-combined-exposure-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.controlled-combined-exposure-mobile-row:first-child {
    border-top: 0
}

.controlled-combined-exposure-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.controlled-combined-exposure-mobile-value {
    word-break: break-word
}

.controlled-combined-exposure-mobile-risk-rec {
    margin-top: 10px
}

.controlled-combined-exposure-mobile-value .meter-wrapper {
    max-width: 100%
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .controlled-combined-exposure-desktop-wrap {
        display: none!important
    }

    .controlled-combined-exposure-mobile-wrap {
        display: block!important
    }
}

@media print {
    .controlled-combined-exposure-desktop-wrap {
        display: block!important
    }

    .controlled-combined-exposure-mobile-wrap {
        display: none!important
    }
}

.final-combined-exposure-mobile-wrap {
    display: none
}

.final-combined-exposure-desktop-wrap {
    display: block
}

.final-combined-exposure-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.final-combined-exposure-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.final-combined-exposure-mobile-card-body {
    padding: 0
}

.final-combined-exposure-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.final-combined-exposure-mobile-row:first-child {
    border-top: 0
}

.final-combined-exposure-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.final-combined-exposure-mobile-value {
    word-break: break-word
}

.final-combined-exposure-mobile-risk-rec {
    margin-top: 10px
}

.final-combined-exposure-mobile-value .meter-wrapper {
    max-width: 100%
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .final-combined-exposure-desktop-wrap {
        display: none!important
    }

    .final-combined-exposure-mobile-wrap {
        display: block!important
    }
}

@media print {
    .final-combined-exposure-desktop-wrap {
        display: block!important
    }

    .final-combined-exposure-mobile-wrap {
        display: none!important
    }
}

.signature-column {
    box-sizing: border-box
}

.signature-pad-canvas {
    width: 100%!important;
    max-width: 400px;
    height: 150px;
    box-sizing: border-box
}

.signature-button-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    #creator-signing.halfCols,#verification-signature.halfCols {
        width: 100%!important;
        float: none!important;
        margin-bottom: 20px
    }

    .signature-pad-canvas {
        max-width: 100%;
        height: 150px
    }
}

.engineered-controls-mobile-wrap {
    display: none
}

.engineered-controls-desktop-wrap {
    display: block
}

.engineered-controls-mobile-card,.workers-mobile-card {
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 18px;
    overflow: hidden
}

.engineered-controls-mobile-card-title,.workers-mobile-card-title {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #ececec
}

.engineered-controls-mobile-card-body,.workers-mobile-card-body {
    padding: 0
}

.engineered-controls-mobile-row,.workers-mobile-row {
    padding: 12px 14px;
    border-top: 1px solid #ececec
}

.engineered-controls-mobile-row:first-child,.engineered-controls-mobile-subcard .engineered-controls-mobile-row:first-child,.workers-mobile-row:first-child,.workers-mobile-subcard .workers-mobile-row:first-child {
    border-top: 0
}

.engineered-controls-mobile-label,.workers-mobile-label {
    font-weight: 700;
    margin-bottom: 4px
}

.engineered-controls-mobile-value,.workers-mobile-value {
    word-break: break-word
}

.engineered-controls-mobile-subcard,.workers-mobile-subcard {
    margin: 12px 14px;
    padding: 12px;
    border: 1px solid #ececec;
    border-radius: 8px;
    background: #fafafa
}

.engineered-controls-mobile-subcard .engineered-controls-mobile-row,.workers-mobile-subcard .workers-mobile-row {
    padding-left: 0;
    padding-right: 0
}

.workers-table-mobile-wrap {
    display: none
}

.workers-table-desktop-wrap {
    display: block
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .engineered-controls-desktop-wrap,.workers-table-desktop-wrap {
        display: none!important
    }

    .engineered-controls-mobile-wrap,.workers-table-mobile-wrap {
        display: block!important
    }
}

@media print {
    .engineered-controls-desktop-wrap,.workers-table-desktop-wrap {
        display: block!important
    }

    .engineered-controls-mobile-wrap,.workers-table-mobile-wrap {
        display: none!important
    }
}

@media (max-width:767px) and (hover:none) and (pointer:coarse) {
    [data-loader-instance^=loader-],body>div[style*="position: fixed"][style*="z-index: 9999"],chat-widget {
        display: none!important
    }
}

.jobsites-mobile-wrap {
    display: none
}

.jobsites-table-desktop-wrap {
    display: block
}

.jobsite-mobile-card {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    padding: 16px;
    margin: 0 0 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06)
}

.jobsite-mobile-card-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start
}

.jobsite-mobile-card h3,.jobsite-mobile-card h4,.jobsite-mobile-card h5,.jobsite-mobile-card p,.manage-contractors-page .contractor-portal-mobile-card h4,.manage-contractors-page .contractor-portal-mobile-card h5,.manage-contractors-page .contractor-portal-mobile-card p {
    margin-top: 0
}

.jobsite-mobile-card h3 {
    margin-bottom: 4px
}

.jobsite-mobile-subtitle {
    color: #666;
    font-size: 14px
}

.jobsite-mobile-status {
    flex: 0 0 auto;
    max-width: 42%;
    text-align: right;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.25
}

.jobsite-mobile-section {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e5e5e5
}

.jobsite-mobile-count {
    font-weight: 700;
    color: #333
}

.jobsite-mobile-toggle-content {
    margin-top: 12px
}

.jobsite-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.jobsite-mobile-mini-card {
    background: #f9f9f9;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    padding: 12px
}

.jobsite-mobile-mini-card h5 {
    margin-bottom: 8px
}

.jobsite-mobile-mini-card p {
    margin-bottom: 6px
}

.jobsite-mobile-warning-red {
    color: #c0392b;
    font-weight: 700
}

.jobsite-mobile-warning-orange {
    color: #e67e22;
    font-weight: 700
}

.jobsite-mobile-actions .button,.jobsite-mobile-card .button,.jobsite-mobile-inline-form .button {
    width: 100%;
    display: block!important;
    box-sizing: border-box;
    text-align: center;
    margin: 8px 0 0!important
}

.jobsite-mobile-inline-form {
    margin: 8px 0 0
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .jobsites-table-desktop-wrap {
        display: none!important
    }

    .jobsites-mobile-wrap {
        display: block!important
    }

    .search-sort-form .qtrCols {
        width: 100%!important;
        float: none!important;
        margin-right: 0!important;
        margin-bottom: 12px
    }

    .search-sort-form .button,.search-sort-form button,.search-sort-form input,.search-sort-form select {
        width: 100%!important;
        box-sizing: border-box
    }

    #add_jobsite {
        width: 100%;
        display: block;
        box-sizing: border-box;
        text-align: center
    }
}

@media print {
    .jobsites-table-desktop-wrap {
        display: block!important
    }

    .jobsites-mobile-wrap {
        display: none!important
    }
}

.dashboard-plans-mobile-wrap {
    display: none
}

.dashboard-plans-desktop-wrap {
    display: block
}

.dashboard-mobile-summary-grid {
    display: none
}

.dashboard-plan-mobile-card {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    padding: 16px;
    margin: 0 0 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06)
}

.dashboard-plan-mobile-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start
}

.dashboard-plan-mobile-header h4 {
    margin: 0 0 6px
}

.dashboard-plan-mobile-id {
    flex: 0 0 auto;
    font-weight: 700;
    color: #555;
    background: #f1f1f1;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 13px
}

.dashboard-plan-mobile-section {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e5e5e5
}

.dashboard-plan-mobile-section h5,.dashboard-plan-mobile-section p,.manage-contractors-page .contractor-portal-mobile-section p {
    margin: 0 0 8px
}

.dashboard-plan-mobile-actions .button,.dashboard-plan-mobile-card .button {
    width: 100%;
    display: block!important;
    box-sizing: border-box;
    text-align: center;
    margin: 8px 0 0!important
}

.dashboard-plan-mobile-badges {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.dashboard-plan-mobile-icons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center
}

.dashboard-plan-mobile-icons .thirdCols {
    float: none!important;
    width: auto!important;
    max-width: 90px
}

.dashboard-plan-mobile-icons img {
    max-width: 70px!important;
    height: auto
}

.dashboard-plan-mobile-traffic-light {
    text-align: center;
    margin-top: 10px
}

.dashboard-plan-mobile-activity-list {
    margin-left: 18px;
    padding-left: 0
}

.dashboard-account-mobile-card,.dashboard-quicklinks-mobile-card {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    padding: 16px;
    margin: 0 0 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06)
}

.dashboard-quicklinks-mobile-card .button {
    width: 100%;
    display: block!important;
    box-sizing: border-box;
    text-align: center;
    margin: 8px 0 0!important
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .dashboard-plans-desktop-wrap {
        display: none!important
    }

    .dashboard-plans-mobile-wrap {
        display: block!important
    }

    .dashboard-desktop-summary-grid {
        display: none!important
    }

    .dashboard-mobile-summary-grid {
        display: block!important
    }

    .search-sort-form .qtrCols {
        width: 100%!important;
        float: none!important;
        margin-right: 0!important;
        margin-bottom: 12px
    }

    .search-sort-form .button,.search-sort-form button,.search-sort-form input,.search-sort-form select {
        width: 100%!important;
        box-sizing: border-box
    }

    #intro-video-container .halfCols {
        width: 100%!important;
        float: none!important;
        padding: 0!important
    }

    .dashboard .content .halfCols {
        width: 100%!important;
        float: none!important;
        padding-left: 0!important;
        padding-right: 0!important
    }
}

@media print {
    .dashboard-plans-desktop-wrap {
        display: block!important
    }

    .dashboard-mobile-summary-grid,.dashboard-plans-mobile-wrap {
        display: none!important
    }

    .dashboard-desktop-summary-grid {
        display: block!important
    }
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .exp-badge {
        width: 100%!important;
        max-width: 100%!important;
        min-width: 0!important;
        box-sizing: border-box;
        aspect-ratio: 4/1;
        padding-top: .85em;
        background-size: 100% 100%;
        overflow: hidden
    }

    .exp-badge span {
        font-size: clamp(11px,3vw,14px);
        line-height: 1.1;
        text-align: center;
        max-width: 92%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .dashboard-plan-mobile-traffic-light,.exposure-planning-mobile-traffic-light,.pending-signature-mobile-traffic-light, .partner-builder-silica-mobile-traffic-light {
        display: none
    }
}

.manage-contractors-page .tabs-nav {
    display: flex;
    gap: 8px;
    border-bottom: 1px solid #e5e5e5;
    margin: 8px 0 16px;
    flex-wrap: wrap
}

.manage-contractors-page .tabs-nav a {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #e5e5e5;
    border-bottom: none;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    background: #f9f9f9;
    text-decoration: none;
    color: #333
}

.manage-contractors-page .tabs-nav a.active {
    background: #fff;
    font-weight: 600
}

.contractor-mobile-wrap,.manage-contractors-page .contractor-portal-mobile-card-wrap,.manage-contractors-page .tab-panel,.silica-mobile-wrap,.submissions-mobile-wrap {
    display: none
}

.contractor-desktop-wrap,.manage-contractors-page .contractor-portal-desktop-table-wrap,.manage-contractors-page .tab-panel.active,.silica-desktop-wrap,.submissions-desktop-wrap {
    display: block
}

.contractor-mobile-card,.manage-contractors-page .contractor-portal-mobile-card,.silica-mobile-card,.submission-mobile-card {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    padding: 16px;
    margin: 0 0 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06)
}

.manage-contractors-page .contractor-portal-mobile-section {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e5e5e5
}

.manage-contractors-page .contractor-portal-mobile-label {
    display: block;
    font-weight: 700;
    color: #333;
    margin-bottom: 4px
}

.manage-contractors-page .contractor-portal-mobile-actions .button,.manage-contractors-page .contractor-portal-mobile-card .button {
    width: 100%;
    display: block!important;
    box-sizing: border-box;
    text-align: center;
    margin: 8px 0 0!important
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .manage-contractors-page .tabs-nav {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 8px;
        border-bottom: none;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch
    }

    .manage-contractors-page .tabs-nav a {
        flex: 0 0 auto;
        border: 1px solid #e5e5e5;
        border-radius: 999px;
        white-space: nowrap;
        font-size: 14px;
        padding: 9px 14px
    }

    .manage-contractors-page .tabs-nav a.active {
        box-shadow: 0 2px 8px rgba(0,0,0,.08)
    }

    .manage-contractors-page .contractor-portal-desktop-table-wrap {
        display: none!important
    }

    .manage-contractors-page .contractor-portal-mobile-card-wrap {
        display: block!important
    }

    .manage-contractors-page .content>p em {
        display: block;
        font-size: 13px;
        margin-bottom: 10px
    }

    .manage-contractors-page .fullCols,.manage-contractors-page .halfCols,.manage-contractors-page .qtrCols,.manage-contractors-page .thirdCols {
        width: 100%!important;
        float: none!important;
        box-sizing: border-box
    }

    .manage-contractors-page .button,.manage-contractors-page button,.manage-contractors-page input,.manage-contractors-page select,.manage-contractors-page textarea {
        max-width: 100%;
        box-sizing: border-box
    }

    .manage-contractors-page .button {
        white-space: normal
    }

    .manage-contractors-page table.dashboard-table,.manage-contractors-page table.silica-table,.manage-contractors-page table.summary-table,.manage-contractors-page table.table {
        width: 100%!important
    }

    .manage-contractors-page table.dashboard-table:not(#employerRatingsTable):not(#contractorRatingsTable),.manage-contractors-page table.silica-table,.manage-contractors-page table.summary-table:not(#employerRatingsTable):not(#contractorRatingsTable),.manage-contractors-page table.table:not(#employerRatingsTable):not(#contractorRatingsTable) {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .manage-contractors-page .exp-badge {
        width: 100%!important;
        max-width: 100%!important;
        min-width: 0!important;
        box-sizing: border-box;
        aspect-ratio: 4/1;
        padding: .85em 8px 0;
        background-size: 100% 100%!important;
        background-repeat: no-repeat;
        overflow: hidden;
        display: flex!important;
        align-items: center;
        justify-content: center
    }

    .manage-contractors-page .exp-badge span {
        font-size: clamp(11px,3vw,14px);
        line-height: 1.1;
        text-align: center;
        max-width: 92%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }
}

@media print {
    .manage-contractors-page .contractor-portal-desktop-table-wrap {
        display: block!important
    }

    .manage-contractors-page .contractor-portal-mobile-card-wrap {
        display: none!important
    }
}

.contractor-mobile-card h4,.contractor-mobile-card h5,.contractor-mobile-card p,.silica-mobile-card h4,.silica-mobile-card h5,.silica-mobile-card p,.submission-mobile-card h4,.submission-mobile-card h5,.submission-mobile-card p {
    margin-top: 0
}

.contractor-mobile-header,.silica-mobile-header,.submission-mobile-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start
}

.contractor-mobile-id,.silica-mobile-id,.submission-mobile-id {
    flex: 0 0 auto;
    font-weight: 700;
    color: #555;
    background: #f1f1f1;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 13px
}

.contractor-mobile-section,.silica-mobile-section,.submission-mobile-section {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e5e5e5
}

.contractor-mobile-actions .button,.contractor-mobile-card .button,.silica-mobile-actions .button,.silica-mobile-card .button,.submission-mobile-actions .button,.submission-mobile-card .button {
    width: 100%;
    display: block!important;
    box-sizing: border-box;
    text-align: center;
    margin: 8px 0 0!important
}

.contractor-mobile-jobsite-list,.silica-mobile-list,.submission-mobile-list {
    margin-left: 18px;
    padding-left: 0
}

.contractor-mobile-jobsite-list li,.silica-mobile-list li,.submission-mobile-list li {
    margin: 7px 0
}

.contractor-mobile-inline-add-jobsites {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #eee
}

.contractor-mobile-inline-add-jobsites label {
    display: block;
    margin: 6px 0
}

.contractor-mobile-inline-add-jobsites input[type=checkbox] {
    margin-right: 6px
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .contractor-desktop-wrap,.silica-desktop-wrap,.submissions-desktop-wrap {
        display: none!important
    }

    .contractor-mobile-wrap,.silica-mobile-wrap,.submissions-mobile-wrap {
        display: block!important
    }

    #addContactorPanel .thirdCols,#inviteContractorWrap .thirdCols {
        width: 100%!important;
        float: none!important;
        box-sizing: border-box;
        margin-bottom: 12px
    }

    #addContactorPanel button,#addContactorPanel input,#addContactorPanel select,#inviteContractorWrap button,#inviteContractorWrap input,#inviteContractorWrap select {
        width: 100%!important;
        box-sizing: border-box;
        margin-left: 0!important
    }

    #toggleAddContactor {
        width: 100%;
        display: block;
        box-sizing: border-box
    }

    .autocomplete-menu {
        position: relative!important;
        top: auto!important;
        left: auto!important;
        right: auto!important;
        width: 100%;
        margin-top: 6px
    }

    .assign-inline button,.assign-inline select,.contractor-editor button,.contractor-editor select {
        width: 100%!important;
        max-width: 100%!important;
        box-sizing: border-box;
        margin: 8px 0 0!important
    }

    .pagination {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px
    }

    .pagination .button {
        width: auto!important;
        display: inline-block!important
    }
}

@media print {
    .contractor-desktop-wrap,.silica-desktop-wrap,.submissions-desktop-wrap {
        display: block!important
    }

    .contractor-mobile-wrap,.silica-mobile-wrap,.submissions-mobile-wrap {
        display: none!important
    }
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    #authSideBanner .banner-cta,.auth-container {
        width: 100%;
        max-width: 100%;
        display: block;
        box-sizing: border-box;
        margin: 0
    }

    .auth-container {
        min-height: 100vh;
        padding: 0;
        overflow-x: hidden
    }

    #authSideBanner,#authSideSection {
        width: 100%!important;
        max-width: 100%!important;
        float: none!important;
        clear: both!important;
        display: block!important;
        padding: 22px 16px 16px!important;
        margin: 0!important;
        box-sizing: border-box
    }

    #authSideSection h1 {
        font-size: 24px;
        line-height: 1.2;
        margin: 0 0 10px
    }

    #authSideSection p {
        font-size: 15px;
        line-height: 1.4
    }

    #authSideBanner {
        min-height: 0!important;
        height: auto!important;
        padding: 10px 16px 24px!important;
        text-align: center!important
    }

    #authSideBanner .banner-cta {
        padding: 14px;
        border: 1px solid #e5e5e5;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0,0,0,.05)
    }

    #authSideBanner h3 {
        font-size: 15px;
        line-height: 1.35;
        margin: 0 0 10px
    }

    #authSideBanner h4 {
        font-size: 14px;
        line-height: 1.35;
        font-weight: 500;
        margin: 10px 0 0
    }

    #authSideBanner .button {
        width: 100%;
        display: block;
        box-sizing: border-box;
        white-space: normal;
        margin: 10px 0;
        padding-top: 10px;
        padding-bottom: 10px
    }

    #subscription-options label,.tab-links {
        display: flex;
        gap: 8px;
        width: 100%;
        box-sizing: border-box
    }

    .tab-links {
        margin: 18px 0
    }

    .tab-links .button,.tab-links .login-reg-tab,.tab-links .tab-button {
        flex: 1 1 0;
        width: auto!important;
        min-width: 0;
        display: block;
        box-sizing: border-box;
        text-align: center;
        padding-left: 10px;
        padding-right: 10px;
        white-space: normal
    }

    .tab-content {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box
    }

    #authSideSection .fullCols,#authSideSection .halfCols,#authSideSection .qtrCols,#authSideSection .thirdCols,.auth-form-group,.auth-form-group.fields {
        width: 100%!important;
        max-width: 100%!important;
        float: none!important;
        clear: both!important;
        display: block;
        box-sizing: border-box;
        margin-right: 0!important;
        margin-left: 0!important;
        margin-bottom: 14px
    }

    .auth-form-group label {
        display: block;
        margin-bottom: 6px;
        line-height: 1.35
    }

    .auth-form-group label.inline {
        display: inline;
        margin-bottom: 0
    }

    #authSideSection input[type=email],#authSideSection input[type=password],#authSideSection input[type=text],#authSideSection select,#forgotten-password-email {
        width: 100%!important;
        max-width: 100%!important;
        min-height: 42px;
        box-sizing: border-box
    }

    #authSideSection input[type=checkbox],#authSideSection input[type=radio] {
        width: auto!important;
        max-width: none!important;
        min-height: 0;
        box-sizing: border-box
    }

    .auth-checkbox-option,.auth-role-option,.auth-subscription-option {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin: 10px 0
    }

    .auth-checkbox-option input,.auth-role-option input,.auth-subscription-option input {
        flex: 0 0 auto;
        margin-top: 4px;
        margin-right: 0
    }

    .auth-checkbox-option label,.auth-role-option label,.auth-subscription-option label {
        flex: 1 1 auto;
        margin-bottom: 0
    }

    #association_discount,#company_suggestions,#employee_fields,#employer_fields,#enterprise_code,#subscription-options {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box
    }

    #subscription-options .tooltip,#subscription-options>div {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 10px 0;
        border-bottom: 1px solid #eee
    }

    #subscription-options label {
        align-items: flex-start;
        line-height: 1.4
    }

    #subscription-options label span {
        flex: 1 1 auto
    }

    .auth-company-search-wrap {
        position: relative
    }

    #company_suggestions {
        position: relative!important;
        width: 100%!important;
        max-width: 100%!important;
        top: auto!important;
        left: auto!important;
        right: auto!important;
        margin-top: 6px;
        z-index: 1000
    }

    #forgotten-password-button,#register_button,.auth-button,button[name=login] {
        width: 100%!important;
        max-width: 100%!important;
        display: block;
        box-sizing: border-box;
        text-align: center;
        min-height: 44px
    }

    #forgotten-password-input,#forgotten-password-section {
        margin-top: 16px;
        width: 100%;
        box-sizing: border-box
    }

    #forgotten-password-input {
        margin-top: 10px
    }

    #forgotten-password-input button,#forgotten-password-input input {
        width: 100%!important;
        max-width: 100%!important;
        display: block;
        margin-top: 8px;
        box-sizing: border-box
    }

    .tooltip .tooltip-text {
        max-width: calc(100vw - 40px);
        left: 0;
        right: auto;
        white-space: normal;
        box-sizing: border-box
    }
}

@media print {
    #authSideBanner {
        display: none!important
    }

    #authSideSection {
        width: 100%!important;
        float: none!important
    }
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .content {
        padding: 15px
    }
}

@media (max-width:420px) and (hover:none) and (pointer:coarse) {
    .content {
        padding: 10px
    }
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .mobile-menu-toggle,.top-bar {
        align-items: center;
        box-sizing: border-box
    }

    .top-bar {
        position: sticky;
        top: 0;
        z-index: 9000;
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 14px;
        background: var(--white);
        color: var(--dark-text);
        box-shadow: var(--box-shadow)
    }

    .top-bar .actions {
        display: none!important
    }

    .top-bar .greeting {
        flex: 1 1 auto;
        min-width: 0;
        font-size: 14px;
        line-height: 1.2;
        color: var(--dark-text);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .mobile-menu-toggle {
        flex: 0 0 auto;
        display: inline-flex!important;
        gap: 8px;
        border: 1px solid var(--primary-color);
        border-radius: 999px;
        padding: 8px 12px;
        cursor: pointer;
        background: var(--primary-color);
        color: var(--white)
    }

    .mobile-menu-toggle-bars {
        display: inline-flex;
        flex-direction: column;
        gap: 4px
    }

    .mobile-menu-toggle-bars span {
        display: block;
        width: 20px;
        height: 2px;
        background: currentColor;
        border-radius: 999px
    }

    .mobile-menu-toggle-text {
        font-size: 14px;
        font-weight: 600
    }

    .mobile-header-menu-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.45);
        z-index: 9990
    }

    .mobile-header-menu {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: min(86vw,360px);
        height: 100vh;
        background: var(--white);
        color: var(--dark-text);
        z-index: 9991;
        transform: translateX(100%);
        transition: transform .22s ease;
        box-shadow: -4px 0 18px var(--box-shadow-color);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch
    }

    body.mobile-menu-open .mobile-header-menu {
        transform: translateX(0)
    }

    body.mobile-menu-open .mobile-header-menu-overlay {
        display: block
    }

    .mobile-header-menu-inner {
        padding: 16px;
        box-sizing: border-box
    }

    .mobile-header-menu-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding-bottom: 14px;
        border-bottom: 1px solid var(--light-bg)
    }

    .mobile-header-menu-head strong {
        display: block;
        font-size: 18px;
        line-height: 1.2;
        color: var(--dark-text)
    }

    .mobile-header-menu-head span {
        display: block;
        font-size: 13px;
        color: var(--dark-text);
        opacity: .75;
        margin-top: 3px
    }

    .mobile-menu-close {
        flex: 0 0 auto;
        border: 0;
        background: 0 0;
        color: var(--dark-text);
        font-size: 30px;
        line-height: 1;
        cursor: pointer;
        padding: 0 4px
    }

    .mobile-header-menu-section {
        padding: 14px 0;
        border-bottom: 1px solid var(--light-bg)
    }

    .mobile-header-menu-section h5 {
        margin: 0 0 8px;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: .04em;
        color: var(--primary-color)
    }

    .mobile-menu-link {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        box-sizing: border-box;
        padding: 11px 10px;
        border-radius: 8px;
        text-decoration: none;
        color: var(--dark-text);
        line-height: 1.25
    }

    .mobile-menu-link i {
        width: 20px;
        flex: 0 0 20px;
        text-align: center;
        color: var(--primary-color)
    }

    .mobile-menu-link span {
        flex: 1 1 auto
    }

    .mobile-menu-link-disabled,.mobile-menu-link:hover {
        background: var(--light-bg)
    }

    .mobile-menu-link-disabled,.mobile-menu-link-disabled i {
        color: var(--dark-text);
        opacity: .55
    }

    .mobile-menu-link-highlight {
        border: 2px solid var(--orange);
        background: var(--trans-orange)
    }

    .mobile-menu-link-logout {
        font-weight: 700
    }

    .mobile-menu-link-logout,.mobile-menu-link-logout i {
        color: var(--danger-color)
    }

    .mobile-header-menu-section-final {
        border-bottom: 0;
        padding-bottom: 24px
    }

    #adminNotificationTopbar {
        width: 100%;
        flex-basis: 100%
    }

    .exposure-plannings-desktop-wrap {
        display: none!important
    }

    .exposure-plannings-mobile-wrap {
        display: block!important
    }

    .exposure-planning-mobile-card {
        width: 100%;
        max-width: 100%
    }

    .exposure-planning-mobile-card .plan-rename-edit button,.exposure-planning-mobile-card .plan-rename-edit input {
        width: 100%!important;
        max-width: 100%!important;
        box-sizing: border-box;
        margin-top: 8px
    }

    .exposure-planning-mobile-card .exp-badge {
        width: 100%!important;
        max-width: 100%!important;
        min-width: 0!important;
        box-sizing: border-box;
        aspect-ratio: 4/1;
        padding: .85em 8px 0;
        background-size: 100% 100%!important;
        background-repeat: no-repeat;
        overflow: hidden;
        display: flex!important;
        align-items: center;
        justify-content: center
    }

    .exposure-planning-mobile-card .exp-badge span {
        font-size: clamp(11px,3vw,14px);
        line-height: 1.1;
        text-align: center;
        max-width: 92%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .search-sort-form .qtrCols {
        width: 100%!important;
        float: none!important;
        margin-right: 0!important;
        margin-bottom: 12px;
        box-sizing: border-box
    }

    .search-sort-form .button,.search-sort-form button,.search-sort-form input,.search-sort-form select {
        width: 100%!important;
        max-width: 100%!important;
        box-sizing: border-box
    }
}

@media print {
    .exposure-plannings-desktop-wrap {
        display: block!important
    }

    .exposure-plannings-mobile-wrap {
        display: none!important
    }
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .container,.dashboard {
        margin: 12px auto 16px!important;
        padding-top: 10px!important
    }

    .pending-signatures-desktop-wrap {
        display: none!important
    }

    .pending-signatures-mobile-wrap {
        display: block!important
    }

    .pending-signature-mobile-card {
        width: 100%;
        max-width: 100%
    }

    .pending-signature-mobile-card .exp-badge {
        width: 100%!important;
        max-width: 100%!important;
        min-width: 0!important;
        box-sizing: border-box;
        aspect-ratio: 4/1;
        padding: .85em 8px 0;
        background-size: 100% 100%!important;
        background-repeat: no-repeat;
        overflow: hidden;
        display: flex!important;
        align-items: center;
        justify-content: center
    }

    .pending-signature-mobile-card .exp-badge span {
        font-size: clamp(11px,3vw,14px);
        line-height: 1.1;
        text-align: center;
        max-width: 92%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .search-sort-form .qtrCols {
        width: 100%!important;
        float: none!important;
        margin-right: 0!important;
        margin-bottom: 12px;
        box-sizing: border-box
    }

    .search-sort-form .button,.search-sort-form button,.search-sort-form input,.search-sort-form select {
        width: 100%!important;
        max-width: 100%!important;
        box-sizing: border-box
    }
}

@media print {
    .pending-signatures-desktop-wrap {
        display: block!important
    }

    .pending-signatures-mobile-wrap {
        display: none!important
    }
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .messaging-container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box
    }

    .messaging-container>.button {
        width: 100%;
        display: block;
        box-sizing: border-box;
        text-align: center;
        margin-bottom: 14px
    }

    .messaging-desktop-wrap {
        display: none!important
    }

    .messaging-mobile-wrap {
        display: block!important
    }

    .messaging-mobile-card {
        width: 100%;
        max-width: 100%
    }

    .messaging-search-form .qtrCols {
        width: 100%!important;
        float: none!important;
        margin-right: 0!important;
        margin-bottom: 12px;
        box-sizing: border-box
    }

    .messaging-search-form .button,.messaging-search-form button,.messaging-search-form input,.messaging-search-form select {
        width: 100%!important;
        max-width: 100%!important;
        box-sizing: border-box
    }

    .messaging-search-form input[type=submit] {
        min-height: 44px
    }

    .pagination {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px
    }

    .pagination .button {
        width: auto!important;
        display: inline-block!important;
        margin: 4px 0!important
    }
}

@media print {
    .messaging-desktop-wrap {
        display: block!important
    }

    .messaging-mobile-wrap {
        display: none!important
    }
}

@media (max-width:768px) and (hover:none) and (pointer:coarse) {
    .account-form-container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box
    }

    .account-form-container h2 {
        font-size: 24px;
        line-height: 1.2;
        margin-top: 0
    }

    .account-form-container h3 {
        margin-top: 22px
    }

    .account-details-table,.account-details-table tbody,.account-details-table td,.account-details-table th,.account-details-table tr {
        display: block;
        width: 100%!important;
        max-width: 100%;
        box-sizing: border-box
    }

    .account-details-table colgroup {
        display: none
    }

    .account-details-table tr {
        background: var(--white);
        border: 1px solid #e2e2e2;
        border-radius: 12px;
        margin: 0 0 14px;
        padding: 14px;
        box-shadow: var(--box-shadow)
    }

    .account-details-table th {
        border: 0!important;
        padding: 0 0 6px!important;
        text-align: left!important;
        font-size: 13px;
        line-height: 1.3;
        color: var(--primary-color);
        text-transform: uppercase;
        letter-spacing: .03em;
        background: 0 0!important
    }

    .account-details-table td {
        border: 0!important;
        padding: 0!important;
        background: 0 0!important
    }

    .account-details-table h5 {
        margin: 0;
        line-height: 1.35;
        word-break: break-word
    }

    .account-details-table input[type=email],.account-details-table input[type=tel],.account-details-table input[type=text],.account-details-table input[type=url] {
        width: 100%!important;
        max-width: 100%!important;
        min-height: 42px;
        box-sizing: border-box
    }

    .account-mobile-row {
        display: block;
        width: 100%
    }

    .account-mobile-input-wrap {
        width: 100%;
        min-width: 0;
        margin-bottom: 8px
    }

    #btn-user-submit-code,#btn-user-verify-sms,#save-primary-account-details {
        width: 100%!important;
        display: block!important;
        box-sizing: border-box;
        text-align: center;
        min-height: 44px;
        margin-top: 8px
    }

    .account-sms-verify-ui {
        width: 100%;
        box-sizing: border-box;
        margin-top: 10px
    }

    .account-sms-code-input {
        width: 100%!important;
        max-width: 100%!important;
        margin-right: 0!important;
        margin-bottom: 8px;
        min-height: 42px;
        box-sizing: border-box
    }

    .iti {
        width: 100%
    }

    .account-save-actions {
        text-align: left
    }

    .account-save-actions .button {
        width: 100%!important;
        display: block!important;
        float: none!important;
        box-sizing: border-box;
        text-align: center
    }

    .account-order-history {
        margin-top: 22px
    }
}

@media print {
    .account-details-table,.account-details-table tbody,.account-details-table td,.account-details-table th,.account-details-table tr {
        display: revert
    }
}

/* =========================================================
   Partner Manage Builders mobile cards
   Mobile stylesheet
   ========================================================= */

@media (max-width: 768px) and (hover: none) and (pointer: coarse) {
    .partner-manage-builders-form .qtrCols {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 12px;
        box-sizing: border-box;
    }

    .partner-manage-builders-form input,
    .partner-manage-builders-form select,
    .partner-manage-builders-form button,
    .partner-manage-builders-form .button {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .partner-builders-desktop-wrap {
        display: none !important;
    }

    .partner-builders-mobile-wrap {
        display: block !important;
    }

    .partner-builder-mobile-card {
        width: 100%;
        max-width: 100%;
    }

    .partner-builder-mobile-card a {
        word-break: break-word;
    }

    .pagination {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
    }

    .pagination .button {
        width: auto !important;
        display: inline-block !important;
        margin: 4px 0 !important;
    }
}

@media print {
    .partner-builders-desktop-wrap {
        display: block !important;
    }

    .partner-builders-mobile-wrap {
        display: none !important;
    }
}

/* =========================================================
   Partner Builder Jobsites mobile cards
   Mobile stylesheet
   ========================================================= */

@media (max-width: 768px) and (hover: none) and (pointer: coarse) {
    .partner-builder-jobsites-form .qtrCols {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 12px;
        box-sizing: border-box;
    }

    .partner-builder-jobsites-form input,
    .partner-builder-jobsites-form select,
    .partner-builder-jobsites-form button,
    .partner-builder-jobsites-form .button {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    #add_builder_jobsite {
        width: 100%;
        display: block;
        box-sizing: border-box;
        text-align: center;
    }

    .partner-builder-jobsites-desktop-wrap {
        display: none !important;
    }

    .partner-builder-jobsites-mobile-wrap {
        display: block !important;
    }

    .partner-builder-jobsite-mobile-card {
        width: 100%;
        max-width: 100%;
    }

    .partner-builder-jobsite-mobile-card a {
        word-break: break-word;
    }

    .partner-contractor-modal-inner {
        width: calc(100% - 24px);
        max-height: calc(100vh - 24px);
        margin: 12px auto;
        padding: 16px;
    }

    .partner-contractor-modal .halfCols,
    .partner-contractor-modal .qtrCols,
    .partner-contractor-modal .fullCols {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 12px;
        box-sizing: border-box;
    }

    .partner-contractor-modal input,
    .partner-contractor-modal select,
    .partner-contractor-modal textarea,
    .partner-contractor-modal button,
    .partner-contractor-modal .button {
        width: 100% !important;
        max-width: 100% !important;
        display: block;
        box-sizing: border-box;
        text-align: center;
        margin: 8px 0 0 0 !important;
    }

    .partner-contractor-modal-close {
        width: auto !important;
        display: inline-block !important;
        margin: 0 !important;
    }
}

@media print {
    .partner-builder-jobsites-desktop-wrap {
        display: block !important;
    }

    .partner-builder-jobsites-mobile-wrap {
        display: none !important;
    }
}

/* =========================================================
   Partner Builder Silica Plans mobile cards
   Mobile stylesheet
   ========================================================= */

@media (max-width: 768px) and (hover: none) and (pointer: coarse) {
    .partner-builder-silica-desktop-wrap {
        display: none !important;
    }

    .partner-builder-silica-mobile-wrap {
        display: block !important;
    }

    .partner-builder-silica-mobile-card {
        width: 100%;
        max-width: 100%;
    }

    .partner-builder-silica-mobile-card .exp-badge {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        aspect-ratio: 4 / 1;
        padding: 0.85em 8px 0 8px;
        background-size: 100% 100% !important;
        background-repeat: no-repeat;
        overflow: hidden;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .partner-builder-silica-mobile-card .exp-badge span {
        font-size: clamp(11px, 3vw, 14px);
        line-height: 1.1;
        text-align: center;
        max-width: 92%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .partner-builder-silica-form .qtrCols,
    .search-sort-form .qtrCols {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 12px;
        box-sizing: border-box;
    }

    .partner-builder-silica-form input,
    .partner-builder-silica-form select,
    .partner-builder-silica-form button,
    .partner-builder-silica-form .button,
    .search-sort-form input,
    .search-sort-form select,
    .search-sort-form button,
    .search-sort-form .button {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

@media print {
    .partner-builder-silica-desktop-wrap {
        display: block !important;
    }

    .partner-builder-silica-mobile-wrap {
        display: none !important;
    }
}

/* =========================================================
   Company Details mobile formatting
   Mobile stylesheet
   ========================================================= */

@media (max-width: 768px) and (hover: none) and (pointer: coarse) {
    .company-details-wrap {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    #company-tab h2 {
        font-size: 24px;
        line-height: 1.2;
        margin-top: 0;
    }

    #company-tab p {
        font-size: 15px;
        line-height: 1.45;
    }

    .company-details,
    .company-details thead,
    .company-details tbody,
    .company-details tr,
    .company-details th,
    .company-details td {
        display: block;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .company-details colgroup {
        display: none;
    }

    .company-details {
        border: 0;
        margin: 0 0 18px 0;
        background: transparent;
    }

    .company-details thead {
        margin-bottom: 8px;
    }

    .company-details th {
        display: block;
        border: 0 !important;
        padding: 0 0 8px 0 !important;
        text-align: left !important;
        font-size: 15px;
        line-height: 1.35;
        color: var(--primary-color);
        background: transparent !important;
    }

    .company-details tr {
        background: var(--white);
        border: 1px solid #e2e2e2;
        border-radius: 12px;
        padding: 14px;
        margin: 0 0 14px 0;
        box-shadow: var(--box-shadow);
    }

    .company-details td {
        border: 0 !important;
        padding: 0 0 14px 0 !important;
        background: transparent !important;
    }

    .company-details td:last-child {
        padding-bottom: 0 !important;
    }

    .company-details label {
        display: block;
        margin-bottom: 6px;
        line-height: 1.35;
    }

    .company-details input[type="text"],
    .company-details input[type="email"],
    .company-details input[type="file"],
    .company-details select {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 42px;
        box-sizing: border-box;
    }

    .company-details input[type="file"] {
        padding: 8px 0;
        min-height: 0;
    }

    .company-details-employee-count {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 10px 8px;
        align-items: center;
        width: 100%;
    }

    .company-details-employee-count input[type="radio"] {
        width: auto !important;
        max-width: none !important;
        min-height: 0;
        margin: 0;
    }

    .company-details-employee-count label.employee-count-radio {
        margin: 0;
        display: block;
    }

    .company-details-logo-preview {
        max-width: 100%;
        width: auto;
        height: auto;
        margin-top: 8px;
    }

    .company-details-actions {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }

    .company-details-actions .button {
        width: 100% !important;
        display: block !important;
        float: none !important;
        box-sizing: border-box;
        text-align: center;
        min-height: 44px;
        margin: 0 !important;
    }
}

@media print {
    .company-details,
    .company-details thead,
    .company-details tbody,
    .company-details tr,
    .company-details th,
    .company-details td {
        display: revert;
    }
}

/* =========================================================
   Monitoring Devices mobile cards
   Mobile stylesheet
   ========================================================= */

@media (max-width: 768px) and (hover: none) and (pointer: coarse) {
    #requestDeviceBtn {
        width: 100%;
        display: block;
        box-sizing: border-box;
        text-align: center;
        margin-bottom: 14px;
    }

    .monitoring-devices-desktop-wrap {
        display: none !important;
    }

    .monitoring-devices-mobile-wrap {
        display: block !important;
    }

    .monitoring-device-mobile-card {
        width: 100%;
        max-width: 100%;
    }

    .monitoring-device-mobile-header {
        flex-direction: column;
    }

    .monitoring-device-mobile-node {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }

    .monitoring-device-status-light .sensor-val span {
        font-size: 6em !important;
    }

     .monitoring-device-status-light .sensor-val > span.local-ts, .monitoring-device-status-light .sensor-val > span.checked-ts {
        font-size:1.1em!important;
     }

    .monitoring-device-metric-grid {
        grid-template-columns: 1fr;
    }

    .monitoring-device-metric {
        text-align: left;
    }

    .monitoring-device-metric h6 {
        color: var(--primary-color);
    }

    #requestModal {
        padding: 12px;
        box-sizing: border-box;
        overflow-y: auto;
    }

    .monitoring-request-modal-inner {
        width: 100%;
        max-height: calc(100vh - 24px);
        margin: 0 auto;
        padding: 16px;
    }

    #requestModal .thirdCols,
    #requestModal .halfCols,
    #requestModal .fullCols {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 12px;
        box-sizing: border-box;
    }

    #requestModal input,
    #requestModal select,
    #requestModal textarea,
    #requestModal button,
    #requestModal .button {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    #requestModal input[type="checkbox"] {
        width: auto !important;
        max-width: none !important;
    }

    #requestModal label {
        line-height: 1.35;
    }
}

@media print {
    .monitoring-devices-desktop-wrap {
        display: block !important;
    }

    .monitoring-devices-mobile-wrap {
        display: none !important;
    }
}