/* Statsfera Mobile Pro — additive responsive layer. Desktop remains unchanged. */
@media (max-width: 768px) {
  :root { --mobile-gap: 10px; --mobile-radius: 14px; }
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  body { -webkit-text-size-adjust: 100%; overscroll-behavior-x: none; }
  button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
  button, .btn, [role="button"] { touch-action: manipulation; }

  .mobile-topbar {
    height: calc(62px + env(safe-area-inset-top)) !important;
    padding: env(safe-area-inset-top) 12px 0 !important;
    gap: 10px !important;
    background: rgba(255,255,255,.94) !important;
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  }
  .mobile-menu-btn { display:grid !important; place-items:center; font-size:0 !important; }
  .mobile-menu-btn::before { content:'☰'; font-size:20px; }
  .mobile-brand { flex:0 0 auto; }
  .mobile-topbar-copy { padding-left:10px; border-left:1px solid #e5ebf3; }
  .main { padding-top: calc(76px + env(safe-area-inset-top)) !important; padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important; }
  .page.active { animation: mobilePageIn .18s ease-out; }
  @keyframes mobilePageIn { from { opacity:.4; transform:translateY(4px) } to { opacity:1; transform:none } }

  .side { padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important; }
  .side .brand-lockup { justify-content:flex-start !important; }
  .side .brand-lockup img { width:38px !important; height:38px !important; }
  .side .brand-lockup .brand-copy { display:inline !important; color:#fff; font-size:22px !important; }
  .side-account { margin-top:18px; }

  .page > .top, .page > [class*="page-head"], .dashboard-v196-head,
  .v225-orders-head, .v225-products-head, .avito-accounts-head {
    margin-bottom:12px !important;
  }
  .page h1 { font-size:23px !important; letter-spacing:-.35px !important; }
  .panel, .card, .warehouse-section, .returns-filter-panel, .products-filter-panel {
    border-radius:var(--mobile-radius) !important;
    box-shadow:0 5px 18px rgba(24,51,88,.045) !important;
  }
  .btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
  input.field, select.select, .field, .select { min-height:44px; min-width:0 !important; }

  /* Dashboards and period controls */
  .dashboard-v196-head { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:12px !important; }
  .dashboard-v196-period { display:flex !important; flex-direction:column !important; width:100% !important; gap:8px !important; }
  .dashboard-v196-range { width:100% !important; min-height:44px !important; grid-template-columns:auto 1fr auto 1fr !important; }
  .dashboard-v196-range input { min-width:0 !important; width:100% !important; }
  .dashboard-v196-presets, .finance-tabs, #analyticsTabsSlot .analytics-tabs {
    display:flex !important; width:100% !important; max-width:100%; overflow-x:auto !important;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .dashboard-v196-presets::-webkit-scrollbar, .finance-tabs::-webkit-scrollbar,
  #analyticsTabsSlot .analytics-tabs::-webkit-scrollbar { display:none; }
  .dashboard-v196-presets button, .finance-tabs button, #analyticsTabsSlot .analytics-tabs button {
    flex:1 0 auto !important; min-width:max-content !important; min-height:40px !important;
  }
  .dashboard-v196-kpis, .dashboard-v196-bottom, .dashboard-v196-chart-grid,
  .dashboard-v196-secondary, .dashboard-v196-lists { grid-template-columns:1fr !important; }
  canvas, svg { max-width:100%; }

  /* Full mobile controls on inventory, returns, matching and finance. */
  #inventory .products-actions, #matching .products-actions, #telegram .top > .btn,
  #avitoAccounts .avito-accounts-head > .btn { width:100% !important; }
  #inventory .products-actions .btn, #matching .products-actions .btn { flex:1 1 100% !important; width:100% !important; }
  #returns .returns-filter-panel { padding:12px !important; }
  #returns .returns-filter-top { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; }
  #returns .returns-quick { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; }
  #returns .returns-date-range { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; }
  #returns .returns-date-range > span { display:none; }
  #returns .returns-date-range label { min-width:0; }
  #returns .returns-search { margin-top:10px; }
  #finance .finance-period { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; }
  #finance .finance-period label { min-width:0; }
  #finance .finance-period .field { width:100% !important; }
  #finance .finance-tabs { margin-bottom:10px; }
  #matching .mapping-help { padding:12px !important; font-size:11px !important; line-height:1.5; }

  /* Analytics stays complete: controls stack, charts remain fluid, detailed mini tables swipe. */
  #analytics.page { padding:10px !important; margin:0 -2px; border-radius:14px; }
  #analytics .analytics-page-head { flex-direction:column !important; align-items:stretch !important; gap:10px !important; }
  #analytics .analytics-page-date { width:100%; justify-content:center; }
  #analyticsTabsSlot .analytics-tabs { padding:4px !important; }
  #analyticsTabsSlot .analytics-tabs button { padding:0 14px !important; }
  #analytics .summary-v189-kpis, #analytics .products-v191-kpis,
  #analytics .analytics-clean-grid, #analytics .analytics-kpis { grid-template-columns:1fr 1fr !important; }
  #analytics #analyticsFilters { padding:12px !important; }
  #analytics #analyticsFilters > div:last-child,
  #analytics .products-v191-filter-grid { grid-template-columns:1fr !important; }
  #analytics .summary-v189-chart-card, #analytics .listings-v190-card,
  #analytics .products-v191-chart-card { padding:11px !important; overflow:hidden; }
  #analytics .summary-v189-controls, #analytics .products-v191-chart-controls,
  #analytics .listings-v190-tools { width:100%; align-items:stretch !important; }
  #analytics .listings-v190-search { width:100% !important; min-width:0 !important; }

  /* Avito accounts and Telegram */
  .avito-account-grid, .avito-publish-steps { grid-template-columns:1fr !important; }
  .avito-account-card { padding:14px !important; }
  .avito-account-card-head { gap:8px; }
  .avito-account-facts { grid-template-columns:1fr 1fr !important; }
  .avito-account-actions { display:grid !important; grid-template-columns:1fr 1fr; }
  .avito-account-actions .btn { width:100%; }
  #telegram .two { gap:10px !important; }
  #telegram .list { align-items:flex-start; gap:12px; }
  #telegram .list > * { min-width:0; overflow-wrap:anywhere; }

  /* Embedded scraper occupies the useful phone viewport. */
  .scraper-page-head { margin-bottom:9px !important; }
  .scraper-head-actions { display:grid !important; grid-template-columns:1fr 1fr !important; width:100% !important; gap:8px !important; }
  .scraper-status { grid-column:1/-1; }
  .scraper-open-button, .scraper-head-actions .btn { width:100% !important; min-width:0 !important; }
  .scraper-shell { height:calc(100dvh - 155px) !important; min-height:560px; border-radius:13px !important; overflow:hidden; }
  .scraper-frame { width:100% !important; height:100% !important; }

  /* Generic registries become readable cards. JS supplies data-label. */
  table.sf-mobile-card-table { display:block !important; width:100% !important; min-width:0 !important; border:0 !important; background:transparent !important; overflow:visible !important; }
  table.sf-mobile-card-table thead, table.sf-mobile-card-table tr.sf-mobile-header-row { display:none !important; }
  table.sf-mobile-card-table tbody { display:block !important; width:100%; }
  table.sf-mobile-card-table tbody > tr {
    display:block !important; width:100% !important; margin:0 0 9px !important; padding:10px 12px !important;
    border:1px solid #dfe7f1 !important; border-radius:12px !important; background:#fff !important;
    box-shadow:0 3px 12px rgba(20,48,86,.035);
  }
  table.sf-mobile-card-table tbody > tr[hidden] { display:none !important; }
  table.sf-mobile-card-table tbody > tr > td {
    display:grid !important; grid-template-columns:minmax(88px,.42fr) minmax(0,1fr); align-items:start;
    gap:10px !important; width:100% !important; min-width:0 !important; padding:8px 0 !important;
    border:0 !important; border-bottom:1px solid #edf1f5 !important; white-space:normal !important;
    text-align:right !important; overflow-wrap:anywhere;
  }
  table.sf-mobile-card-table tbody > tr > td:last-child { border-bottom:0 !important; }
  table.sf-mobile-card-table tbody > tr > td::before {
    content:attr(data-label); display:block; color:#7a8ba1; font-size:9px; line-height:1.35;
    font-weight:800; text-transform:uppercase; letter-spacing:.025em; text-align:left;
  }
  table.sf-mobile-card-table tbody > tr > td[data-label=""],
  table.sf-mobile-card-table tbody > tr > td[colspan] { grid-template-columns:1fr; text-align:left !important; }
  table.sf-mobile-card-table tbody > tr > td[data-label=""]::before,
  table.sf-mobile-card-table tbody > tr > td[colspan]::before { display:none; }
  table.sf-mobile-card-table td .btn, table.sf-mobile-card-table td button { max-width:100%; }

  /* Dense analytical sub-tables are better as explicit swipe zones. */
  .sf-mobile-scroll-zone { max-width:100% !important; overflow-x:auto !important; border-radius:10px; -webkit-overflow-scrolling:touch; }
  .sf-mobile-scroll-zone > table { min-width:640px !important; display:table !important; }
  .sf-mobile-scroll-zone::after { content:'Проведите в сторону, чтобы увидеть все данные'; display:block; padding:6px 8px; color:#8a98aa; font-size:9px; text-align:center; }

  /* Professional bottom sheets: every desktop action remains reachable. */
  .modal { align-items:flex-end !important; padding:0 !important; }
  .modalbox, #modalbox {
    width:100% !important; max-width:100% !important; max-height:94dvh !important; margin:0 !important;
    padding:18px 14px calc(16px + env(safe-area-inset-bottom)) !important;
    border-radius:20px 20px 0 0 !important; overscroll-behavior:contain;
  }
  .modalbox::before, #modalbox::before {
    content:''; display:block; width:38px; height:4px; margin:-8px auto 12px; border-radius:99px; background:#d7dee8;
  }
  .modalbox .close, #modalbox > .close { width:40px !important; height:40px !important; }
  .create-footer, .modal-actions, .product-analytics-actions {
    padding-bottom:calc(10px + env(safe-area-inset-bottom)) !important;
  }
  .role-grid { grid-template-columns:1fr !important; }
  .user-row { align-items:flex-start; flex-wrap:wrap; }
  .user-row > span { flex:1 1 100%; }
  .toast { left:12px !important; right:12px !important; bottom:calc(12px + env(safe-area-inset-bottom)) !important; text-align:center; }
}

@media (max-width: 430px) {
  .mobile-brand span { display:none; }
  .mobile-topbar-copy { border-left:0; padding-left:2px; }
  .dashboard-v196-kpis, #analytics .summary-v189-kpis,
  #analytics .products-v191-kpis, #analytics .analytics-clean-grid,
  #analytics .analytics-kpis, .avito-account-facts { grid-template-columns:1fr !important; }
  #finance .finance-period, .avito-account-actions { grid-template-columns:1fr !important; }
  .scraper-head-actions { grid-template-columns:1fr !important; }
  .scraper-status { grid-column:auto; }
}

/* Orders — compact app-like cards. Keep the two-column information grid even
   on narrow phones, and place the three row actions beside the project. */
.orders-mobile-edit { display:none; }
@media (max-width: 768px) {
  #orders table.orders-v194-table tbody tr {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    margin-bottom:12px !important;
    padding:12px !important;
    border-radius:16px !important;
    border-color:#dce6f2 !important;
    box-shadow:0 7px 22px rgba(23,52,91,.065) !important;
  }
  #orders table.orders-v194-table td:nth-child(2),
  #orders table.orders-v194-table td:nth-child(3) { grid-column:1/-1 !important; }
  #orders table.orders-v194-table td:nth-child(4),
  #orders table.orders-v194-table td:nth-child(6),
  #orders table.orders-v194-table td:nth-child(8) { grid-column:1 !important; }
  #orders table.orders-v194-table td:nth-child(5),
  #orders table.orders-v194-table td:nth-child(7),
  #orders table.orders-v194-table td:nth-child(9) { grid-column:2 !important; }
  #orders table.orders-v194-table td:nth-child(n+4):nth-child(-n+8) {
    min-height:82px !important;
    padding:10px !important;
    border:1px solid #e7edf5 !important;
    border-radius:12px !important;
    background:#f9fbfe !important;
  }
  #orders table.orders-v194-table td:nth-child(4),
  #orders table.orders-v194-table td:nth-child(5) { min-height:132px !important; }
  #orders table.orders-v194-table td:nth-child(n+4):nth-child(-n+8)::before {
    margin-bottom:7px !important;
    color:#8292a8 !important;
    font-size:9px !important;
    letter-spacing:.06em !important;
  }
  #orders .orders-v194-product { align-items:center !important; gap:11px !important; }
  #orders .orders-v194-product-photo,
  #orders .orders-v194-product-placeholder { width:48px !important; height:48px !important; flex:0 0 48px !important; border-radius:10px !important; }
  #orders .orders-v194-product-name { font-size:13px !important; line-height:1.25 !important; }
  #orders .orders-v194-product-copy > .orders-enrich-button { display:none !important; }
  #orders .orders-mobile-edit {
    display:flex !important; align-items:center; justify-content:space-between;
    width:100%; min-height:42px; margin-top:10px; padding:0 12px;
    border:1px solid #bfd5f7; border-radius:10px; background:#f3f8ff;
    color:#155ec5; font-size:12px; font-weight:750; text-align:left; cursor:pointer;
  }
  #orders .orders-mobile-edit span { font-size:20px; line-height:1; }
  #orders .orders-mobile-edit:active { background:#e5f0ff; }
  #orders .orders-v194-table td:nth-child(3) { display:block !important; }
  #orders .orders-v194-finance-main { font-size:16px !important; }
  #orders .orders-v194-finance-line,
  #orders .orders-v194-track { font-size:10px !important; line-height:1.45 !important; }
  #orders .orders-v194-profit { margin-top:5px !important; font-size:11px !important; }
  #orders .orders-v194-delivery { max-width:100% !important; font-size:10px !important; }
  #orders .orders-v226-warehouse,
  #orders .orders-v230-project-control { width:100% !important; height:38px !important; }
  #orders .orders-v226-warehouse select,
  #orders .orders-v194-project-select { font-size:11px !important; }
  #orders table.orders-v194-table td:nth-child(9) {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    min-height:82px !important;
    padding:10px !important;
    border:1px solid #e7edf5 !important;
    border-radius:12px !important;
    background:#f9fbfe !important;
  }
  #orders .orders-v194-actions {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    width:100% !important;
  }
  #orders .orders-v194-actions .btn {
    flex:0 0 36px !important;
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 !important;
    border-radius:10px !important;
  }
  #orders .orders-v194-actions .btn svg { width:16px !important; height:16px !important; }
  #products #productAddButton { min-height:46px !important; font-size:13px !important; font-weight:800 !important; }
  #modalbox:has(.order-clarify-modal) { overflow-y:auto !important; }
  #modalbox .order-clarify-modal { width:100%; min-width:0; }
  #modalbox .order-clarify-fields { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; }
  #modalbox .order-clarify-fields label { min-width:0; }
  #modalbox .order-clarify-fields input { width:100% !important; min-height:44px !important; font-size:16px !important; }
  #modalbox .order-clarify-actions { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; }
  #modalbox .order-clarify-actions .btn,
  #modalbox .order-clarify-modal > .btn { width:100% !important; min-height:44px !important; }
  #modalbox:has(.product-editor-v234) {
    width:100% !important; max-width:100% !important; max-height:94dvh !important;
    padding:0 !important; border-radius:20px 20px 0 0 !important; overflow-y:auto !important;
  }
  #modalbox .product-editor-v234 { width:100% !important; min-width:0 !important; }
  #modalbox .product-editor-head { padding:18px 15px 14px !important; }
  #modalbox .product-editor-head > .close { right:12px !important; top:12px !important; }
  #modalbox .product-editor-grid { grid-template-columns:1fr !important; padding:12px 12px 0 !important; gap:12px !important; }
  #modalbox .product-editor-sizes { margin:12px 12px 0 !important; }
  #modalbox .product-editor-form input,
  #modalbox .product-editor-form textarea,
  #modalbox .product-editor-v234 .create-size-row select,
  #modalbox .product-editor-v234 .create-size-row input { font-size:16px !important; min-height:44px !important; }
  #modalbox .product-editor-v234 .create-footer {
    display:grid !important; grid-template-columns:1fr 1fr !important;
    padding:11px 12px calc(12px + env(safe-area-inset-bottom)) !important;
  }
  #modalbox .product-editor-v234 .create-footer .btn { min-width:0 !important; min-height:44px !important; }
}

@media (max-width: 430px) {
  #orders table.orders-v194-table tbody tr { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; }
  #orders table.orders-v194-table td:nth-child(n+4):nth-child(-n+8) { grid-column:auto !important; }
  #orders table.orders-v194-table td:nth-child(4),
  #orders table.orders-v194-table td:nth-child(6),
  #orders table.orders-v194-table td:nth-child(8) { grid-column:1 !important; }
  #orders table.orders-v194-table td:nth-child(5),
  #orders table.orders-v194-table td:nth-child(7),
  #orders table.orders-v194-table td:nth-child(9) { grid-column:2 !important; }
  #orders .orders-v194-actions { grid-template-columns:none !important; }
}
