:root {
    --mobile-crm-nav-height: 64px;
    --mobile-crm-safe-bottom: env(safe-area-inset-bottom, 0px);
    --mobile-crm-accent: #2563eb;
    --mobile-crm-accent-strong: #1d4ed8;
    --mobile-crm-teal: #0f9f8f;
    --mobile-crm-bg: #f3f6f9;
    --mobile-crm-surface: #ffffff;
    --mobile-crm-surface-soft: #f8fafc;
    --mobile-crm-border: #dbe3ec;
    --mobile-crm-text: #152033;
    --mobile-crm-sub: #617086;
    --mobile-crm-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
}

.mobile-crm-bottom-nav {
    display: none;
}

.mobile-crm-bottom-nav[hidden] {
    display: none !important;
}

@media (max-width: 1024px) {
    html,
    body.mobile-crm-a-page {
        max-width: 100%;
        overflow-x: clip;
    }

    body.mobile-crm-a-page {
        background: var(--mobile-crm-bg);
        padding-bottom: calc(var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom));
    }

    body.mobile-crm-a-page[data-exec-theme="dark"] {
        --mobile-crm-bg: #080d1a;
        --mobile-crm-surface: #101827;
        --mobile-crm-surface-soft: #151f31;
        --mobile-crm-border: #263247;
        --mobile-crm-text: #e6edf7;
        --mobile-crm-sub: #9aa9be;
        --mobile-crm-shadow: 0 -8px 24px rgba(0, 0, 0, 0.36);
    }

    body.mobile-crm-a-page .sidebar,
    body.mobile-crm-a-page .sidebar-backdrop,
    body.mobile-crm-a-page .exec-topbar-shell,
    body.mobile-crm-a-page .footer {
        display: none !important;
    }

    body.mobile-crm-a-page .main-content,
    body.mobile-crm-a-page .main-content-expanded,
    body.mobile-crm-a-page .exec-v2-main {
        width: 100%;
        min-width: 0;
        min-height: 100dvh;
        margin-left: 0 !important;
        padding: 0 !important;
        background: var(--mobile-crm-bg) !important;
    }

    body.mobile-crm-a-page > #app {
        min-height: 100dvh;
    }

    .mobile-crm-bottom-nav {
        position: fixed;
        z-index: 1080;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        height: calc(var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom));
        padding: 6px max(8px, env(safe-area-inset-right, 0px)) var(--mobile-crm-safe-bottom) max(8px, env(safe-area-inset-left, 0px));
        border-top: 1px solid var(--mobile-crm-border);
        background: var(--mobile-crm-surface);
        background: color-mix(in srgb, var(--mobile-crm-surface) 96%, transparent);
        box-shadow: var(--mobile-crm-shadow);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .mobile-crm-bottom-nav__item {
        min-width: 0;
        min-height: 52px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        color: var(--mobile-crm-sub);
        text-decoration: none;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.1;
        border-radius: 6px;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-crm-bottom-nav__item i {
        font-size: 19px;
        line-height: 1;
    }

    .mobile-crm-bottom-nav__item.is-active {
        color: var(--mobile-crm-accent);
        background: rgba(37, 99, 235, 0.08);
    }

    body.mobile-crm-a-page[data-exec-theme="dark"] .mobile-crm-bottom-nav__item.is-active {
        color: #74a7ff;
        background: rgba(59, 130, 246, 0.14);
    }

    body.mobile-crm-a-page :is(input, select, textarea),
    body.mobile-crm-a-page :is(.form-control, .form-select) {
        max-width: 100%;
        min-height: 44px;
        font-size: 16px !important;
    }

    body.mobile-crm-a-page :is(button, .btn, a.btn) {
        min-height: 44px;
        touch-action: manipulation;
    }

    body.mobile-crm-a-page :is(.dl2, .drl2, .wr2, .wra) {
        width: 100%;
        min-width: 0;
        min-height: calc(100dvh - var(--mobile-crm-nav-height) - var(--mobile-crm-safe-bottom));
        padding-bottom: calc(28px + var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom)) !important;
        overflow-x: clip;
    }

    /* Delivery log */
    body.mobile-crm-a-page .dl2 {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body.mobile-crm-a-page .dl2-header {
        top: 0;
        min-height: 56px;
        padding: 10px 4px !important;
    }

    body.mobile-crm-a-page .dl2-header__left {
        min-width: 0;
        flex: 1;
        gap: 10px;
        flex-wrap: wrap;
    }

    body.mobile-crm-a-page .dl2-header__title {
        font-size: 20px;
    }

    body.mobile-crm-a-page .dl2-back-btn {
        display: none;
    }

    body.mobile-crm-a-page .dl2-tabs {
        order: 3;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.mobile-crm-a-page .dl2-tab,
    body.mobile-crm-a-page .dl2-theme-btn {
        min-height: 44px;
    }

    body.mobile-crm-a-page .dl2-kpi-bar {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 12px 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    body.mobile-crm-a-page .dl2-kpi-item {
        min-width: 0;
        min-height: 74px;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        align-content: center;
        column-gap: 8px;
        padding: 10px 12px;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--card);
    }

    body.mobile-crm-a-page .dl2-kpi-item__icon {
        grid-row: 1 / 3;
        align-self: center;
        font-size: 19px;
    }

    body.mobile-crm-a-page .dl2-kpi-item__val {
        font-size: 22px;
        line-height: 1.05;
    }

    body.mobile-crm-a-page .dl2-kpi-actions {
        grid-column: 1 / -1;
    }

    body.mobile-crm-a-page .dl2-action-btn {
        width: 100%;
        min-height: 48px;
        border-radius: 8px;
    }

    body.mobile-crm-a-page .dl2-body {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px;
    }

    body.mobile-crm-a-page .dl2-panel {
        order: -1;
        width: 100% !important;
        max-width: none;
        border-radius: 8px;
    }

    body.mobile-crm-a-page .dl2-panel__head {
        min-height: 52px;
        padding: 10px 14px;
    }

    body.mobile-crm-a-page .dl2-panel__head h3,
    body.mobile-crm-a-page .dl2-modal__head h3 {
        min-width: 0;
        margin: 0;
        font-size: 17px;
        overflow-wrap: anywhere;
    }

    body.mobile-crm-a-page .dl2-panel__form {
        padding: 14px;
    }

    body.mobile-crm-a-page .dl2-panel__form :is(.dl2-input, .dl2-select, .dl2-textarea) {
        width: 100%;
    }

    body.mobile-crm-a-page .dl2-submit-btn {
        position: sticky;
        z-index: 8;
        bottom: calc(var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom) + 8px);
        width: 100%;
        min-height: 48px;
        margin-top: 12px;
        box-shadow: 0 8px 22px rgba(37, 99, 235, 0.24);
    }

    body.mobile-crm-a-page .dl2-filters {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
        border-radius: 8px;
        background: var(--card);
    }

    body.mobile-crm-a-page .dl2-filters :is(.dl2-select, .dl2-input) {
        width: 100%;
    }

    body.mobile-crm-a-page .dl2-result-count {
        align-self: center;
        text-align: right;
    }

    body.mobile-crm-a-page .dl2-table-wrap {
        overflow: visible !important;
    }

    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table,
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table tbody,
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table tr,
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td {
        display: block;
        width: 100%;
    }

    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table thead {
        display: none;
    }

    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table tr {
        margin-bottom: 10px;
        padding: 8px 12px;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--card);
        box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
    }

    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr);
        align-items: center;
        min-height: 36px;
        padding: 7px 0;
        border: 0;
        border-bottom: 1px solid var(--border);
        overflow-wrap: anywhere;
    }

    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:last-child {
        border-bottom: 0;
    }

    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td::before {
        color: var(--sub);
        font-size: 12px;
        font-weight: 600;
    }

    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:nth-child(1)::before { content: "日期"; }
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:nth-child(2)::before { content: "用户"; }
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:nth-child(3)::before { content: "项目"; }
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:nth-child(4)::before { content: "标题"; }
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:nth-child(5)::before { content: "状态"; }
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:nth-child(6)::before { content: "进度"; }
    body.mobile-crm-a-page .dl2-body .dl2-table-wrap .dl2-table td:nth-child(7)::before { content: "操作"; }

    body.mobile-crm-a-page .dl2-td-actions {
        display: flex !important;
        flex-wrap: wrap;
        gap: 8px;
    }

    body.mobile-crm-a-page .dl2-td-actions::before {
        flex: 0 0 76px;
    }

    body.mobile-crm-a-page .dl2-td-actions :is(button, .dl2-ai-btn) {
        min-width: 44px;
        min-height: 44px;
    }

    body.mobile-crm-a-page .dl2-stats,
    body.mobile-crm-a-page .dl2-card {
        min-width: 0;
    }

    body.mobile-crm-a-page .dl2-stats {
        padding: 4px 0;
    }

    body.mobile-crm-a-page .dl2-stats__head,
    body.mobile-crm-a-page .dl2-card__head,
    body.mobile-crm-a-page .dl2-day-detail__head {
        align-items: flex-start;
        gap: 10px;
        flex-direction: column;
    }

    body.mobile-crm-a-page .dl2-stats__grid {
        grid-template-columns: 1fr !important;
    }

    body.mobile-crm-a-page .dl2-stats .dl2-table {
        table-layout: fixed;
        width: 100%;
        font-size: 12px;
    }

    body.mobile-crm-a-page .dl2-stats .dl2-table th,
    body.mobile-crm-a-page .dl2-stats .dl2-table td {
        padding: 7px 4px;
        overflow-wrap: anywhere;
    }

    body.mobile-crm-a-page .dl2-matrix-wrap {
        max-width: 100%;
        overflow: visible;
    }

    body.mobile-crm-a-page .dl2-matrix,
    body.mobile-crm-a-page .dl2-matrix tbody,
    body.mobile-crm-a-page .dl2-matrix tr,
    body.mobile-crm-a-page .dl2-matrix td {
        display: block;
        width: 100%;
    }

    body.mobile-crm-a-page .dl2-matrix thead {
        display: none;
    }

    body.mobile-crm-a-page .dl2-matrix tr {
        margin-bottom: 10px;
        padding: 8px 12px;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--card);
    }

    body.mobile-crm-a-page .dl2-matrix td {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 0 !important;
        border: 0;
        border-bottom: 1px solid var(--border);
        text-align: right;
    }

    body.mobile-crm-a-page .dl2-matrix td:last-child {
        border-bottom: 0;
    }

    body.mobile-crm-a-page .dl2-matrix td::before {
        content: attr(data-label);
        color: var(--sub);
        font-size: 12px;
        font-weight: 600;
    }

    body.mobile-crm-a-page .dl2-heatmap {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
        gap: 6px;
    }

    body.mobile-crm-a-page .dl2-heatmap__cell {
        width: 100%;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
    }

    body.mobile-crm-a-page .dl2-pagination button,
    body.mobile-crm-a-page .drl2-page-btn {
        min-width: 44px;
        min-height: 44px;
        padding: 6px;
    }

    body.mobile-crm-a-page :is(.dl2-error-state, .drl2-error-state) {
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    body.mobile-crm-a-page :is(.dl2-error-state, .drl2-error-state) button {
        min-height: 44px;
    }

    body.mobile-crm-a-page .dl2-modal-overlay,
    body.mobile-crm-a-page .drl2-modal-overlay {
        z-index: 1200;
        align-items: stretch;
        padding: max(10px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
    }

    body.mobile-crm-a-page .dl2-modal,
    body.mobile-crm-a-page .drl2-modal {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100dvh - 20px) !important;
        margin: 0;
        border-radius: 8px;
    }

    body.mobile-crm-a-page :is(.dl2-modal__head, .drl2-modal__head) {
        min-height: 56px;
        padding: 12px 14px;
    }

    body.mobile-crm-a-page :is(.dl2-modal__head, .drl2-modal__head) > button {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
    }

    body.mobile-crm-a-page :is(.dl2-modal__body, .drl2-modal__body) {
        padding: 14px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.mobile-crm-a-page .dl2-detail-row {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 10px;
    }

    body.mobile-crm-a-page .dl2-relation-group-grid,
    body.mobile-crm-a-page .dl2-task-list__item {
        grid-template-columns: 1fr;
    }

    body.mobile-crm-a-page .dl2-comment-form__bar {
        align-items: center;
        gap: 10px;
    }

    body.mobile-crm-a-page .dl2-comment-submit {
        min-height: 44px;
    }

    /* Sales daily report */
    body.mobile-crm-a-page .drl2 {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body.mobile-crm-a-page .drl2-header {
        min-height: 56px;
        padding: 10px 4px !important;
        flex-direction: row !important;
    }

    body.mobile-crm-a-page .drl2-header__title {
        font-size: 20px;
    }

    body.mobile-crm-a-page .drl2-header__back {
        display: none;
    }

    body.mobile-crm-a-page .drl2-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
        margin: 12px 0;
    }

    body.mobile-crm-a-page .drl2-kpi {
        min-height: 92px;
        padding: 12px 10px;
        border-radius: 8px;
    }

    body.mobile-crm-a-page .drl2-kpi:last-child {
        grid-column: 1 / -1;
        min-height: 80px;
    }

    body.mobile-crm-a-page .drl2-kpi__value {
        font-size: 24px;
    }

    body.mobile-crm-a-page .drl2-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
        padding: 4px;
        border-radius: 8px;
        background: var(--card);
    }

    body.mobile-crm-a-page .drl2-tab {
        min-height: 44px;
    }

    body.mobile-crm-a-page .drl2-filters,
    body.mobile-crm-a-page .drl2-stats-filters {
        padding: 12px;
        border-radius: 8px;
    }

    body.mobile-crm-a-page .drl2-filter-row,
    body.mobile-crm-a-page .drl2-stats-filters {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.mobile-crm-a-page .drl2-filter-group,
    body.mobile-crm-a-page .drl2-input,
    body.mobile-crm-a-page .drl2-select,
    body.mobile-crm-a-page .drl2-input--wide {
        width: 100% !important;
        min-width: 0;
    }

    body.mobile-crm-a-page .drl2-filter-row > :is(.drl2-btn, .drl2-filter-group),
    body.mobile-crm-a-page .drl2-stats-filters > :is(.drl2-btn, .drl2-filter-group) {
        min-width: 0;
    }

    body.mobile-crm-a-page .drl2-filter-meta {
        gap: 10px;
    }

    body.mobile-crm-a-page .drl2-filter-meta .drl2-btn {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    body.mobile-crm-a-page .drl2-report-card {
        padding: 14px;
        border-radius: 8px;
    }

    body.mobile-crm-a-page .drl2-report-card__header,
    body.mobile-crm-a-page .drl2-report-card__user {
        align-items: flex-start;
        gap: 6px;
        flex-wrap: wrap;
    }

    body.mobile-crm-a-page .drl2-report-card__date {
        white-space: nowrap;
    }

    body.mobile-crm-a-page .drl2-report-card__body {
        -webkit-line-clamp: 3;
    }

    body.mobile-crm-a-page .drl2-report-card__footer {
        gap: 8px 12px;
    }

    body.mobile-crm-a-page .drl2-report-card__footer :is(button, .drl2-ai-btn) {
        min-height: 44px;
    }

    body.mobile-crm-a-page .drl2-stats-cards,
    body.mobile-crm-a-page .drl2-stats-dist-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }

    body.mobile-crm-a-page .drl2-stats-card,
    body.mobile-crm-a-page .drl2-stats-dist-item {
        min-width: 0;
        padding: 12px 8px;
        border-radius: 8px;
    }

    body.mobile-crm-a-page .drl2-missing__head,
    body.mobile-crm-a-page .drl2-missing-item__summary,
    body.mobile-crm-a-page .drl2-missing-user,
    body.mobile-crm-a-page .drl2-user-row,
    body.mobile-crm-a-page .drl2-user-row__meta {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.mobile-crm-a-page .drl2-stats-table {
        width: 100%;
        table-layout: fixed;
    }

    body.mobile-crm-a-page .drl2-stats-table th,
    body.mobile-crm-a-page .drl2-stats-table td {
        padding: 10px 6px;
        overflow-wrap: anywhere;
    }

    body.mobile-crm-a-page .drl2-detail-row,
    body.mobile-crm-a-page .drl2-visit-item,
    body.mobile-crm-a-page .drl2-comment-input {
        min-width: 0;
    }

    body.mobile-crm-a-page .drl2-pagination {
        flex-wrap: wrap;
    }

    /* Sales daily report form */
    body.mobile-crm-a-page .daily-report-form-container,
    body.mobile-crm-a-page .daily-report-list-container,
    body.mobile-crm-a-page .daily-report-statistics,
    body.mobile-crm-a-page .daily-report-detail-container {
        width: 100%;
        max-width: 100%;
        padding: 12px 12px calc(92px + var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom));
        overflow-x: clip;
    }

    body.mobile-crm-a-page .daily-report-form-container .breadcrumb,
    body.mobile-crm-a-page .daily-report-list-container .breadcrumb,
    body.mobile-crm-a-page .daily-report-statistics .breadcrumb {
        margin-bottom: 8px;
        font-size: 13px;
        flex-wrap: wrap;
    }

    body.mobile-crm-a-page .daily-report-form-container .card,
    body.mobile-crm-a-page .daily-report-list-container .card,
    body.mobile-crm-a-page .daily-report-statistics .card {
        border: 1px solid var(--mobile-crm-border);
        border-radius: 8px;
        box-shadow: none;
    }

    body.mobile-crm-a-page .daily-report-form-container .card-header {
        min-height: 52px;
        gap: 8px;
        padding: 10px 12px;
        flex-wrap: wrap;
    }

    body.mobile-crm-a-page .daily-report-form-container .card-body {
        padding: 14px 12px;
    }

    body.mobile-crm-a-page .daily-report-form-container .visit-card,
    body.mobile-crm-a-page .daily-report-form-container .card-body > .border.rounded {
        padding: 14px 12px !important;
        padding-top: 52px !important;
        border-radius: 8px !important;
    }

    body.mobile-crm-a-page .daily-report-form-container form > .d-flex.justify-content-end {
        position: fixed;
        z-index: 1070;
        right: 0;
        bottom: calc(var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom));
        left: 0;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
        margin: 0 !important;
        padding: 10px max(12px, env(safe-area-inset-right, 0px)) 10px max(12px, env(safe-area-inset-left, 0px));
        border-top: 1px solid var(--mobile-crm-border);
        background: var(--mobile-crm-surface);
        background: color-mix(in srgb, var(--mobile-crm-surface) 96%, transparent);
        box-shadow: 0 -6px 18px rgba(15, 23, 42, 0.08);
        backdrop-filter: blur(14px);
    }

    body.mobile-crm-a-page .daily-report-form-container form > .d-flex.justify-content-end .btn {
        width: 100%;
        min-height: 48px;
    }

    /* Delivery form and detail reached through the dashboard hash router */
    body.mobile-crm-a-page .delivery-log-form-container,
    body.mobile-crm-a-page .delivery-log-detail-page {
        width: 100%;
        max-width: 100%;
        padding: 14px 12px calc(28px + var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom));
        overflow-x: clip;
    }

    body.mobile-crm-a-page .delivery-log-form-container .page-header,
    body.mobile-crm-a-page .delivery-log-detail-page .page-header {
        align-items: flex-start;
        gap: 12px;
        flex-direction: column;
        margin-bottom: 16px !important;
    }

    body.mobile-crm-a-page .delivery-log-form-container .page-title,
    body.mobile-crm-a-page .delivery-log-detail-page .page-title {
        font-size: 22px;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    body.mobile-crm-a-page .delivery-log-form-container .form-card,
    body.mobile-crm-a-page .delivery-log-form-container .action-card,
    body.mobile-crm-a-page .delivery-log-detail-page .panel {
        border-radius: 8px;
    }

    body.mobile-crm-a-page .delivery-log-form-container .row.g-4 {
        --bs-gutter-y: 12px;
    }

    body.mobile-crm-a-page .delivery-log-form-container .action-card.sticky-top {
        position: sticky !important;
        z-index: 9;
        bottom: calc(var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom) + 8px);
        top: auto !important;
    }

    body.mobile-crm-a-page .delivery-log-form-container .action-card .btn {
        width: 100%;
        min-height: 48px;
    }

    body.mobile-crm-a-page .delivery-log-detail-page :is(.page-grid, .info-grid, .relation-group-grid) {
        grid-template-columns: 1fr !important;
    }

    body.mobile-crm-a-page .delivery-log-detail-page .page-header__actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.mobile-crm-a-page .delivery-log-detail-page .page-header__actions .btn {
        width: 100%;
        margin: 0;
    }

    /* Weekly report */
    body.mobile-crm-a-page .wr2-header {
        position: sticky;
        z-index: 40;
        top: 0;
        min-height: 56px;
        padding: 10px 14px !important;
        border-radius: 0;
    }

    body.mobile-crm-a-page .wr2-header__left {
        min-width: 0;
        gap: 6px;
        flex-direction: column;
        align-items: flex-start;
    }

    body.mobile-crm-a-page .wr2-title {
        font-size: 19px;
    }

    body.mobile-crm-a-page .wr2-body {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px;
        padding: 12px !important;
    }

    body.mobile-crm-a-page .wr2-main,
    body.mobile-crm-a-page .wr2-sidebar {
        width: 100% !important;
        min-width: 0;
    }

    body.mobile-crm-a-page .wr2-sidebar {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px;
    }

    body.mobile-crm-a-page :is(.wr2-status, .wr2-form-card, .wr2-calendar-card, .wr2-history-card) {
        width: 100%;
        min-width: 0 !important;
        border-radius: 8px;
        box-shadow: none;
    }

    body.mobile-crm-a-page .wr2-status {
        padding: 12px 14px;
        margin-bottom: 12px;
    }

    body.mobile-crm-a-page .wr2-status__info {
        gap: 10px;
        align-items: flex-start;
        flex-direction: column;
    }

    body.mobile-crm-a-page .wr2-status__badges {
        width: 100%;
        justify-content: space-between;
    }

    body.mobile-crm-a-page .wr2-toggle {
        min-height: 44px;
        padding: 8px 14px;
    }

    body.mobile-crm-a-page .wr2-form-card {
        padding: 14px;
    }

    body.mobile-crm-a-page .wr2-field-row,
    body.mobile-crm-a-page .wr2-date-range,
    body.mobile-crm-a-page .wr2-workdata__item {
        flex-direction: column !important;
    }

    body.mobile-crm-a-page .wr2-date-range {
        align-items: stretch;
    }

    body.mobile-crm-a-page .wr2-date-sep {
        text-align: center;
    }

    body.mobile-crm-a-page .wr2-workdata__header {
        align-items: flex-start;
        gap: 10px;
        padding: 12px;
        flex-direction: column;
    }

    body.mobile-crm-a-page .wr2-workdata__title {
        min-width: 0;
        flex-wrap: wrap;
    }

    body.mobile-crm-a-page .wr2-workdata__actions {
        width: 100%;
        justify-content: space-between;
    }

    body.mobile-crm-a-page .wr2-fill-btn {
        min-height: 44px;
        padding: 8px 14px;
    }

    body.mobile-crm-a-page .wr2-workdata__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.mobile-crm-a-page .wr2-workdata__item {
        align-items: flex-start;
        gap: 6px;
    }

    body.mobile-crm-a-page .wr2-workdata__content,
    body.mobile-crm-a-page .wr2-workdata__meta {
        width: 100%;
        min-width: 0;
    }

    body.mobile-crm-a-page .wr2-workdata__meta {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    body.mobile-crm-a-page .wr2-actions {
        position: sticky;
        z-index: 8;
        bottom: calc(var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom) + 8px);
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 0 -6px -6px;
        padding: 10px 6px 6px;
        background: inherit;
    }

    body.mobile-crm-a-page .wr2-actions .wr2-btn {
        width: 100%;
        min-height: 48px;
    }

    body.mobile-crm-a-page .wr2-manager-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    body.mobile-crm-a-page .wr2-calendar__day,
    body.mobile-crm-a-page .wr2-calendar__day-header {
        min-width: 0;
        aspect-ratio: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Weekly report manager */
    body.mobile-crm-a-page .wra {
        padding: 12px 12px calc(28px + var(--mobile-crm-nav-height) + var(--mobile-crm-safe-bottom)) !important;
    }

    body.mobile-crm-a-page .wra-header {
        min-height: 56px;
        margin-bottom: 14px;
        padding: 8px 0 12px;
    }

    body.mobile-crm-a-page .wra-header__left {
        min-width: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    body.mobile-crm-a-page .wra-header__title {
        font-size: 19px;
        overflow-wrap: anywhere;
    }

    body.mobile-crm-a-page .wra-header__time {
        font-size: 12px;
    }

    body.mobile-crm-a-page .wra-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
        margin-bottom: 14px;
    }

    body.mobile-crm-a-page .wra-stat {
        min-width: 0;
        padding: 12px 10px;
    }

    body.mobile-crm-a-page .wra-toolbar,
    body.mobile-crm-a-page .wra-toolbar__left,
    body.mobile-crm-a-page .wra-toolbar__right {
        width: 100%;
        align-items: stretch;
    }

    body.mobile-crm-a-page .wra-toolbar {
        flex-direction: column;
        gap: 10px;
    }

    body.mobile-crm-a-page .wra-toolbar__left {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.mobile-crm-a-page .wra-toolbar__right {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.mobile-crm-a-page :is(.wra-select, .wra-user-picker, .wra-btn) {
        width: 100%;
        min-width: 0;
    }

    body.mobile-crm-a-page .wra-user-picker__trigger,
    body.mobile-crm-a-page .wra-btn {
        min-height: 44px;
    }

    body.mobile-crm-a-page .wra-view-switch {
        display: none !important;
    }

    body.mobile-crm-a-page .wra-card-grid {
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    body.mobile-crm-a-page .wra-card {
        min-width: 0;
        padding: 14px;
        border-radius: 8px;
    }

    body.mobile-crm-a-page .wra-card:hover {
        transform: none;
    }

    body.mobile-crm-a-page .wra-pagination {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 14px 0;
    }

    body.mobile-crm-a-page .wra-pagination__btns {
        max-width: 100%;
        flex-wrap: wrap;
    }

    body.mobile-crm-a-page .wra-page-btn {
        min-width: 44px;
        min-height: 44px;
    }

    body.mobile-crm-a-page .wra-preview-backdrop {
        z-index: 1200;
        padding: max(10px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
    }

    body.mobile-crm-a-page .wra-preview {
        width: 100%;
        max-height: calc(100dvh - 20px);
        border-radius: 8px;
    }

    body.mobile-crm-a-page .wra-preview__close {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 420px) {
    body.mobile-crm-a-page .dl2-filters,
    body.mobile-crm-a-page .drl2-filter-row,
    body.mobile-crm-a-page .drl2-stats-filters {
        grid-template-columns: 1fr;
    }

    body.mobile-crm-a-page .drl2-filter-meta,
    body.mobile-crm-a-page .drl2-report-card__header {
        align-items: flex-start;
        flex-direction: column;
    }

    body.mobile-crm-a-page .delivery-log-detail-page .page-header__actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) and (orientation: landscape) and (max-height: 520px) {
    :root {
        --mobile-crm-nav-height: 56px;
    }

    .mobile-crm-bottom-nav {
        padding-top: 3px;
    }

    .mobile-crm-bottom-nav__item {
        min-height: 48px;
    }

    .mobile-crm-bottom-nav__item i {
        font-size: 17px;
    }

    body.mobile-crm-a-page .dl2-kpi-bar {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.mobile-crm-a-page .dl2-kpi-actions {
        grid-column: 1 / -1;
    }

    body.mobile-crm-a-page .drl2-kpis {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    body.mobile-crm-a-page .drl2-kpi:last-child {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.mobile-crm-a-page *,
    body.mobile-crm-login * {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Login uses the same A direction without the authenticated bottom navigation. */
@media (max-width: 1024px) {
    html[data-exec-theme="light"] body.mobile-crm-login,
    body.mobile-crm-login[data-exec-theme="light"] {
        min-height: 100dvh;
        height: auto;
        padding: max(24px, env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));
        overflow-x: clip;
        overflow-y: auto;
        background: #eef4f8;
    }

    html[data-exec-theme="dark"] body.mobile-crm-login,
    body.mobile-crm-login[data-exec-theme="dark"] {
        min-height: 100dvh;
        height: auto;
        padding: max(24px, env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));
        overflow-x: clip;
        overflow-y: auto;
        background: #090f1b;
    }

    body.mobile-crm-login::before,
    body.mobile-crm-login::after,
    body.mobile-crm-login .floating-shapes {
        display: none;
    }

    body.mobile-crm-login .login-container {
        width: min(100%, 420px);
        max-width: 420px;
        padding: 0;
    }

    body.mobile-crm-login .login-card {
        padding: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    body.mobile-crm-login .login-card::before {
        display: none;
    }

    body.mobile-crm-login .logo-section {
        margin-bottom: 28px;
    }

    body.mobile-crm-login .logo-icon {
        width: 68px;
        height: 68px;
        margin-bottom: 18px;
        border-radius: 8px;
        background: linear-gradient(135deg, #2563eb 0%, #0f9f8f 100%);
        box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
    }

    body.mobile-crm-login .welcome-text {
        color: #152033;
        font-size: 26px;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    body.mobile-crm-login .subtitle {
        max-width: 360px;
        margin: 8px auto 0;
        color: #617086;
        line-height: 1.55;
    }

    body.mobile-crm-login .form-group {
        margin-bottom: 18px;
    }

    body.mobile-crm-login .form-label {
        color: #34445b;
    }

    body.mobile-crm-login .form-control {
        min-height: 52px;
        border: 1px solid #cfd9e5;
        border-radius: 8px;
        background: #ffffff;
        font-size: 16px;
        box-shadow: none;
    }

    body.mobile-crm-login .form-control:focus {
        border-color: #2563eb;
        background: #ffffff;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    }

    body.mobile-crm-login .remember-section {
        min-height: 44px;
        margin-bottom: 20px;
        gap: 16px;
    }

    body.mobile-crm-login .form-check-input {
        width: 20px;
        height: 20px;
    }

    body.mobile-crm-login .login-btn {
        min-height: 52px;
        border-radius: 8px;
        background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
        box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
    }

    html[data-exec-theme="dark"] body.mobile-crm-login .welcome-text,
    html[data-exec-theme="dark"] body.mobile-crm-login .form-label,
    html[data-exec-theme="dark"] body.mobile-crm-login .form-check-label,
    body.mobile-crm-login[data-exec-theme="dark"] .welcome-text,
    body.mobile-crm-login[data-exec-theme="dark"] .form-label,
    body.mobile-crm-login[data-exec-theme="dark"] .form-check-label {
        color: #e6edf7;
    }

    html[data-exec-theme="dark"] body.mobile-crm-login .subtitle,
    body.mobile-crm-login[data-exec-theme="dark"] .subtitle {
        color: #9aa9be;
    }

    html[data-exec-theme="dark"] body.mobile-crm-login .text-muted,
    body.mobile-crm-login[data-exec-theme="dark"] .text-muted {
        color: #94a3b8 !important;
    }

    html[data-exec-theme="dark"] body.mobile-crm-login .form-control,
    body.mobile-crm-login[data-exec-theme="dark"] .form-control {
        border-color: #2a3850;
        background: #111a2a;
        color: #edf3fb;
    }

    html[data-exec-theme="dark"] body.mobile-crm-login .form-control::placeholder,
    body.mobile-crm-login[data-exec-theme="dark"] .form-control::placeholder {
        color: #73839a;
    }
}

@media (max-width: 1024px) and (max-height: 600px) {
    body.mobile-crm-login {
        align-items: flex-start;
        padding-top: max(12px, env(safe-area-inset-top, 0px));
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
    }

    body.mobile-crm-login .logo-section {
        margin-bottom: 8px;
    }

    body.mobile-crm-login .custom-logo {
        margin-bottom: 4px !important;
    }

    body.mobile-crm-login .custom-logo img {
        width: 56px !important;
        max-height: 56px !important;
    }

    body.mobile-crm-login .logo-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 10px;
    }

    body.mobile-crm-login .logo-icon i {
        font-size: 22px;
    }

    body.mobile-crm-login .welcome-text {
        font-size: 20px;
    }

    body.mobile-crm-login .subtitle {
        display: none;
    }

    body.mobile-crm-login .form-group {
        margin-bottom: 6px;
    }

    body.mobile-crm-login .form-label {
        margin-bottom: 2px;
        font-size: 14px;
    }

    body.mobile-crm-login .form-control,
    body.mobile-crm-login .login-btn {
        min-height: 46px;
    }

    body.mobile-crm-login .remember-section {
        min-height: 36px;
        margin-bottom: 4px;
    }

    body.mobile-crm-login .text-center.mt-4 {
        display: none;
    }
}
