/* Mobile operations shell. Keep native Vue pages, permissions and desktop layout. */
.admin-mobile-nav, .admin-mobile-backdrop { display: none; }

@media (max-width: 768px) {
  html[data-admin-theme] {
    --admin-header-height: 56px;
    --admin-page-heading-height: 48px;
    --admin-rail: 92px;
    --admin-nav: min(220px, calc(100vw - 132px));
    --admin-mobile-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
  html[data-admin-theme] body.admin-ui {
    min-width: 0; margin: 0; font-size: 14px;
    -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;
  }
  html[data-admin-theme] body.admin-ui .custom-layout-c { min-width: 0; min-height: 100dvh; }
  html[data-admin-theme] body.admin-ui .header-c {
    top: 0; height: var(--admin-header-height); z-index: 130;
    padding-top: env(safe-area-inset-top, 0px);
  }
  html[data-admin-theme] body.admin-ui .container-23234 { min-width: 0; gap: 2px; }
  html[data-admin-theme] body.admin-ui .container-23234 .logo-c {
    flex: 1 1 auto; width: auto; min-width: 0; max-width: none;
    padding: 0 10px; font-size: 15px; border: 0;
  }
  html[data-admin-theme] body.admin-ui .container-23234 .logo-c .logo { width: 26px; height: 26px; margin-right: 7px; }
  html[data-admin-theme] body.admin-ui .container-23234 > .right { flex: 0 0 auto; margin: 0 6px 0 0; gap: 0; }
  html[data-admin-theme] body.admin-ui .container-23234 .right :is(.export-btn-c,.stats-btn-c) { display: none; }
  html[data-admin-theme] body.admin-ui .container-23234 .user-dropdown-menu { display: flex; align-items: center; min-width: 44px; min-height: 44px; padding: 8px; margin: 0; border: 0; }
  html[data-admin-theme] body.admin-ui .container-23234 .user-dropdown-menu > span:not(.ant-avatar) { display: none; }
  html[data-admin-theme] body.admin-ui :is(.admin-search-trigger,.admin-menu-toggle,.admin-theme-trigger) {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    min-width: 44px; width: 44px; min-height: 44px; height: 44px;
    padding: 8px; margin: 0; border: 0; border-radius: 8px;
    background: transparent; color: var(--theme-ink); font-size: 13px;
  }
  html[data-admin-theme] body.admin-ui .admin-search-trigger :is(span,kbd),
  html[data-admin-theme] body.admin-ui .admin-theme-trigger :is(.admin-theme-trigger-name,.admin-theme-trigger-icon) { display: none; }
  html[data-admin-theme] body.admin-ui .admin-search-trigger svg { width: 20px; height: 20px; }
  html[data-admin-theme] body.admin-ui .main-c {
    min-width: 0; width: auto; margin-left: 0!important;
    margin-top: calc(var(--admin-header-height) + var(--admin-page-heading-height));
    padding-bottom: calc(var(--admin-mobile-bottom) + 16px);
  }
  html[data-admin-theme] body.admin-ui .main-c > .page-header {
    left: 0; top: var(--admin-header-height); width: 100%; height: var(--admin-page-heading-height);
    padding: 0 12px; z-index: 100; overflow: hidden;
  }
  html[data-admin-theme] body.admin-ui .page-header .back-c { min-width: 0; }
  html[data-admin-theme] body.admin-ui .page-header .back-c .title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; }
  html[data-admin-theme] body.admin-ui .page-header .back-c .back-btn { display: grid; place-items: center; min-width: 44px; min-height: 44px; margin-left: -8px; }
  html[data-admin-theme] body.admin-ui .main-content {
    min-width: 0; max-width: calc(100% - 24px); margin: 12px!important; padding: 14px!important;
    min-height: calc(100dvh - 200px); border-radius: 12px;
  }
  html[data-admin-theme] body.admin-ui .main-content > :is(.container,.list) { min-width: 0; max-width: 100%; }
  html[data-admin-theme] body.admin-ui[data-admin-extension] .main-content,
  html[data-admin-theme] body.admin-home .main-content { padding: 0!important; }

  /* Closed navigation must leave no visible or focusable strip over the page. */
  html[data-admin-theme] body.admin-ui :is(.first-bar,.second-bar) {
    position: fixed; top: var(--admin-header-height); bottom: var(--admin-mobile-bottom);
    height: auto; z-index: 120; visibility: hidden; pointer-events: none;
    transform: translateX(calc(-100vw - 10px)); transition: transform .2s ease, visibility .2s;
    overscroll-behavior: contain; padding-bottom: 16px;
  }
  html[data-admin-theme] body.admin-ui .first-bar { left: 0; }
  html[data-admin-theme] body.admin-ui .second-bar { left: var(--admin-rail); }
  html[data-admin-theme] body.admin-ui.admin-nav-open :is(.first-bar,.second-bar) { visibility: visible; pointer-events: auto; transform: none; }
  html[data-admin-theme] body.admin-ui.admin-nav-open::after { display: none; }
  html[data-admin-theme] body.admin-ui .first-bar .list .item { min-height: 48px; height: 48px!important; padding: 0 10px; gap: 8px; }
  html[data-admin-theme] body.admin-ui .second-bar :is(.ant-menu-item,.ant-menu-submenu-title,.pm-admin-menu-link) {
    min-height: 46px; height: auto!important; line-height: 46px!important; font-size: 14px; border-radius: 8px;
  }
  html[data-admin-theme] body.admin-ui .admin-nav-heading { margin-top: 10px; font-size: 16px; }
  html[data-admin-theme] body.admin-ui .admin-category-tools button { min-height: 44px; }
  html[data-admin-theme] body.admin-mobile .admin-mobile-nav {
    display: flex; position: fixed; inset: auto 0 0; z-index: 140;
    height: var(--admin-mobile-bottom); padding: 4px 8px calc(4px + env(safe-area-inset-bottom, 0px));
    background: var(--theme-surface, #fff); border-top: 1px solid var(--theme-line, #e8e8e8);
    box-shadow: 0 -4px 20px #26365308;
  }
  html[data-admin-theme] body.admin-mobile .admin-mobile-tab {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; flex: 1 1 0; min-width: 0; min-height: 52px; border: 0; border-radius: 10px;
    color: var(--theme-muted, #666); background: transparent; font: inherit;
  }
  html[data-admin-theme] body.admin-mobile .admin-mobile-tab.is-active { color: var(--theme-primary); background: var(--theme-soft); font-weight: 600; }
  html[data-admin-theme] body.admin-mobile .admin-mobile-icon { font-size: 22px; line-height: 24px; }
  html[data-admin-theme] body.admin-mobile .admin-mobile-label { font-size: 11px; line-height: 16px; }
  html[data-admin-theme] body.admin-mobile.admin-nav-open .admin-mobile-backdrop {
    display: block; position: fixed; inset: var(--admin-header-height) 0 var(--admin-mobile-bottom);
    z-index: 110; width: 100%; height: auto; border: 0; padding: 0; background: #17223866;
  }

  /* Native controls stay native, with enough room for thumbs and readable input. */
  html[data-admin-theme] body.admin-ui :is(.ant-btn,.pm-admin-btn,.ci-button,.sp-button) { min-height: 44px; height: auto; padding: 10px 14px; font-size: 14px; line-height: 22px; border-radius: 8px; white-space: normal; }
  html[data-admin-theme] body.admin-ui :is(.ant-input,.ant-select-selection,.ant-input-number,.ci-input,.ci-select,.sp-input) { min-height: 44px; max-width: 100%; font-size: 16px; border-radius: 8px; }
  html[data-admin-theme] body.admin-ui .ant-input-number-input { height: 42px; font-size: 16px; }
  html[data-admin-theme] body.admin-ui .ant-select-selection--single { height: 44px; }
  html[data-admin-theme] body.admin-ui .ant-select-selection--single .ant-select-selection__rendered { line-height: 42px; }
  html[data-admin-theme] body.admin-ui .ant-select-dropdown-menu-item { min-height: 44px; padding: 12px; }
  html[data-admin-theme] body.admin-ui .ant-calendar-picker { max-width: 100%; }
  html[data-admin-theme] body.admin-ui .ant-form { max-width: 100%; }
  html[data-admin-theme] body.admin-ui .ant-form .ant-form-item { margin: 0 0 18px; }
  html[data-admin-theme] body.admin-ui .ant-form :is(.ant-form-item-label,.ant-form-item-control-wrapper) { float: none; width: 100%; max-width: 100%; margin-left: 0; text-align: left; }
  html[data-admin-theme] body.admin-ui .ant-form .ant-form-item-label { padding: 0 0 5px; line-height: 24px; white-space: normal; }
  html[data-admin-theme] body.admin-ui .ant-form .ant-form-item-control { line-height: 1.6; }
  html[data-admin-theme] body.admin-ui :is(.ant-checkbox-wrapper,.ant-radio-wrapper) { min-height: 40px; padding-top: 8px; padding-bottom: 8px; }
  html[data-admin-theme] body.admin-ui :is(.content-head,.sort-keys,.filter-bar,.ci-toolbar-group,.pm-admin-filters) { display: flex; flex-wrap: wrap; max-width: 100%; gap: 10px; }
  html[data-admin-theme] body.admin-ui .content-head > div { min-width: 0; max-width: 100%; flex-wrap: wrap; }
  html[data-admin-theme] body.admin-ui .main-content .page-header { display: flex; flex-wrap: wrap; height: auto; gap: 12px; margin-bottom: 16px; }
  html[data-admin-theme] body.admin-ui .main-content .page-header :is(.left,.right) { min-width: 0; max-width: 100%; margin: 0; }
  html[data-admin-theme] body.admin-ui .main-content .page-header .right > div { display: flex; flex-wrap: wrap; gap: 8px; }
  html[data-admin-theme] body.admin-ui .main-content .page-header .ant-btn { margin: 0!important; float: none!important; }
  html[data-admin-theme] body.admin-ui .main-content > .container > .row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; overflow: visible!important; margin: 0 0 14px; }
  html[data-admin-theme] body.admin-ui .main-content > .container > .row > :is(.ant-input-affix-wrapper,.ant-input-search) { width: calc(100% - 82px)!important; flex: 1 1 180px; margin: 0!important; }
  html[data-admin-theme] body.admin-ui .main-content > .container > .row > .ant-radio-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; margin: 0!important; gap: 8px; }
  html[data-admin-theme] body.admin-ui .ant-radio-button-wrapper { height: auto; min-height: 44px; line-height: 42px; padding: 0 10px; text-align: center; border: 1px solid var(--theme-line); border-radius: 8px; }
  html[data-admin-theme] body.admin-ui .ant-radio-button-wrapper::before { display: none; }
  html[data-admin-theme] body.admin-ui .main-content > .container > .row > a { display: inline-flex; align-items: center; min-height: 44px; margin: 0!important; }
  html[data-admin-theme] body.admin-ui .tab-list { display: flex; overflow-x: auto; max-width: 100%; flex-wrap: nowrap; gap: 4px; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
  html[data-admin-theme] body.admin-ui .tab-list > .item { flex: 0 0 auto; min-height: 44px; padding: 12px; white-space: nowrap; }

  /* Scroll wide business tables inside their panel, leaving all fields reachable. */
  html[data-admin-theme] body.admin-ui .ant-table-wrapper { max-width: 100%; min-width: 0; }
  html[data-admin-theme] body.admin-ui :is(.ant-table-content,.ant-table-body) { max-width: 100%; overflow-x: auto!important; -webkit-overflow-scrolling: touch; }
  html[data-admin-theme] body.admin-ui .ant-table-scroll { overflow: visible; }
  html[data-admin-theme] body.admin-ui :is(.ant-table-fixed-left,.ant-table-fixed-right) { display: none; }
  html[data-admin-theme] body.admin-ui .ant-table-fixed-columns-in-body { visibility: visible!important; }
  html[data-admin-theme] body.admin-ui .ant-table :is(th,td) { font-size: 14px; padding: 12px; }
  html[data-admin-theme] body.admin-ui .ant-table-tbody td a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 3px; white-space: nowrap; }
  html[data-admin-theme] body.admin-ui .ant-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; float: none; }
  html[data-admin-theme] body.admin-ui .ant-pagination > li { min-width: 40px; height: 40px; line-height: 38px; margin: 0; }
  html[data-admin-theme] body.admin-ui .ant-pagination-options { margin: 4px 0; }
  html[data-admin-theme] body.admin-ui .ant-modal { width: calc(100% - 16px)!important; max-width: 620px; top: 16px; margin: 0 auto; padding-bottom: calc(16px + env(safe-area-inset-bottom,0px)); }
  html[data-admin-theme] body.admin-ui .ant-modal-content { border-radius: 14px; overflow: hidden; }
  html[data-admin-theme] body.admin-ui .ant-modal-header { padding: 18px 52px 16px 16px; }
  html[data-admin-theme] body.admin-ui .ant-modal-body { padding: 16px; max-height: calc(100dvh - 180px); overflow: auto; overscroll-behavior: contain; }
  html[data-admin-theme] body.admin-ui .ant-modal-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding: 12px 16px; }
  html[data-admin-theme] body.admin-ui .ant-modal-footer .ant-btn { margin: 0; }
  html[data-admin-theme] body.admin-ui .ant-drawer-content-wrapper { max-width: 100vw; }
  html[data-admin-theme] body.admin-ui :is(.ant-message,.ant-notification) { max-width: calc(100vw - 24px); }
  html[data-admin-theme] body.admin-ui .admin-search-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 130px); margin: 12px auto; }
  html[data-admin-theme] body.admin-ui .admin-search-input { font-size: 16px; min-height: 48px; }
  html[data-admin-theme] body.admin-ui .admin-search-results button { min-height: 56px; }

  html[data-admin-theme] body.admin-ui .admin-workbench { display: flex; flex-direction: column; gap: 12px; }
  html[data-admin-theme] body.admin-ui .admin-merchant-intro { order: 0; margin: 3px 2px 0; }
  html[data-admin-theme] body.admin-ui .admin-shortcut-section { order: 1; }
  html[data-admin-theme] body.admin-ui .admin-overview-today { order: 2; }
  html[data-admin-theme] body.admin-ui .admin-overview-history { order: 3; }
  html[data-admin-theme] body.admin-ui :is(.admin-overview,.admin-shortcut-section) { margin: 0; padding: 16px; border-radius: 12px; }
  html[data-admin-theme] body.admin-ui .admin-merchant-intro .admin-workbench-title { font-size: 22px; font-weight: 600; }
  html[data-admin-theme] body.admin-ui .admin-merchant-intro .admin-workbench-subtitle { font-size: 13px; }
  html[data-admin-theme] body.admin-ui .admin-merchant-label { display: none; }
  html[data-admin-theme] body.admin-ui .admin-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  html[data-admin-theme] body.admin-ui .admin-shortcut { min-height: 72px; padding: 10px; border-radius: 8px; }
  html[data-admin-theme] body.admin-ui .admin-shortcut small { display: none; }
  html[data-admin-theme] body.admin-ui .admin-shortcut .iconfont { padding: 8px; font-size: 20px; }
  html[data-admin-theme] body.admin-ui .admin-shortcut strong { font-size: 14px; }
  html[data-admin-theme] body.admin-ui .admin-shortcut-arrow { display: none; }
  html[data-admin-theme] body.admin-ui .admin-section-heading { margin: 0 0 12px; }
  html[data-admin-theme] body.admin-ui .admin-section-heading h2 { font-size: 16px; font-weight: 600; }
  html[data-admin-theme] body.admin-ui .admin-section-heading > span { font-size: 11px; }
  html[data-admin-theme] body.admin-ui .admin-overview .admin-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-admin-theme] body.admin-ui .admin-overview .admin-metric { padding: 14px 10px; border-radius: 0; }
  html[data-admin-theme] body.admin-ui .admin-overview .admin-metric:nth-child(n) { border-right: 1px solid var(--theme-line); border-top: 0; }
  html[data-admin-theme] body.admin-ui .admin-overview .admin-metric:nth-child(2n) { border-right: 0; }
  html[data-admin-theme] body.admin-ui .admin-overview .admin-metric:nth-child(n+3) { border-top: 1px solid var(--theme-line); }
  html[data-admin-theme] body.admin-ui .admin-metric strong { font-size: 24px; }
  html[data-admin-theme] body.admin-ui :is(.admin-overview-refresh,.admin-overview-periods button) { min-height: 44px; padding: 8px 12px; }
  html[data-admin-theme] body.admin-ui .admin-finance-equation { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  html[data-admin-theme] body.admin-ui .admin-finance-item { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; width: 100%; padding: 12px 0; }
  html[data-admin-theme] body.admin-ui .admin-finance-item strong { font-size: 22px; grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  html[data-admin-theme] body.admin-ui .admin-finance-operator { display: none; }
  html[data-admin-theme] body.admin-ui .admin-finance-profit { border-top: 1px solid var(--theme-line); }
  html[data-admin-theme] body.admin-ui .admin-finance-note { font-size: 12px; line-height: 1.7; }
  html[data-admin-theme] body.admin-home #admin-workbench + .list { padding: 16px; border-radius: 12px; }
  html[data-admin-theme] body.admin-ui :focus-visible { outline: 2px solid var(--theme-primary); outline-offset: 2px; }
  html[data-admin-theme] body.admin-ui button:active { filter: brightness(.96); }
  @media (max-width: 360px) {
    html[data-admin-theme] body.admin-ui .admin-metric strong { font-size: 18px; overflow-wrap: normal; white-space: nowrap; }
    html[data-admin-theme] body.admin-ui .admin-shortcut { gap: 6px; padding: 8px; }
    html[data-admin-theme] body.admin-ui .admin-shortcut strong { font-size: 13px; }
  }
  @media (prefers-reduced-motion: reduce) {
    html[data-admin-theme] body.admin-ui :is(.first-bar,.second-bar) { transition: none; }
  }
}
