/* QIDIAN Commercial APP001 FIX18
   Native-only mobile administration repair.

   Desktop PATCH050 remains untouched. Personnel data stays in real tables:
   one employee per row, vertical page scrolling, horizontal table scrolling. */

html.qidian-mobile-app-layout,
html.qidian-mobile-app-layout body,
html.qidian-mobile-app-layout #app {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

/* APP001 FIX20 PRELIMINARY LOCK — mobile-only dashboard and personnel density.
   Desktop WEB remains governed exclusively by the frozen PATCH050 stylesheet. */
@media (max-width: 900px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding: 7px 4px 9px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    box-sizing: border-box !important;
    position: relative !important;
    display: grid !important;
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    aspect-ratio: 1 / 1 !important;
    place-items: center !important;
    border-radius: 50% !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    box-sizing: border-box !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    inset: -5px !important;
    width: 114px !important;
    min-width: 114px !important;
    max-width: 114px !important;
    height: 114px !important;
    min-height: 114px !important;
    max-height: 114px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-group-detail-row {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-label {
    pointer-events: none !important;
    cursor: default !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td) {
    box-sizing: border-box !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 4px !important;
    line-height: 1.05 !important;
    vertical-align: middle !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td).qidian-mobile-number-col {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding-inline: 3px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td).qidian-mobile-name-col {
    width: 204px !important;
    min-width: 204px !important;
    max-width: 204px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(.employee-avatar-mini, .qidian-mobile-generated-avatar) {
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    font-size: 8.5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table .employee-cell {
    min-height: 22px !important;
    gap: 5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(.button, button, select, input) {
    min-height: 24px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="en-US"] body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="es-US"] body #app .employee-table-wrap > table.employee-data-table {
    width: max-content !important;
    min-width: 1122px !important;
    max-width: none !important;
    table-layout: auto !important;
  }
}

html.qidian-mobile-app-layout body {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  touch-action: pan-x pan-y;
}

@media (max-width: 900px) {
  /* Keep the iOS safe area and the three permanent controls predictable. */
  html.qidian-mobile-app-layout .app-shell:not(.management-sidebar-open) > .main > .topbar.topbar--floating-controls {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout .content,
  html.qidian-mobile-app-layout .content.content--schedule,
  html.qidian-mobile-app-layout .content.content--leader-schedule {
    padding-top: 10px !important;
  }

  /* Decorative circles and hover arrows were covering values on real phones. */
  html.qidian-mobile-app-layout .overview-metric::after,
  html.qidian-mobile-app-layout .overview-metric.dashboard-link::after,
  html.qidian-mobile-app-layout .dashboard-link-hint {
    content: none !important;
    display: none !important;
  }

  html.qidian-mobile-app-layout .overview-metric {
    isolation: isolate;
    min-height: 92px !important;
    padding: 13px !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout .overview-metric > span:not(.metric-icon):not(.dashboard-link-hint) {
    top: 15px !important;
    left: 68px !important;
  }

  html.qidian-mobile-app-layout .overview-metric > b {
    top: 43px !important;
    left: 68px !important;
    font-size: 25px !important;
  }

  /* Mobile dashboard: core figures first; detailed WEB-style analytics unfold on demand. */
  html.qidian-mobile-app-layout .dashboard-showcase-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure {
    display: block !important;
    margin: 10px 0 !important;
    border: 1px solid #d9e7ee !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(31, 83, 111, .05) !important;
    overflow: clip !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary {
    display: flex !important;
    min-height: 54px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    color: #183653 !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary::-webkit-details-marker { display: none !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary span { display: grid !important; gap: 2px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary strong { font-size: 15px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary small { color: #7b91a2 !important; font-size: 11px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary i {
    color: #269fcf !important;
    font-size: 20px !important;
    font-style: normal !important;
    line-height: 1 !important;
    transition: transform .18s ease !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure[open] > summary i { transform: rotate(180deg) !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure[open] > summary { border-bottom: 1px solid #e7eff3 !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure__body { padding: 10px !important; }

  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-showcase-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card,
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-group-card {
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 168px minmax(0, 1fr) !important;
    min-height: 0 !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 6px 14px !important;
  }

  /* Preserve the WEB chart geometry, colors and segmented-ring interaction. */
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    width: 164px !important;
    height: 164px !important;
    background: conic-gradient(var(--ring-color) calc(var(--progress) * 1%), #e7edf5 0) !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring.has-independent-segments {
    background: transparent !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 114px !important;
    height: 114px !important;
    background: #fff !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-content b { font-size: 27px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row {
    min-height: 40px !important;
    padding: 6px 7px !important;
    font-size: 11px !important;
  }

  /* Every personnel directory uses one dense row per person. */
  html.qidian-mobile-app-layout :is(
    .employee-table-wrap,
    .schedule-table-wrap,
    .response-only-table-wrap,
    .attendance-table-wrap,
    .attendance-registration-table-wrap,
    .attendance-review-table-wrap,
    .exception-table-wrap,
    .payroll-rate-table-wrap,
    .payroll-preview-table-wrap,
    .permission-account-table-wrap,
    .group-detail-table-wrap,
    .group-shift-table-wrap,
    .leader-desktop-roster
  ) {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
    border: 1px solid #dbe8ef !important;
    border-radius: 12px !important;
    background: #fff !important;
    scrollbar-width: thin;
  }

  html.qidian-mobile-app-layout :is(
    .employee-table-wrap,
    .schedule-table-wrap,
    .response-only-table-wrap,
    .attendance-table-wrap,
    .attendance-registration-table-wrap,
    .attendance-review-table-wrap,
    .exception-table-wrap,
    .payroll-rate-table-wrap,
    .payroll-preview-table-wrap,
    .permission-account-table-wrap,
    .group-detail-table-wrap,
    .group-shift-table-wrap,
    .leader-desktop-roster
  ) > table {
    display: table !important;
    width: max-content !important;
    max-width: none !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
  }

  html.qidian-mobile-app-layout :is(
    .employee-data-table,
    .schedule-table-modern,
    .response-only-table-wrap > table,
    .attendance-table,
    .attendance-registration-table-wrap > table,
    .attendance-review-table-wrap > table,
    .exception-table-wrap > table,
    .payroll-rate-table,
    .payroll-preview-table-wrap > table,
    .permission-account-table,
    .group-detail-table,
    .group-shift-table,
    .leader-self-table
  ) > thead {
    display: table-header-group !important;
  }

  html.qidian-mobile-app-layout :is(
    .employee-data-table,
    .schedule-table-modern,
    .response-only-table-wrap > table,
    .attendance-table,
    .attendance-registration-table-wrap > table,
    .attendance-review-table-wrap > table,
    .exception-table-wrap > table,
    .payroll-rate-table,
    .payroll-preview-table-wrap > table,
    .permission-account-table,
    .group-detail-table,
    .group-shift-table,
    .leader-self-table
  ) > tbody {
    display: table-row-group !important;
  }

  html.qidian-mobile-app-layout :is(
    .employee-data-table,
    .schedule-table-modern,
    .response-only-table-wrap > table,
    .attendance-table,
    .attendance-registration-table-wrap > table,
    .attendance-review-table-wrap > table,
    .exception-table-wrap > table,
    .payroll-rate-table,
    .payroll-preview-table-wrap > table,
    .permission-account-table,
    .group-detail-table,
    .group-shift-table,
    .leader-self-table
  ) tr:not([hidden]) {
    display: table-row !important;
    width: auto !important;
    min-width: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  html.qidian-mobile-app-layout :is(
    .employee-data-table,
    .schedule-table-modern,
    .response-only-table-wrap > table,
    .attendance-table,
    .attendance-registration-table-wrap > table,
    .attendance-review-table-wrap > table,
    .exception-table-wrap > table,
    .payroll-rate-table,
    .payroll-preview-table-wrap > table,
    .permission-account-table,
    .group-detail-table,
    .group-shift-table,
    .leader-self-table
  ) :is(th, td) {
    position: static !important;
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    height: 48px !important;
    min-height: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e7eef2 !important;
    border-right: 1px solid #edf2f5 !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 8px 10px !important;
    color: #29485d !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html.qidian-mobile-app-layout :is(
    .employee-data-table,
    .schedule-table-modern,
    .response-only-table-wrap > table,
    .attendance-table,
    .attendance-registration-table-wrap > table,
    .attendance-review-table-wrap > table,
    .exception-table-wrap > table,
    .payroll-rate-table,
    .payroll-preview-table-wrap > table,
    .permission-account-table,
    .group-detail-table,
    .group-shift-table,
    .leader-self-table
  ) th {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    height: 42px !important;
    background: #f2f8fb !important;
    color: #527083 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }

  html.qidian-mobile-app-layout table.qidian-mobile-person-table td::before,
  html.qidian-mobile-app-layout .permission-mobile-label {
    content: none !important;
    display: none !important;
  }

  html.qidian-mobile-app-layout .employee-data-table { min-width: 1120px !important; }
  html.qidian-mobile-app-layout .schedule-table-modern { min-width: 1660px !important; }
  html.qidian-mobile-app-layout .response-only-table-wrap > table { min-width: 1080px !important; }
  html.qidian-mobile-app-layout .attendance-table { min-width: 1280px !important; }
  html.qidian-mobile-app-layout .attendance-registration-table-wrap > table { min-width: 1120px !important; }
  html.qidian-mobile-app-layout .attendance-review-table-wrap > table { min-width: 1240px !important; }
  html.qidian-mobile-app-layout .exception-table-wrap > table { min-width: 900px !important; }
  html.qidian-mobile-app-layout .payroll-rate-table { min-width: 1120px !important; }
  html.qidian-mobile-app-layout .payroll-preview-table-wrap > table { min-width: 980px !important; }
  html.qidian-mobile-app-layout .permission-account-table { min-width: 900px !important; }
  html.qidian-mobile-app-layout .group-detail-table { min-width: 960px !important; }
  html.qidian-mobile-app-layout .group-shift-table { min-width: 1180px !important; }
  html.qidian-mobile-app-layout .leader-self-table { min-width: 1040px !important; }

  html.qidian-mobile-app-layout .leader-schedule-page .leader-desktop-roster {
    display: block !important;
  }

  html.qidian-mobile-app-layout .leader-schedule-page .leader-mobile-roster {
    display: none !important;
  }

  html.qidian-mobile-app-layout :is(.employee-row-actions, .schedule-row-actions) {
    display: flex !important;
    width: max-content !important;
    min-width: max-content !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
  }

  html.qidian-mobile-app-layout :is(.employee-row-actions, .schedule-row-actions) > * {
    width: auto !important;
    min-width: 72px !important;
    min-height: 34px !important;
    white-space: nowrap !important;
  }

  /* Pagination is part of document flow and can never cover table actions. */
  html.qidian-mobile-app-layout :is(.data-pagination, .schedule-pagination, .attendance-pagination, .floating-table-footer) {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 10px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout :is(.data-pagination, .schedule-pagination, .attendance-pagination) > :is(label, .data-pagination-summary) {
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  html.qidian-mobile-app-layout .data-pagination-actions {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 7px !important;
  }

  html.qidian-mobile-app-layout .data-pagination-actions > span {
    grid-column: auto !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  html.qidian-mobile-app-layout .data-pagination-actions .button {
    width: 100% !important;
    min-height: 38px !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout .floating-table-navigation {
    display: none !important;
  }

  /* Attendance summaries stay useful without becoming full-screen cards. */
  html.qidian-mobile-app-layout .attendance-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-card,
  html.qidian-mobile-app-layout .attendance-overview-card.dashboard-link {
    min-height: 0 !important;
    padding: 11px !important;
    padding-bottom: 11px !important;
    border-radius: 14px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-main {
    gap: 8px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-icon {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-main strong {
    font-size: 23px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin-top: 9px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-cells > * {
    min-width: 0 !important;
    padding: 6px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-entry {
    display: none !important;
  }
}

@media (max-width: 360px) {
  html.qidian-mobile-app-layout .attendance-overview-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* APP001 FIX18 — final phone density and table geometry.
   Loaded after the frozen PATCH050 desktop stylesheet. This section is scoped
   to the native shell and must never change the desktop WEB presentation. */
@media (max-width: 900px) {
  html.qidian-mobile-app-layout {
    --qidian-mobile-gap: 8px;
    --qidian-mobile-radius: 13px;
    --qidian-mobile-border: #dce8ee;
    --qidian-mobile-ink: #18344b;
    --qidian-mobile-muted: #7890a1;
  }

  html.qidian-mobile-app-layout .app-shell > .main > .topbar.topbar--floating-controls {
    min-height: calc(54px + env(safe-area-inset-top, 0px)) !important;
    padding: calc(6px + env(safe-area-inset-top, 0px)) 10px 6px !important;
  }

  html.qidian-mobile-app-layout .management-menu-toggle,
  html.qidian-mobile-app-layout .app-shell > .main > .topbar.topbar--floating-controls .workspace-language-control .language-picker,
  html.qidian-mobile-app-layout .app-shell > .main > .topbar.topbar--floating-controls .workspace-avatar-control .management-profile-button--avatar-only {
    height: 38px !important;
    min-height: 38px !important;
  }

  html.qidian-mobile-app-layout .management-menu-toggle,
  html.qidian-mobile-app-layout .app-shell > .main > .topbar.topbar--floating-controls .workspace-avatar-control .management-profile-button--avatar-only {
    width: 38px !important;
    min-width: 38px !important;
  }

  html.qidian-mobile-app-layout .app-shell > .main > .topbar.topbar--floating-controls .workspace-language-control .language-picker {
    width: 62px !important;
    min-width: 62px !important;
    font-size: 13px !important;
  }

  html.qidian-mobile-app-layout .content,
  html.qidian-mobile-app-layout .content.content--schedule,
  html.qidian-mobile-app-layout .content.content--leader-schedule {
    gap: var(--qidian-mobile-gap) !important;
    padding: 8px 9px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.qidian-mobile-app-layout :is(.title-row, .premium-title-row) {
    min-height: 0 !important;
    gap: 7px !important;
    margin: 0 0 8px !important;
  }

  html.qidian-mobile-app-layout :is(.title-row, .premium-title-row) h1 {
    margin: 0 !important;
    font-size: clamp(22px, 6.4vw, 27px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
  }

  html.qidian-mobile-app-layout :is(.title-row, .premium-title-row) p {
    margin: 3px 0 0 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  html.qidian-mobile-app-layout :is(.card, .premium-section, .platform-hero, .dashboard-hero) {
    border-radius: var(--qidian-mobile-radius) !important;
    padding: 10px !important;
  }

  html.qidian-mobile-app-layout :is(.section-heading, .premium-section-heading) {
    gap: 7px !important;
    margin: 0 0 8px !important;
  }

  html.qidian-mobile-app-layout :is(.section-heading, .premium-section-heading) h2 {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
  }

  html.qidian-mobile-app-layout :is(.section-heading, .premium-section-heading) p,
  html.qidian-mobile-app-layout .section-kicker {
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  html.qidian-mobile-app-layout .section-actions {
    display: flex !important;
    width: auto !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }

  html.qidian-mobile-app-layout .section-actions :is(.button, .section-pill) {
    width: auto !important;
    min-width: 0 !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
  }

  /* Summary numbers are a short horizontal strip, not six large phone cards. */
  html.qidian-mobile-app-layout :is(
    .dashboard-showcase-metrics,
    .employee-metric-grid,
    .overview-metrics,
    .payroll-metric-grid,
    .organization-metric-grid,
    .message-metric-grid,
    .attendance-insight-grid
  ) {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 7px !important;
    margin: 0 0 8px !important;
    padding: 0 0 3px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
  }

  html.qidian-mobile-app-layout :is(
    .dashboard-showcase-metrics,
    .employee-metric-grid,
    .overview-metrics,
    .payroll-metric-grid,
    .organization-metric-grid,
    .message-metric-grid,
    .attendance-insight-grid
  ) > .overview-metric {
    position: relative !important;
    display: block !important;
    flex: 0 0 124px !important;
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    min-height: 66px !important;
    height: 66px !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
    border-radius: 12px !important;
    padding: 7px 7px 7px 37px !important;
    overflow: hidden !important;
  }

  html.qidian-mobile-app-layout :is(
    .dashboard-showcase-metrics,
    .employee-metric-grid,
    .overview-metrics,
    .payroll-metric-grid,
    .organization-metric-grid,
    .message-metric-grid,
    .attendance-insight-grid
  ) > .overview-metric .metric-icon {
    position: absolute !important;
    top: 8px !important;
    left: 7px !important;
    width: 25px !important;
    min-width: 25px !important;
    height: 25px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
  }

  html.qidian-mobile-app-layout :is(
    .dashboard-showcase-metrics,
    .employee-metric-grid,
    .overview-metrics,
    .payroll-metric-grid,
    .organization-metric-grid,
    .message-metric-grid,
    .attendance-insight-grid
  ) > .overview-metric > span:not(.metric-icon):not(.dashboard-link-hint) {
    position: static !important;
    display: block !important;
    overflow: hidden !important;
    color: #657d8e !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout :is(
    .dashboard-showcase-metrics,
    .employee-metric-grid,
    .overview-metrics,
    .payroll-metric-grid,
    .organization-metric-grid,
    .message-metric-grid,
    .attendance-insight-grid
  ) > .overview-metric > b {
    position: static !important;
    display: block !important;
    margin: 2px 0 0 !important;
    overflow: hidden !important;
    color: var(--qidian-mobile-ink) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout :is(
    .dashboard-showcase-metrics,
    .employee-metric-grid,
    .overview-metrics,
    .payroll-metric-grid,
    .organization-metric-grid,
    .message-metric-grid,
    .attendance-insight-grid
  ) > .overview-metric > small {
    position: static !important;
    display: block !important;
    margin: 2px 0 0 !important;
    overflow: hidden !important;
    color: #8ba0af !important;
    font-size: 8.5px !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* Employee filters remain available but no longer consume the first screen. */
  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure {
    display: block !important;
    margin: 0 0 7px !important;
    overflow: clip !important;
    border: 1px solid var(--qidian-mobile-border) !important;
    border-radius: 11px !important;
    background: #fff !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure > summary {
    display: grid !important;
    min-height: 40px !important;
    grid-template-columns: minmax(0, 1fr) auto 14px !important;
    align-items: center !important;
    gap: 7px !important;
    box-sizing: border-box !important;
    padding: 6px 9px !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure > summary::-webkit-details-marker { display: none !important; }
  html.qidian-mobile-app-layout .qidian-mobile-filter-title { color: var(--qidian-mobile-ink) !important; font-size: 12px !important; font-weight: 800 !important; }
  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure > summary small { color: var(--qidian-mobile-muted) !important; font-size: 9.5px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure > summary i { color: #229bcb !important; font-size: 16px !important; font-style: normal !important; line-height: 1 !important; transition: transform .18s ease !important; }
  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure[open] > summary { border-bottom: 1px solid #e7eff3 !important; }
  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure[open] > summary i { transform: rotate(180deg) !important; }

  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure > .employee-command-inline {
    margin: 0 !important;
    padding: 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f8fbfc !important;
    box-shadow: none !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure .data-command-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure .data-search-control { grid-column: 1 / -1 !important; }
  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure label { gap: 3px !important; font-size: 9.5px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure :is(input:not([type="checkbox"]):not([type="radio"]), select) {
    min-height: 36px !important;
    height: 36px !important;
    border-radius: 9px !important;
    padding-block: 0 !important;
    font-size: 16px !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure .data-reset-button {
    width: 100% !important;
    min-height: 36px !important;
    font-size: 11px !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-filter-disclosure .data-command-foot {
    gap: 3px !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
    font-size: 9px !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-table-hint {
    display: flex !important;
    min-height: 24px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    margin: -1px 2px 4px !important;
    color: #6f8a9c !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
  }

  html.qidian-mobile-app-layout .qidian-mobile-table-hint span { color: #229dcc !important; font-size: 14px !important; }

  /* True multicolumn personnel tables: one worker = one 40px row. */
  html.qidian-mobile-app-layout :is(
    .employee-table-wrap,
    .schedule-table-wrap,
    .response-only-table-wrap,
    .attendance-table-wrap,
    .attendance-registration-table-wrap,
    .attendance-review-table-wrap,
    .exception-table-wrap,
    .payroll-rate-table-wrap,
    .payroll-preview-table-wrap,
    .permission-account-table-wrap,
    .group-detail-table-wrap,
    .group-shift-table-wrap,
    .leader-desktop-roster
  ) {
    border-radius: 10px !important;
  }

  html.qidian-mobile-app-layout :is(
    .employee-data-table,
    .schedule-table-modern,
    .response-only-table-wrap > table,
    .attendance-table,
    .attendance-registration-table-wrap > table,
    .attendance-review-table-wrap > table,
    .exception-table-wrap > table,
    .payroll-rate-table,
    .payroll-preview-table-wrap > table,
    .permission-account-table,
    .group-detail-table,
    .group-shift-table,
    .leader-self-table
  ) :is(th, td) {
    height: 40px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  html.qidian-mobile-app-layout :is(
    .employee-data-table,
    .schedule-table-modern,
    .response-only-table-wrap > table,
    .attendance-table,
    .attendance-registration-table-wrap > table,
    .attendance-review-table-wrap > table,
    .exception-table-wrap > table,
    .payroll-rate-table,
    .payroll-preview-table-wrap > table,
    .permission-account-table,
    .group-detail-table,
    .group-shift-table,
    .leader-self-table
  ) th {
    height: 34px !important;
    font-size: 10px !important;
  }

  html.qidian-mobile-app-layout .employee-data-table,
  html.qidian-mobile-app-layout:is([lang="en-US"], [lang="es-US"]) .employee-data-table {
    width: max-content !important;
    min-width: 1122px !important;
    max-width: none !important;
    table-layout: auto !important;
  }

  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(1) { width: 142px !important; min-width: 142px !important; max-width: 142px !important; }
  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(2) { width: 62px !important; min-width: 62px !important; max-width: 62px !important; }
  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(3) { width: 172px !important; min-width: 172px !important; max-width: 172px !important; }
  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(4) { width: 104px !important; min-width: 104px !important; max-width: 104px !important; }
  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(5) { width: 58px !important; min-width: 58px !important; max-width: 58px !important; }
  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(6) { width: 142px !important; min-width: 142px !important; max-width: 142px !important; }
  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(7) { width: 102px !important; min-width: 102px !important; max-width: 102px !important; }
  html.qidian-mobile-app-layout .employee-data-table :is(th, td):nth-child(8) { width: 158px !important; min-width: 158px !important; max-width: 158px !important; }

  html.qidian-mobile-app-layout .schedule-table-modern { min-width: 1380px !important; }
  html.qidian-mobile-app-layout .response-only-table-wrap > table { min-width: 900px !important; }
  html.qidian-mobile-app-layout .attendance-table { min-width: 1080px !important; }
  html.qidian-mobile-app-layout .attendance-registration-table-wrap > table { min-width: 940px !important; }
  html.qidian-mobile-app-layout .attendance-review-table-wrap > table { min-width: 1040px !important; }
  html.qidian-mobile-app-layout .exception-table-wrap > table { min-width: 780px !important; }
  html.qidian-mobile-app-layout .payroll-rate-table { min-width: 960px !important; }
  html.qidian-mobile-app-layout .payroll-preview-table-wrap > table { min-width: 860px !important; }
  html.qidian-mobile-app-layout .permission-account-table { min-width: 780px !important; }
  html.qidian-mobile-app-layout .group-detail-table { min-width: 820px !important; }
  html.qidian-mobile-app-layout .group-shift-table { min-width: 980px !important; }
  html.qidian-mobile-app-layout .leader-self-table { min-width: 900px !important; }

  html.qidian-mobile-app-layout .employee-cell { gap: 6px !important; }
  html.qidian-mobile-app-layout .employee-cell > div { gap: 1px !important; }
  html.qidian-mobile-app-layout .employee-avatar-mini {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    font-size: 10.5px !important;
  }
  html.qidian-mobile-app-layout .employee-name-copy { font-size: 11.5px !important; }
  html.qidian-mobile-app-layout .employee-cell small { font-size: 8.5px !important; }
  html.qidian-mobile-app-layout .employee-status-stack { display: flex !important; flex-wrap: nowrap !important; gap: 3px !important; }
  html.qidian-mobile-app-layout .employee-data-table .badge {
    min-height: 20px !important;
    padding: 0 6px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout :is(.employee-row-actions, .schedule-row-actions) { gap: 4px !important; }
  html.qidian-mobile-app-layout :is(.employee-row-actions, .schedule-row-actions) > * {
    min-width: 46px !important;
    min-height: 28px !important;
    height: 28px !important;
    padding: 0 7px !important;
    font-size: 9.5px !important;
  }

  /* A compact two-line footer replaces the screenshot's full-screen pager. */
  html.qidian-mobile-app-layout :is(.data-pagination, .schedule-pagination, .attendance-pagination, .floating-table-footer) {
    display: flex !important;
    min-height: 0 !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px 8px !important;
    margin: 6px 0 0 !important;
    padding: 6px 7px !important;
    border-radius: 10px !important;
  }

  html.qidian-mobile-app-layout :is(.data-pagination, .schedule-pagination, .attendance-pagination) > :is(label, .data-pagination-summary) {
    width: auto !important;
    flex: 1 1 128px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout :is(.data-pagination, .schedule-pagination, .attendance-pagination) select {
    width: 66px !important;
    min-width: 66px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding-block: 0 !important;
    font-size: 14px !important;
  }

  html.qidian-mobile-app-layout .data-pagination-actions {
    display: grid !important;
    width: 100% !important;
    flex: 1 1 100% !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 5px !important;
  }

  html.qidian-mobile-app-layout .data-pagination-actions > span { font-size: 9.5px !important; }
  html.qidian-mobile-app-layout .data-pagination-actions .button {
    min-height: 31px !important;
    height: 31px !important;
    padding: 0 8px !important;
    font-size: 10.5px !important;
  }

  /* Attendance summaries use a single swipe strip instead of tall two-column cards. */
  html.qidian-mobile-app-layout .attendance-overview-grid {
    display: flex !important;
    width: 100% !important;
    gap: 7px !important;
    margin: 0 0 8px !important;
    padding: 0 0 3px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-card,
  html.qidian-mobile-app-layout .attendance-overview-card.dashboard-link {
    flex: 0 0 156px !important;
    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
    min-height: 110px !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
    padding: 8px !important;
    border-radius: 12px !important;
  }

  html.qidian-mobile-app-layout .attendance-overview-main { gap: 6px !important; }
  html.qidian-mobile-app-layout .attendance-overview-icon { width: 28px !important; min-width: 28px !important; height: 28px !important; border-radius: 8px !important; font-size: 12px !important; }
  html.qidian-mobile-app-layout .attendance-overview-main small { font-size: 9.5px !important; }
  html.qidian-mobile-app-layout .attendance-overview-main strong { font-size: 20px !important; }
  html.qidian-mobile-app-layout .attendance-overview-main em { font-size: 8.5px !important; }
  html.qidian-mobile-app-layout .attendance-overview-cells { gap: 4px !important; margin-top: 6px !important; }
  html.qidian-mobile-app-layout .attendance-overview-cells > * { min-height: 36px !important; padding: 4px 5px !important; border-radius: 7px !important; }
  html.qidian-mobile-app-layout .attendance-overview-cells b { font-size: 12px !important; }
  html.qidian-mobile-app-layout .attendance-overview-cells small { font-size: 8px !important; }

  /* Keep the WEB ring language, reduced to a phone-appropriate footprint. */
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure {
    margin: 7px 0 !important;
    border-radius: 12px !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary {
    min-height: 42px !important;
    padding: 7px 10px !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary strong { font-size: 12.5px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure > summary small { font-size: 9px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure__body { padding: 7px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 116px minmax(0, 1fr) !important;
    gap: 7px !important;
    padding: 7px 4px 9px !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    width: 112px !important;
    height: 112px !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 76px !important;
    height: 76px !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-content span { font-size: 8.5px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-content b { font-size: 20px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-content small { font-size: 8px !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row {
    min-height: 30px !important;
    padding: 4px 6px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row b { font-size: 11px !important; }

  html.qidian-mobile-app-layout .qidian-mobile-build-marker {
    display: block !important;
    margin: 0 8px 5px !important;
    color: rgba(208, 235, 249, .72) !important;
    font-size: 8px !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
  }
}

@media (max-width: 370px) {
  html.qidian-mobile-app-layout .section-actions { width: 100% !important; justify-content: flex-start !important; }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    width: 100px !important;
    height: 100px !important;
  }
  html.qidian-mobile-app-layout .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 68px !important;
    height: 68px !important;
  }
}

/* APP001 FIX21 NATIVE RING LOCK — native APP only, independent of CSS viewport.
   Capacitor can report a wider layout viewport on some iPhone/TestFlight builds;
   therefore this final lock intentionally does not use a max-width media query. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-grid {
  display: block !important;
  width: 100% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-panel {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  width: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring {
  position: relative !important;
  display: grid !important;
  box-sizing: border-box !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 104px !important;
  aspect-ratio: 1 / 1 !important;
  place-items: center !important;
  justify-self: center !important;
  overflow: visible !important;
  border-radius: 50% !important;
  transform: none !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring::before {
  box-sizing: border-box !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  box-sizing: border-box !important;
  width: 114px !important;
  min-width: 114px !important;
  max-width: 114px !important;
  height: 114px !important;
  min-height: 114px !important;
  max-height: 114px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content span {
  font-size: 8.5px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content b {
  font-size: 20px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content small {
  font-size: 8px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend {
  display: grid !important;
  min-width: 0 !important;
  gap: 4px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 27px !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row b {
  font-size: 11px !important;
}

/* APP001 FIX19 — final compact native-mobile administration layer.
   Desktop WEB, API payloads, database and scheduling behavior are untouched. */
@media (max-width: 900px) {
  /* Both dashboard charts use the same immutable square geometry. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-grid {
    display: block !important;
    width: 100% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 8px !important;
    padding: 8px 4px 10px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    position: relative !important;
    display: grid !important;
    flex: none !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    aspect-ratio: 1 / 1 !important;
    place-items: center !important;
    border-radius: 999px !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 999px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    inset: -6px !important;
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    height: 124px !important;
    min-height: 124px !important;
    max-height: 124px !important;
    aspect-ratio: 1 / 1 !important;
  }

  /* Groups show only their counts and one attendance-management entry. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-avatar,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-inline-dot,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-employees-hidden,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-link-hidden {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-inline-toggle {
    gap: 3px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 7px 8px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-summary {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-summary .section-pill {
    min-height: 24px !important;
    padding: 3px 7px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-links {
    flex: 0 0 auto !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-attendance-entry {
    min-height: 30px !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
  }

  /* One visible character per employee avatar; all avatars remain circles. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app :is(.employee-avatar-mini, .schedule-avatar, .qidian-mobile-generated-avatar) {
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 999px !important;
    font-size: 9px !important;
  }

  /* Employee number is deliberately narrow; name receives the saved width. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table :is(th, td).qidian-mobile-number-col {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    padding-inline: 5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table :is(th, td).qidian-mobile-name-col {
    width: 184px !important;
    min-width: 184px !important;
    max-width: 184px !important;
  }

  /* Employee email and phone are one compact Contact column on phone only. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td).qidian-mobile-contact-col {
    width: 196px !important;
    min-width: 196px !important;
    max-width: 196px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 1px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack > :is(span, small) {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack > span { font-size: 10px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack > small { color: #7890a4 !important; font-size: 8.5px !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="en-US"] body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="es-US"] body #app .employee-table-wrap > table.employee-data-table {
    width: 850px !important;
    min-width: 850px !important;
    max-width: 850px !important;
  }

  /* Schedule rows keep the horizontal table but use a shorter, denser rhythm. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern {
    min-width: 1140px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern :is(th, td) {
    height: 32px !important;
    min-height: 32px !important;
    padding: 3px 5px !important;
    line-height: 1.12 !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-weekly-hours small {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-weekly-hours {
    display: inline-flex !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 2px 6px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-weekly-hours strong {
    font-size: 10px !important;
    line-height: 1 !important;
  }
}

/* APP001 FIX21 ABSOLUTE FINAL RING LOCK — keep this block at end of file.
   Native-only: compact WEB-style donut, with its legend beside it. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-panel {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  width: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring {
  position: relative !important;
  display: grid !important;
  box-sizing: border-box !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 104px !important;
  aspect-ratio: 1 / 1 !important;
  place-items: center !important;
  justify-self: center !important;
  overflow: visible !important;
  border-radius: 50% !important;
  transform: none !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring::before {
  box-sizing: border-box !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  box-sizing: border-box !important;
  width: 114px !important;
  min-width: 114px !important;
  max-width: 114px !important;
  height: 114px !important;
  min-height: 114px !important;
  max-height: 114px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content span {
  font-size: 8.5px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content b {
  font-size: 20px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content small {
  font-size: 8px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend {
  display: grid !important;
  min-width: 0 !important;
  gap: 4px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 27px !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row b {
  font-size: 11px !important;
}

@media (max-width: 370px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 100px minmax(0, 1fr) !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
  }
}

/* APP001 FIX21 TRUE EOF RING LOCK — do not place any rule after this block. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-panel {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  width: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring {
  position: relative !important;
  display: grid !important;
  box-sizing: border-box !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 104px !important;
  aspect-ratio: 1 / 1 !important;
  place-items: center !important;
  justify-self: center !important;
  overflow: visible !important;
  border-radius: 50% !important;
  transform: none !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring::before {
  box-sizing: border-box !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  box-sizing: border-box !important;
  width: 114px !important;
  min-width: 114px !important;
  max-width: 114px !important;
  height: 114px !important;
  min-height: 114px !important;
  max-height: 114px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content span {
  font-size: 8.5px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content b {
  font-size: 20px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content small {
  font-size: 8px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend {
  display: grid !important;
  min-width: 0 !important;
  gap: 4px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 27px !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row b {
  font-size: 11px !important;
}

/* APP001 FIX21 FINAL CASCADE LOCK — must remain the final CSS layer.
   It is native-only and deliberately independent of the reported viewport. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-grid {
  display: block !important;
  width: 100% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-panel {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  width: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring {
  position: relative !important;
  display: grid !important;
  box-sizing: border-box !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 104px !important;
  aspect-ratio: 1 / 1 !important;
  place-items: center !important;
  justify-self: center !important;
  overflow: visible !important;
  border-radius: 50% !important;
  transform: none !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring::before {
  box-sizing: border-box !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  box-sizing: border-box !important;
  width: 114px !important;
  min-width: 114px !important;
  max-width: 114px !important;
  height: 114px !important;
  min-height: 114px !important;
  max-height: 114px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content span {
  font-size: 8.5px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content b {
  font-size: 20px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content small {
  font-size: 8px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend {
  display: grid !important;
  min-width: 0 !important;
  gap: 4px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 27px !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row b {
  font-size: 11px !important;
}

/* APP001 FIX20 PRELIMINARY LOCK — mobile-only dashboard and personnel density.
   Desktop WEB remains governed exclusively by the frozen PATCH050 stylesheet. */
@media (max-width: 900px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding: 7px 4px 9px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    box-sizing: border-box !important;
    position: relative !important;
    display: grid !important;
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    aspect-ratio: 1 / 1 !important;
    place-items: center !important;
    border-radius: 50% !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    box-sizing: border-box !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    inset: -5px !important;
    width: 114px !important;
    min-width: 114px !important;
    max-width: 114px !important;
    height: 114px !important;
    min-height: 114px !important;
    max-height: 114px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-group-detail-row {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-label {
    pointer-events: none !important;
    cursor: default !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td) {
    box-sizing: border-box !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 4px !important;
    line-height: 1.05 !important;
    vertical-align: middle !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td).qidian-mobile-number-col {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding-inline: 3px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td).qidian-mobile-name-col {
    width: 204px !important;
    min-width: 204px !important;
    max-width: 204px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(.employee-avatar-mini, .qidian-mobile-generated-avatar) {
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    font-size: 8.5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table .employee-cell {
    min-height: 22px !important;
    gap: 5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(.button, button, select, input) {
    min-height: 24px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="en-US"] body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="es-US"] body #app .employee-table-wrap > table.employee-data-table {
    width: max-content !important;
    min-width: 1122px !important;
    max-width: none !important;
    table-layout: auto !important;
  }
}

/* FIX18 cascade lock.
   PATCH050 intentionally keeps several historical mobile fallbacks in the WEB
   stylesheet.  They use !important and, for English/Spanish, a wider table
   selector.  The native app owns this final #app-scoped layer so those WEB
   fallbacks can never turn a compact phone row back into a tall card. */
@media (max-width: 900px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-metric-grid,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-showcase-metrics,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .attendance-insight-grid,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .attendance-overview-grid {
    display: flex !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app :is(
    .employee-metric-grid,
    .dashboard-showcase-metrics,
    .attendance-insight-grid
  ) > .overview-metric {
    display: block !important;
    flex: 0 0 124px !important;
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    min-height: 66px !important;
    height: 66px !important;
    padding: 7px 7px 7px 37px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-table-wrap > table.employee-data-table {
    display: table !important;
    width: max-content !important;
    max-width: none !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="en-US"] body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="es-US"] body #app .employee-table-wrap > table.employee-data-table {
    width: max-content !important;
    min-width: 1122px !important;
    max-width: none !important;
    table-layout: auto !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table > thead {
    display: table-header-group !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table > tbody {
    display: table-row-group !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table > :is(thead, tbody) > tr:not([hidden]) {
    display: table-row !important;
    width: auto !important;
    min-height: 0 !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  html.qidian-mobile-app-layout body #app .schedule-table-modern :is(.schedule-row-filtered-out[hidden], .schedule-row-outside-page[hidden], .schedule-filter-empty-row[hidden]) { display: none !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table > :is(thead, tbody) > tr > :is(th, td) {
    position: static !important;
    display: table-cell !important;
    width: auto;
    min-height: 0 !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background-clip: padding-box !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table > thead > tr > th {
    height: 34px !important;
    font-size: 10px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):nth-child(1) { width: 142px !important; min-width: 142px !important; max-width: 142px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):nth-child(2) { width: 62px !important; min-width: 62px !important; max-width: 62px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):nth-child(3) { width: 172px !important; min-width: 172px !important; max-width: 172px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):nth-child(4) { width: 104px !important; min-width: 104px !important; max-width: 104px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):nth-child(5) { width: 58px !important; min-width: 58px !important; max-width: 58px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):nth-child(6) { width: 142px !important; min-width: 142px !important; max-width: 142px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):nth-child(7) { width: 102px !important; min-width: 102px !important; max-width: 102px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-data-table :is(th, td):last-child { width: 264px !important; min-width: 264px !important; max-width: none !important; overflow: visible !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app :is(
    .employee-table-wrap,
    .schedule-table-wrap,
    .response-only-table-wrap,
    .attendance-table-wrap,
    .attendance-registration-table-wrap,
    .attendance-review-table-wrap,
    .exception-table-wrap,
    .payroll-table-wrap,
    .permission-account-table-wrap,
    .group-detail-table-wrap,
    .group-shift-table-wrap,
    .leader-desktop-roster
  ) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app :is(
    .data-pagination,
    .schedule-pagination,
    .attendance-pagination,
    .floating-table-footer
  ) {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    grid-template-columns: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 5px 8px !important;
    margin: 6px 0 0 !important;
    padding: 6px 7px !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .data-pagination-actions {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    gap: 5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .data-pagination-actions > span {
    grid-column: auto !important;
    text-align: center !important;
  }
}

/* APP001 FIX18 R5 — exact mobile administration requirements.
   This final native-only layer does not alter the frozen desktop WEB source. */
@media (max-width: 900px) {
  /* WEB-style rings must remain mathematical circles at every phone width. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    display: grid !important;
    flex: 0 0 112px !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    justify-self: center !important;
    place-items: center !important;
    overflow: hidden !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-hidden-dashboard-entry {
    display: none !important;
  }

  /* Day/night group data starts closed and is expanded only by the phone toggle. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-shift-panel.is-collapsed > .group-shift-table-wrap,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-shift-panel > .group-shift-table-wrap[hidden] {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-inline-dot {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-avatar,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-avatar-mini,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-avatar,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-generated-avatar {
    display: inline-flex !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: var(--qidian-employee-avatar-background, linear-gradient(145deg, #36b8e9, #118dc5)) !important;
    box-shadow: 0 0 0 1px rgba(43, 169, 222, .42) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-inline-toggle {
    gap: 6px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app :is(.employee-cell, .schedule-employee-cell, .attendance-employee-cell) {
    min-width: 0 !important;
    align-items: center !important;
    gap: 6px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-detail-employee {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 6px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-detail-employee > :is(strong, small) {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* Every personnel table uses employee number first, then name. */
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table :is(th, td).qidian-mobile-number-col {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table :is(th, td).qidian-mobile-name-col {
    width: 144px !important;
    min-width: 144px !important;
    max-width: 144px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table td.qidian-mobile-name-cell,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table td.qidian-mobile-name-col {
    overflow: hidden !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="en-US"] body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="es-US"] body #app .employee-table-wrap > table.employee-data-table {
    width: 934px !important;
    min-width: 934px !important;
    max-width: 934px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern {
    min-width: 1240px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern :is(th, td) {
    height: 38px !important;
    padding: 4px 6px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-employee-cell {
    min-width: 0 !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-contact-cell {
    min-width: 150px !important;
    gap: 1px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .response-only-table-wrap > table { min-width: 890px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .attendance-table { min-width: 1060px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .attendance-registration-table-wrap > table { min-width: 930px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .attendance-review-table-wrap > table { min-width: 1020px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .payroll-preview-table-wrap > table { min-width: 850px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-detail-table { min-width: 830px !important; }
}

@media (max-width: 370px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    flex-basis: 100px !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }
}

/* APP001 FIX19 FINAL LOCK — the last mobile-only cascade layer.
   It deliberately follows every historical fallback so the compact native
   layout cannot be widened or converted back into cards. */
/* APP001 FIX20 FINAL LOCK — compact employee rows and direct data-pool entries. */
@media (max-width: 900px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-grid {
    display: block !important;
    width: 100% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    min-height: 0 !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 4px 10px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    position: relative !important;
    display: grid !important;
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    aspect-ratio: 1 / 1 !important;
    place-items: center !important;
    overflow: visible !important;
    border-radius: 50% !important;
    transform: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    inset: -5px !important;
    width: 114px !important;
    min-width: 114px !important;
    max-width: 114px !important;
    height: 114px !important;
    min-height: 114px !important;
    max-height: 114px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-group-detail-row {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-label {
    pointer-events: none !important;
    cursor: default !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-avatar,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-inline-dot,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-employees-hidden,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-link-hidden {
    display: none !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .group-inline-toggle { gap: 3px !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 7px 8px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-summary {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-summary .section-pill {
    min-height: 24px !important;
    padding: 3px 7px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-group-counts-only .group-detail-links { flex: 0 0 auto !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-attendance-entry {
    min-height: 30px !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app :is(.employee-avatar-mini, .schedule-avatar, .qidian-mobile-generated-avatar) {
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    font-size: 8.5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td) {
    box-sizing: border-box !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 4px !important;
    line-height: 1.05 !important;
    vertical-align: middle !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table .employee-cell {
    min-height: 22px !important;
    gap: 5px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table :is(th, td).qidian-mobile-number-col {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding-inline: 3px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.qidian-mobile-person-table :is(th, td).qidian-mobile-name-col {
    width: 204px !important;
    min-width: 204px !important;
    max-width: 204px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table :is(th, td).qidian-mobile-contact-col {
    width: 196px !important;
    min-width: 196px !important;
    max-width: 196px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 1px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack > :is(span, small) {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack > span { font-size: 10px !important; }
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-contact-stack > small { color: #7890a4 !important; font-size: 8.5px !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="en-US"] body #app .employee-table-wrap > table.employee-data-table,
  html.qidian-mobile-app-layout.qidian-mobile-app-layout[lang="es-US"] body #app .employee-table-wrap > table.employee-data-table {
    width: max-content !important;
    min-width: 1122px !important;
    max-width: none !important;
    table-layout: auto !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern { min-width: 1140px !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern :is(th, td) {
    height: 32px !important;
    min-height: 32px !important;
    padding: 3px 5px !important;
    line-height: 1.12 !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-weekly-hours small { display: none !important; }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-weekly-hours {
    display: inline-flex !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 2px 6px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-weekly-hours strong {
    font-size: 10px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 370px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 100px minmax(0, 1fr) !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    flex-basis: 100px !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
  }
}

/* APP001 FIX21 EOF OVERRIDE — native compact donut; this is the final rule. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-panel {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  width: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 8px 12px !important;
}
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring {
  position: relative !important;
  display: grid !important;
  box-sizing: border-box !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 104px !important;
  aspect-ratio: 1 / 1 !important;
  place-items: center !important;
  justify-self: center !important;
  overflow: visible !important;
  border-radius: 50% !important;
  transform: none !important;
}
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring::before {
  box-sizing: border-box !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  box-sizing: border-box !important;
  width: 114px !important;
  min-width: 114px !important;
  max-width: 114px !important;
  height: 114px !important;
  min-height: 114px !important;
  max-height: 114px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content span { font-size: 8.5px !important; line-height: 1.1 !important; }
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content b { font-size: 20px !important; line-height: 1 !important; }
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-content small { font-size: 8px !important; line-height: 1 !important; }
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend { display: grid !important; min-width: 0 !important; gap: 4px !important; }
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 27px !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row b { font-size: 11px !important; }

/* APP001 FIX22 EOF OVERRIDE — compact schedule rows and unclipped avatar rings. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern :is(th, td) {
  box-sizing: border-box !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 2px 4px !important;
  line-height: 1.05 !important;
  vertical-align: middle !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-employee-cell {
  min-height: 20px !important;
  align-items: center !important;
  gap: 5px !important;
  overflow: visible !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-operations-table .schedule-col-employee {
  overflow: visible !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app :is(.employee-avatar-mini, .schedule-avatar, .qidian-mobile-generated-avatar) {
  display: inline-flex !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #2ba9de !important;
  outline: 0 !important;
  border-radius: 50% !important;
  background: var(--qidian-employee-avatar-background, linear-gradient(145deg, #36b8e9, #118dc5)) !important;
  box-shadow: inset 0 0 0 1px #fff !important;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern :is(.schedule-fixed-time, .badge) {
  box-sizing: border-box !important;
  min-height: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-width: 1px !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .schedule-table-modern .schedule-fixed-time {
  min-width: 46px !important;
}

/* APP001 FIX24 EOF OVERRIDE — compact the schedule-management list only.
   Employee management keeps its established mobile density. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table > :is(thead, tbody) > tr {
  height: 28px !important;
  min-height: 28px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table > :is(thead, tbody) > tr > :is(th, td) {
  box-sizing: border-box !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 2px 4px !important;
  line-height: 1.05 !important;
  vertical-align: middle !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.employee-data-table .employee-cell {
  min-height: 22px !important;
  align-items: center !important;
  gap: 5px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.schedule-table-modern > :is(thead, tbody) > tr {
  height: 22px !important;
  min-height: 22px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.schedule-table-modern > :is(thead, tbody) > tr > :is(th, td) {
  box-sizing: border-box !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 1px 4px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app table.schedule-table-modern .schedule-employee-cell {
  min-height: 20px !important;
  align-items: center !important;
}

/* APP001 FIX25 EOF OVERRIDE — larger mobile dashboard donuts with a compact,
   translation-safe legend. Desktop WEB and every personnel table stay frozen. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
  grid-template-columns: 120px minmax(0, 196px) !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
  flex-basis: 120px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
  aspect-ratio: 1 / 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
  height: 82px !important;
  min-height: 82px !important;
  max-height: 82px !important;
  aspect-ratio: 1 / 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  width: 130px !important;
  min-width: 130px !important;
  max-width: 130px !important;
  height: 130px !important;
  min-height: 130px !important;
  max-height: 130px !important;
  aspect-ratio: 1 / 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend {
  width: min(100%, 196px) !important;
  min-width: 0 !important;
  justify-self: end !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row {
  grid-template-columns: 7px minmax(0, 1fr) auto !important;
  min-width: 0 !important;
  min-height: 27px !important;
  height: auto !important;
  gap: 6px !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: normal !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row > span:nth-child(2) {
  min-width: 0 !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: normal !important;
  line-height: 1.15 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row > b {
  align-self: center !important;
  justify-self: end !important;
  white-space: nowrap !important;
}

@media (max-width: 370px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 112px minmax(0, 180px) !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    flex-basis: 112px !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
    height: 122px !important;
    min-height: 122px !important;
    max-height: 122px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend {
    width: min(100%, 180px) !important;
  }
}

/* APP001 FIX26 EOF OVERRIDE — enlarge the two native dashboard donuts and
   move their project-name legends right. Desktop WEB and all lists stay frozen. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
  grid-template-columns: 146px minmax(0, 1fr) !important;
  justify-content: start !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
  flex-basis: 146px !important;
  width: 146px !important;
  min-width: 146px !important;
  max-width: 146px !important;
  height: 146px !important;
  min-height: 146px !important;
  max-height: 146px !important;
  aspect-ratio: 1 / 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
  width: 98px !important;
  min-width: 98px !important;
  max-width: 98px !important;
  height: 98px !important;
  min-height: 98px !important;
  max-height: 98px !important;
  aspect-ratio: 1 / 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  width: 156px !important;
  min-width: 156px !important;
  max-width: 156px !important;
  height: 156px !important;
  min-height: 156px !important;
  max-height: 156px !important;
  aspect-ratio: 1 / 1 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  padding-left: 8px !important;
}

@media (max-width: 370px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 132px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    flex-basis: 132px !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 132px !important;
    min-height: 132px !important;
    max-height: 132px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    height: 142px !important;
    min-height: 142px !important;
    max-height: 142px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend {
    padding-left: 6px !important;
  }
}

/* APP001 FIX27 EOF OVERRIDE — unmistakably larger native dashboard donuts and
   a right-shifted, translation-safe legend. Runtime injects the same final lock. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
  display: grid !important;
  grid-template-columns: 168px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  column-gap: 20px !important;
  row-gap: 0 !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
  box-sizing: border-box !important;
  flex: 0 0 168px !important;
  width: 168px !important;
  min-width: 168px !important;
  max-width: 168px !important;
  height: 168px !important;
  min-height: 168px !important;
  max-height: 168px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 112px !important;
  min-height: 112px !important;
  max-height: 112px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  width: 178px !important;
  min-width: 178px !important;
  max-width: 178px !important;
  height: 178px !important;
  min-height: 178px !important;
  max-height: 178px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  padding-left: 10px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row {
  grid-template-columns: 7px minmax(0, 1fr) auto !important;
  min-width: 0 !important;
  height: auto !important;
  gap: 6px !important;
  overflow: visible !important;
  white-space: normal !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row > span:nth-child(2) {
  min-width: 0 !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
  line-height: 1.15 !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row > b {
  align-self: center !important;
  justify-self: end !important;
  white-space: nowrap !important;
}

@media (max-width: 410px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel {
    grid-template-columns: 148px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring {
    flex-basis: 148px !important;
    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    height: 148px !important;
    min-height: 148px !important;
    max-height: 148px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before {
    width: 98px !important;
    min-width: 98px !important;
    max-width: 98px !important;
    height: 98px !important;
    min-height: 98px !important;
    max-height: 98px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay {
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
    height: 158px !important;
    min-height: 158px !important;
    max-height: 158px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend {
    padding-left: 6px !important;
  }
}

/* APP001 FIX28 EOF DOM LOCK FALLBACK — native dashboard rings no longer depend
   on the disclosure wrapper. The runtime also writes these values inline. */
html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-panel {
  display: grid !important;
  grid-template-columns: 168px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  column-gap: 20px !important;
  row-gap: 0 !important;
  padding: 10px 8px 12px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring {
  box-sizing: border-box !important;
  flex: 0 0 168px !important;
  width: 168px !important;
  min-width: 168px !important;
  max-width: 168px !important;
  height: 168px !important;
  min-height: 168px !important;
  max-height: 168px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  --qidian-mobile-ring-inner: 112px;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring::before {
  width: var(--qidian-mobile-ring-inner, 112px) !important;
  min-width: var(--qidian-mobile-ring-inner, 112px) !important;
  max-width: var(--qidian-mobile-ring-inner, 112px) !important;
  height: var(--qidian-mobile-ring-inner, 112px) !important;
  min-height: var(--qidian-mobile-ring-inner, 112px) !important;
  max-height: var(--qidian-mobile-ring-inner, 112px) !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-segment-overlay {
  inset: -5px !important;
  width: 178px !important;
  min-width: 178px !important;
  max-width: 178px !important;
  height: 178px !important;
  min-height: 178px !important;
  max-height: 178px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  padding-left: 10px !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row {
  grid-template-columns: 7px minmax(0, 1fr) auto !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: visible !important;
  white-space: normal !important;
}

html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend-row > span:nth-child(2) {
  min-width: 0 !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

@media (max-width: 410px) {
  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-panel {
    grid-template-columns: 148px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring {
    flex-basis: 148px !important;
    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    height: 148px !important;
    min-height: 148px !important;
    max-height: 148px !important;
    --qidian-mobile-ring-inner: 98px;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring-segment-overlay {
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
    height: 158px !important;
    min-height: 158px !important;
    max-height: 158px !important;
  }

  html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .legend {
    padding-left: 6px !important;
  }
}

/* Preserved final FIX28 runtime geometry. */
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel { display: grid !important; grid-template-columns: 168px minmax(0, 1fr) !important; align-items: center !important; justify-content: start !important; column-gap: 20px !important; row-gap: 0 !important; padding: 10px 8px 12px !important; }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring { box-sizing: border-box !important; flex: 0 0 168px !important; width: 168px !important; min-width: 168px !important; max-width: 168px !important; height: 168px !important; min-height: 168px !important; max-height: 168px !important; aspect-ratio: 1 / 1 !important; border-radius: 50% !important; }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before { width: 112px !important; min-width: 112px !important; max-width: 112px !important; height: 112px !important; min-height: 112px !important; max-height: 112px !important; aspect-ratio: 1 / 1 !important; border-radius: 50% !important; }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay { inset: -5px !important; width: 178px !important; min-width: 178px !important; max-width: 178px !important; height: 178px !important; min-height: 178px !important; max-height: 178px !important; aspect-ratio: 1 / 1 !important; border-radius: 50% !important; }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend { box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; justify-self: stretch !important; padding-left: 10px !important; }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row { grid-template-columns: 7px minmax(0, 1fr) auto !important; min-width: 0 !important; height: auto !important; gap: 6px !important; overflow: visible !important; white-space: normal !important; }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row > span:nth-child(2) { min-width: 0 !important; overflow: visible !important; overflow-wrap: anywhere !important; text-overflow: clip !important; white-space: normal !important; line-height: 1.15 !important; }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend-row > b { align-self: center !important; justify-self: end !important; white-space: nowrap !important; }
    @media (max-width: 410px) {
      html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-panel { grid-template-columns: 148px minmax(0, 1fr) !important; column-gap: 12px !important; }
      html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring { flex-basis: 148px !important; width: 148px !important; min-width: 148px !important; max-width: 148px !important; height: 148px !important; min-height: 148px !important; max-height: 148px !important; }
      html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring::before { width: 98px !important; min-width: 98px !important; max-width: 98px !important; height: 98px !important; min-height: 98px !important; max-height: 98px !important; }
      html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .ring-segment-overlay { width: 158px !important; min-width: 158px !important; max-width: 158px !important; height: 158px !important; min-height: 158px !important; max-height: 158px !important; }
      html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .qidian-mobile-dashboard-disclosure .dashboard-analytics-card .legend { padding-left: 6px !important; }
    }
    html.qidian-mobile-app-layout.qidian-mobile-app-layout body #app .dashboard-analytics-card .ring::before {
      width: var(--qidian-mobile-ring-inner, 112px) !important;
      min-width: var(--qidian-mobile-ring-inner, 112px) !important;
      max-width: var(--qidian-mobile-ring-inner, 112px) !important;
      height: var(--qidian-mobile-ring-inner, 112px) !important;
      min-height: var(--qidian-mobile-ring-inner, 112px) !important;
      max-height: var(--qidian-mobile-ring-inner, 112px) !important;
      aspect-ratio: 1 / 1 !important;
      border-radius: 50% !important;
    }

html.qidian-mobile-app-layout body #app :is(.permission-account-avatar,.permission-member-avatar)[data-qidian-employee-initial]{background:var(--qidian-employee-avatar-background)!important;color:#fff!important}
