/* Mobile UI v2: superfici native renderizzate dal server soltanto per mobile.
   Nessuna regola desktop vive qui e nessuna lista usa altezze massime. */
.mn-page { display: none; }

@media screen {
  body.mobile-native-layout .mn-page {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    min-width: 0;
  }

  /* One scroll owner: the CRM content canvas. Controls stay reachable while
     panels flow naturally; list/card heights never create nested scrolling. */
  body.mobile-native-layout .main-content:has(.mn-page) { scroll-padding-top: 12rem; }
  body.mobile-native-layout .sc-page-body:has(.mn-page) { overflow: visible; flex: none; }
  .mn-controls { position: sticky; top: 0; z-index: 30; display: grid; gap: .5rem; padding-block: .5rem; background: var(--card); }
  .mn-panel { min-width: 0; display: grid; gap: .75rem; align-content: start; }
  .mn-page [hidden] { display: none !important; }
  .mn-head { display: grid; gap: .625rem; }
  .mn-head-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
  .mn-title-wrap { min-width: 0; }
  /* Come `.sc-page-title` su desktop (titolare, 12/10/2026): titolo grande,
     senza icona davanti. */
  .mn-title { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: 1.5rem; font-weight: 700; line-height: 1.1; letter-spacing: -.04em; }
  .mn-title > svg, .mn-title > i[data-hugeicon] { display: none; }
  .mn-subtitle { margin: .25rem 0 0; color: var(--muted-foreground); font-size: .78rem; line-height: 1.35; }
  .mn-head-action { flex: none; min-height: 44px; }
  .mn-head-action .sr-only { display: none; }
  .mn-period { width: max-content; max-width: 100%; margin: 0; }
  /* Legacy style.css forces a 16px margin with !important on every picker. */
  .mn-page .mn-period .pselector-wrap { margin: 0 !important; }
  .mn-page .mn-period .pselector-trigger { min-height: 44px; }
  .mn-page > .mn-section.mn-panel { border: 0; box-shadow: none; padding: .25rem 0 .75rem; }
  .mn-search-row { display: flex; align-items: center; gap: .5rem; }
  .mn-search-row .mn-search { flex: 1; min-width: 0; }
  .mn-row-meta:empty { display: none; }
  .mn-row-meta:not(:has(> *)) { display: none; }
  .mn-head-top form { margin: 0; }
  .mn-controls::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px; background: linear-gradient(to bottom, var(--card), transparent); opacity: 0; pointer-events: none; }
  .mn-page.mn-scrolled .mn-controls::after { opacity: 1; }
  .main-content.mn-scroll-host::after { content: ""; display: block; position: sticky; bottom: -.875rem; height: 24px; margin-top: -24px; margin-bottom: 0; opacity: 0; background: linear-gradient(to bottom, transparent, var(--card)); pointer-events: none; z-index: 31; }


  .main-content.mn-scroll-bottom::after { opacity: 1; }

  /* The period sheet is inside the fixed page stacking context. Lift that
     context above mobile navigation while its existing modal is open. */
  body.mobile-native-layout .main-content:has(.mn-page .pselector-panel.open) { z-index: var(--layer-modal-root); }
  .mn-scroll-host:has(.pselector-panel.open)::after { opacity: 0; }

  .mn-kpi-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .625rem;
    padding: 1px 1px 5px;
  }
  .mn-kpi {
    display: grid;
    gap: .35rem;
    min-height: 4.25rem;
    padding: .75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--card);
    box-shadow: var(--content-shadow);
  }
  .mn-kpi-label { color: var(--muted-foreground); font-size: .72rem; }
  .mn-kpi-value { align-self: end; font-size: 1.22rem; font-weight: 700; font-variant-numeric: tabular-nums; }
  .mn-kpi-value.accent { color: var(--primary); }

  .mn-section {
    display: grid;
    gap: .75rem;
    padding: .75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    background: var(--card);
    box-shadow: var(--content-shadow);
  }
  .mn-section-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
  .mn-section-title { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .95rem; font-weight: 650; }
  .mn-section-title svg { width: 17px; height: 17px; color: var(--muted-foreground); }
  .mn-count { min-width: 1.7rem; text-align: center; }
  .mn-search { min-height: 44px; font-size: 16px; }
  .mn-kpi .dsh-kpi-note { margin: 0; font-size: .65rem; }
  .mn-kpi-value { overflow-wrap: anywhere; }
  .mn-segment:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; }
  .mn-list { display: grid; gap: 0; }
  .mn-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .3rem .75rem;
    align-items: center;
    min-width: 0;
    padding: .625rem 0;
    border-top: 1px solid var(--border);
    color: inherit;
    text-decoration: none;
  }
  .mn-list > .mn-row:first-child { border-top: 0; }
  .mn-row-title { min-width: 0; font-size: .88rem; font-weight: 650; overflow-wrap: anywhere; }
  .mn-row-value { justify-self: end; font-size: .86rem; font-weight: 650; font-variant-numeric: tabular-nums; }
  .mn-row-meta { grid-column: 1 / -1; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; color: var(--muted-foreground); font-size: .72rem; }
  .mn-row-meta img { width: 15px; height: 15px; object-fit: contain; }
  .mn-row-arrow { width: 16px; height: 16px; color: var(--muted-foreground); }
  .mn-group-label { margin: .3rem 0 0; color: var(--muted-foreground); font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
  .mn-empty { margin: 0; padding: .625rem 0; color: var(--muted-foreground); font-size: .82rem; }

  .mn-segmented { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); padding: 3px; border-radius: var(--radius-lg); background: var(--muted); }
  .mn-segment {
    min-height: 44px;
    border: 0;
    border-radius: calc(var(--radius-lg) - 2px);
    background: transparent;
    color: var(--muted-foreground);
    font: inherit;
    font-size: .8rem;
    font-weight: 600;
  }
  .mn-segment.active { background: var(--card); color: var(--foreground); box-shadow: var(--content-shadow); }
  .mn-panel[hidden], .mn-list[hidden] { display: none !important; }
  .mn-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .mn-actions .sc-btn, .mn-actions form, .mn-actions form .sc-btn { width: 100%; }
  .mn-chart { height: 12rem; min-height: 12rem; }
  .mn-chart canvas { width: 100% !important; height: 100% !important; }
  .mn-status { justify-self: end; }
}

/* Detail wrappers are transparent on desktop; the server opts into mobile. */
.mn-detail-root, [data-mn-detail-panel] { display: contents; }
body.mobile-native-layout {
  --content-gap: .5rem;
  --navbar-height: 3rem;
  --mn-inset: 1rem;
  --mn-nav-height: calc(69px + env(safe-area-inset-bottom));
}
body.mobile-native-layout .sidebar,
body.mobile-native-layout .navbar-mobile-burger,
body.mobile-native-layout .mn-desktop-only { display: none !important; }
body.mobile-native-layout .navbar {
  top: .5rem; left: .5rem; right: .5rem; height: 3rem;
  padding-inline: var(--mn-inset); border-radius: var(--radius-xl);
}
body.mobile-native-layout .navbar-logo { width: 64px; max-height: 26px; }
body.mobile-native-layout .navbar-icon-btn { width: 44px; height: 44px; min-width: 44px; }
body.mobile-native-layout .navbar-actions { gap: 0; }
body.mobile-native-layout .navbar-actions-sep { margin-inline: .125rem; }
body.mobile-native-layout:has(.sidebar) .main-content,
body.mobile-native-layout.sidebar-collapsed:has(.sidebar) .main-content,
body.mobile-native-layout.viewer-shell .main-content {
  position: fixed; inset: 4rem .5rem calc(var(--mn-nav-height) + .5rem);
  width: auto; height: auto; margin: 0 !important; padding: var(--mn-inset);
  display: block; overflow-x: hidden; overflow-y: auto;
  overscroll-behavior: contain; border-radius: var(--radius-xl);
  scrollbar-width: thin; direction: ltr;
}
body.mobile-native-layout .mob-bottom-nav {
  position: fixed;  inset: auto 0 0;
  display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
  min-height: var(--mn-nav-height);
  padding: .5rem .5rem calc(.5rem + env(safe-area-inset-bottom));
  background: var(--background); border-top: 1px solid var(--border);
}
body.mobile-native-layout .mob-bottom-nav-item {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-width: 0; min-height: 52px; gap: 3px; border-radius: var(--radius-lg);
  font-size: .7rem; color: var(--muted-foreground); text-decoration: none;
}
body.mobile-native-layout .mob-bottom-nav-item svg { width: 20px; height: 20px; }
body.mobile-native-layout .mob-bottom-nav-item.active { color: var(--primary); background: var(--accent); }
body.mobile-native-layout .mn-detail-root { display: block; min-width: 0; }
body.mobile-native-layout [hidden] { display: none !important; }
body.mobile-native-layout :is(.sc-page-body,.sc-page-scroll,.sc-page-scroll-card) {
  display: block; flex: none; height: auto; min-height: 0; max-height: none;
  overflow: visible;
}
body.mobile-native-layout .sc-page-scroll { margin: 0; padding: 0; }
body.mobile-native-layout .sc-page-fade { display: none; }
body.mobile-native-layout :is(.sc-page-header,.sc-page-header > div,.sc-page-title) { min-width: 0; }
body.mobile-native-layout .sc-page-header { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem; }
body.mobile-native-layout .sc-page-header > :first-child { flex: 1 1 180px; }
body.mobile-native-layout .sc-page-title { font-size: 1.5rem; flex-wrap: wrap; gap: .5rem; overflow-wrap: anywhere; }
body.mobile-native-layout .sc-page-subtitle { font-size: .78rem; line-height: 1.4; }
body.mobile-native-layout :is(.sc-page-back-icon,.sc-btn,.sc-tabs-item,.cd-filter-pill) { min-height: 44px; }
body.mobile-native-layout :is(.sc-input,.sc-select,.sc-textarea) { font-size: 16px; min-height: 44px; }
/* A mobile tab is 44px tall. Its shared track must reserve that height plus
   its 3px inset on both sides, otherwise overflow scrolling clips the active
   pill and its shadow. */
body.mobile-native-layout .sc-tabs-track {
  height: 50px;
  max-width: 100%;
  padding-inline: .375rem;
  scroll-padding-inline: .375rem;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
body.mobile-native-layout .sc-tabs-track::-webkit-scrollbar { display: none; }
/* The tabs and active search share one opaque sticky surface. */
body.mobile-native-layout .mn-detail-tabs::before,
body.mobile-native-layout .mn-lead-controls::before,
body.mobile-native-layout .mn-controls::before {
  content: ""; position: absolute;
  inset: 0 calc(-1 * var(--mn-inset));
  background: var(--card); z-index: -1;
}
body.mobile-native-layout :is(.mn-detail-tabs,.mn-lead-controls,.mn-controls).mn-is-stuck::before {
  top: calc(-1 * var(--mn-inset));
}
body.mobile-native-layout .mn-detail-tabs,
body.mobile-native-layout .mn-lead-controls {
  position: sticky; top: 0; z-index: 30; background: var(--card); padding-block: .5rem;
  margin-bottom: .75rem;
}
body.mobile-native-layout .mn-detail-tabs::after,
body.mobile-native-layout .mn-lead-controls::after {
  content: ""; position: absolute; top: 100%; left: 0; right: 0; height: .75rem;
  background: linear-gradient(var(--card),transparent); pointer-events: none;
}
body.mobile-native-layout [data-mn-detail-panel] { display: grid; gap: .75rem; }
body.mobile-native-layout :is(.adv-kpi-grid,.cd-kpi-grid) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
body.mobile-native-layout :is(.adv-kpi-grid,.cd-kpi-grid) > * { min-width: 0; overflow-wrap: anywhere; }
body.mobile-native-layout .adv-kpi-card { min-width: 0; min-height: 0; padding: .75rem; gap: .25rem; }
body.mobile-native-layout .adv-kpi-label { white-space: normal; overflow: visible; font-size: .72rem; line-height: 1.35; }
body.mobile-native-layout .adv-kpi-value { font-size: 1.25rem; line-height: 1.2; overflow-wrap: anywhere; }
body.mobile-native-layout .dsh-kpi-note { font-size: .7rem; margin-top: .25rem; }
body.mobile-native-layout .sc-card { margin-bottom: .75rem; }
body.mobile-native-layout .sc-card:last-child { margin-bottom: 0; }
body.mobile-native-layout .sc-card-header { gap: .5rem; }
body.mobile-native-layout .sc-section-title { font-size: .95rem; white-space: normal; }
body.mobile-native-layout .performance-period-left,
body.mobile-native-layout .pselector-wrap { margin: 0 !important; }
body.mobile-native-layout .pselector-trigger { min-height: 44px; }
body.mobile-native-layout .performance-controls-row { gap: .5rem; }
body.mobile-native-layout .main-content:has(.pselector-panel.open) { z-index: var(--layer-modal-root); }
body.mobile-native-layout .main-content:has(.pselector-panel.open)::after { display: none; }
body.mobile-native-layout .cd-title-badges { flex-basis: 100%; margin: 0; }
body.mobile-native-layout .cd-overview { display: flex; flex-direction: column; gap: .75rem; }
body.mobile-native-layout .cd-overview-side { display: contents; }
body.mobile-native-layout .cd-overview-chart { order: 1; }
body.mobile-native-layout .cd-overview-alerts { order: 2; }
body.mobile-native-layout .meta-alerts-list { height: auto; max-height: none; overflow: visible; }
body.mobile-native-layout :is(.meta-alert-item,.ma-item) { min-width: 0; }
body.mobile-native-layout .cd-filter-bar { flex-wrap: wrap; gap: .5rem; }
body.mobile-native-layout .cd-filter-bar .sc-tabs-track { flex-wrap: wrap; max-width: 100%; }
body.mobile-native-layout .cd-campaign-name-filter { display: flex; width: 100%; min-width: 0; }
body.mobile-native-layout .cd-campaign-name-filter input { width: 0; flex: 1; min-width: 0; }
body.mobile-native-layout .cd-scope-col { display: none !important; }
body.mobile-native-layout .orders-analytics-grid,
body.mobile-native-layout .orders-secondary-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; }
body.mobile-native-layout .orders-filter-bar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
body.mobile-native-layout .orders-filter-bar > :first-of-type { grid-column: 1 / -1; }
body.mobile-native-layout .orders-filter-bar .usr-field { min-width: 0; }
body.mobile-native-layout .orders-filter-action { grid-column: 1 / -1; }
body.mobile-native-layout .orders-filter-action button { width: 100%; }
body.mobile-native-layout .mn-record-button { width: 100%; background: none; border-inline: 0; border-bottom: 0; border-radius: 0; color: var(--foreground); font: inherit; text-align: left; cursor: pointer; }
body.mobile-native-layout .ls-table-card { border: 0; box-shadow: none; padding: 0; }
body.mobile-native-layout .ls-toolbar { margin: 0 0 .5rem; }
body.mobile-native-layout #lsStageFilterBar { margin: 0; gap: .25rem; }
body.mobile-native-layout .ls-footer { display: grid; gap: .5rem; margin-top: .75rem; }
body.mobile-native-layout .ls-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem; }
body.mobile-native-layout :is(#lsFirst,#lsLast,#lsPerPageSel) { display: none; }
body.mobile-native-layout .ls-footer-total { font-size: .75rem; }
/* Labelled records opt in explicitly, retaining the original table data and
   permission-filtered columns. No metric is silently discarded. */
body.mobile-native-layout .adv-table-wrap:has([data-mn-records]) { overflow: visible; max-height: none; height: auto; mask-image: none !important; -webkit-mask-image: none !important; }
body.mobile-native-layout table[data-mn-records],
body.mobile-native-layout table[data-mn-records] > tbody { display: block; width: 100%; min-width: 0; white-space: normal !important; }
body.mobile-native-layout table[data-mn-records] > thead { display: none; }
body.mobile-native-layout table[data-mn-records] > tbody > tr {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem .75rem;
  padding: .75rem 0; border-bottom: 1px solid var(--border); background: none;
}
body.mobile-native-layout table[data-mn-records] > tbody > tr[style*="display: none"],
body.mobile-native-layout table[data-mn-records] > tbody > tr[style*="display:none"] { display: none; }
body.mobile-native-layout table[data-mn-records] > tbody > tr > td {
  display: block; width: auto !important; height: auto; min-width: 0; max-width: none;
  grid-column: auto; grid-row: auto; padding: 0; border: 0; text-align: left;
  font-size: .85rem; white-space: normal !important; overflow: visible; overflow-wrap: anywhere;
}
body.mobile-native-layout table[data-mn-records] > tbody > tr > td:first-child,
body.mobile-native-layout table[data-mn-records] > tbody > tr > td[colspan] { grid-column: 1 / -1; font-weight: 600; }
body.mobile-native-layout table[data-mn-records] > tbody > tr > td::before {
  content: attr(data-mn-label); display: block; font-size: .7rem; font-weight: 400; color: var(--muted-foreground); margin-bottom: .125rem;
}
body.mobile-native-layout table[data-mn-records] > tbody > tr > td:first-child::before { display: none; }
body.mobile-native-layout .orders-cell-truncate { max-width: none; white-space: normal; overflow: visible; }
/* All mobile overlays use viewport bounds; only the body can scroll. */
body.mobile-native-layout :is(.rm2-wrap,.sc-dialog-content) {
  width: min(40rem,calc(100vw - 24px)) !important; max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px); min-width: 0;
}
body.mobile-native-layout .rm2-wrap { height: calc(100dvh - 24px) !important; }
body.mobile-native-layout :is(.rm2-header,.sc-dialog-header,.sc-dialog-footer) { flex-shrink: 0; }
body.mobile-native-layout :is(.rm2-body,.cd-modal-scroll,.sc-dialog-body) { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
body.mobile-native-layout #statsPsPanel {
  min-width: 0 !important; width: calc(100vw - 48px); max-width: 24rem;
  max-height: calc(100dvh - 48px); overflow: auto !important; flex-wrap: wrap;
  top: 24px !important; left: 24px !important; right: 24px !important;
}
body.mobile-native-layout .ld-footer { padding: .5rem 1rem; }
body.mobile-native-layout .ld-grid { grid-template-columns: minmax(0,1fr); }
body.mobile-native-layout .ld-field-wrap { min-width: 0; }
body.mobile-native-layout .ld-field-input { width: 100%; min-width: 0; }
body.mobile-native-layout .ld-close-btn { min-height: 44px; }
@media (orientation: landscape) and (max-height: 500px) {
  body.mobile-native-layout .navbar { height: 44px; }
  body.mobile-native-layout .main-content { top: 3.5rem !important; }
  body.mobile-native-layout .mn-controls { position: static; }
}

body.mobile-native-layout .mn-card-list { padding-inline: 1rem; }
body.mobile-native-layout .sc-page-title > span:not(.sc-badge):not(.cd-title-badges) { flex: 1; min-width: 0; }
body.mobile-native-layout .sc-page-title > svg { flex: none; }
body.mobile-native-layout .cmp-wrap { margin: 0; }
body.mobile-native-layout .cmp-trigger { min-height: 44px; }
body.mobile-native-layout .cmp-panel { min-width: 0; width: min(320px,calc(100vw - 64px)); max-height: 60dvh; overflow-y: auto; }
body.mobile-native-layout .mn-store-kpis .sc-card { margin: 0; }

body.mobile-native-layout :is(.adv-kpi-grid,.cd-kpi-grid) > .sc-card { margin: 0; }
body.mobile-native-layout .mn-record-button { box-shadow: none !important; }
body.mobile-native-layout .mn-compact-action { width: 44px; padding: 0; flex: none; }
body.mobile-native-layout .mn-compact-action > span { display: none; }
body.mobile-native-layout [data-mn-detail="leadsheet"] .sc-page-subtitle { display: none; }
body.mobile-native-layout .sc-page-fixed { margin-bottom: .75rem; }
body.mobile-native-layout .mn-row:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; }

body.mobile-native-layout .mn-filter-disclosure { grid-column: 1 / -1; }
body.mobile-native-layout .mn-filter-disclosure summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: .5rem; font-size: .85rem; }
body.mobile-native-layout .mn-filter-disclosure summary::after { content: "+"; margin-left: auto; }
body.mobile-native-layout .mn-filter-disclosure[open] summary::after { content: "−"; }
body.mobile-native-layout .mn-filter-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
body.mobile-native-layout .mn-filter-fields .orders-filter-action { grid-column: 1 / -1; }
body.mobile-native-layout .sc-page-title > .cd-title-badges { flex: 0 0 100%; }
body.mobile-native-layout .adv-table-wrap:has([data-mn-records]) { padding: 0 1rem .5rem; }
body.mobile-native-layout .mn-detail-root .sc-card:has([data-mn-records]) { padding-bottom: .5rem; }

body.mobile-native-layout .navbar-admin .navbar-logo-link { max-width: 64px; overflow: visible; }
body.mobile-native-layout #card-body-campagne.collapsed { display: block; }
body.mobile-native-layout #mnPerfCampaigns > .sc-card > .sc-card-header { display: none; }
body.mobile-native-layout #mnPerfCampaigns .sc-card { border: 0; box-shadow: none; padding: 0; }
body.mobile-native-layout .meta-alert { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: .5rem; }
body.mobile-native-layout .meta-alert-btns { display: none; }
body.mobile-native-layout .mn-stat-kpis { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
body.mobile-native-layout #statsPsPanel > * { min-width: 0; max-width: 100%; }
/* Native period sheet also applies to a rotated phone. Header and actions are
   fixed rows of the sheet; only the calendar viewport scrolls. */
body.mobile-native-layout .pselector-panel {
  position: fixed !important; inset: auto 0 var(--mn-nav-height) !important; width: 100% !important;
  min-width: 0 !important; height: min(42rem, calc(100dvh - var(--mn-nav-height) - 12px)) !important;
  max-height: calc(100dvh - var(--mn-nav-height) - 12px) !important;
  flex-direction: column !important; overflow: hidden !important;
  border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
}
body.mobile-native-layout .pselector-panel-inner {
  display: flex !important; flex-direction: column !important;
  height: 100%; min-height: 0; max-height: 100% !important; overflow: hidden !important;
}
body.mobile-native-layout .pselector-cal-footer {
  position: static !important; flex: 0 0 auto;
  margin: 0 !important;
  padding: .75rem 0 calc(.25rem + env(safe-area-inset-bottom)) !important;
  background: var(--card) !important; border-top: 1px solid var(--border); z-index: 2;
}
body.mobile-native-layout .pselector-cal-footer button { min-height: 44px; }
body.mobile-native-layout .pselector-mobile-header { display: flex !important; position: sticky; top: 0; min-height: 52px; background: var(--card); align-items: center; justify-content: center; z-index: 2; }
body.mobile-native-layout .pselector-mobile-close { position: absolute; right: .5rem; top: .25rem; width: 44px; height: 44px; border: 0; background: var(--card); color: var(--foreground); }
body.mobile-native-layout .pselector-presets { width: 100% !important; min-height: 0 !important; position: static !important; overflow: visible !important; padding: .75rem 1rem !important; border-right: 0; }
body.mobile-native-layout :is(.pselector-menu,.pselector-submenu) { position: static !important; transform: none !important; display: flex !important; flex-wrap: wrap !important; gap: .5rem !important; padding: 0 !important; }
body.mobile-native-layout :is(.pselector-has-sub,.pselector-back-btn,.pselector-submenu-divider) { display: none !important; }
body.mobile-native-layout .pselector-preset-btn {  min-height: 44px; }
body.mobile-native-layout .pselector-calendar {
  width: 100%; max-width: 30rem; min-height: 0; flex: 1 1 0;
  align-self: center; padding: 1rem !important; overflow: hidden;
}
body.mobile-native-layout .pselector-cal-header { flex: 0 0 auto; }
body.mobile-native-layout #pMonthsWrap {
  min-height: 0; flex: 1 1 0; overflow-x: hidden !important; overflow-y: auto !important;
  overscroll-behavior: contain;
  padding: 4px; scrollbar-width: none;
}
body.mobile-native-layout #pMonthsWrap::-webkit-scrollbar { display: none; }
body.mobile-native-layout .pselector-months { display: grid !important; grid-template-columns: 1fr !important; padding: 0; }
body.mobile-native-layout .pselector-date-input { font-size: 16px; }

body.mobile-native-layout .cd-filter-bar .sc-tabs-track { height: auto; overflow: visible; padding: .25rem; width: 100%; }
body.mobile-native-layout .cd-filter-bar .sc-tabs-item { flex: 1; }
body.mobile-native-layout :is(.sc-btn-icon-sm,.sc-btn-icon-xs) { min-width: 44px; width: 44px; min-height: 44px; }
body.mobile-native-layout .pselector-wrap:has(.pselector-panel.open) { z-index: 1301 !important; }
body.mobile-native-layout :is(.pselector-menu,.pselector-submenu) { flex-direction: row !important; }
body.mobile-native-layout .pselector-preset-btn { width: auto !important; }
body.mobile-native-layout .pselector-mobile-close { display: flex !important; align-items: center; justify-content: center; }

body.mobile-native-layout .navbar-logo { height: 24px; }
body.mobile-native-layout .navbar-logo :is(.logo-divider,.logo-divider ~ path) { display: none; }
body.mobile-native-layout .mn-search-row { min-width: 0; background: var(--card); }

body.mobile-native-layout .navbar-icon-btn svg { width: 20px; height: 20px; }
body.mobile-native-layout .mn-stat-kpis > div > div { white-space: normal !important; overflow: visible !important; }
body.mobile-native-layout #statsPsPanel { flex-direction: column !important; }
body.mobile-native-layout #statsPsPanel > :first-child { width: 100% !important;  grid-template-columns: repeat(2,minmax(0,1fr)); flex-shrink: 0; border-right: 0 !important; }
body.mobile-native-layout #statsPsPanel > :last-child { flex: none !important; width: 100%; }
body.mobile-native-layout #statsPsPanel > :last-child > :first-child { flex-direction: column; align-items: stretch !important; }
body.mobile-native-layout #statsPsPanel > :last-child > :first-child > svg { display: none; }
body.mobile-native-layout #statsPsPanel .sps-preset { min-height: 44px; white-space: normal; }
body.mobile-native-layout #statsPsPanel input { width: 100%; min-width: 0; }
body.mobile-native-layout #statsPsPanel > :last-child > :last-child { position: sticky; bottom: 0; background: var(--card); }
body.mobile-native-layout #statsPsPanel > :first-child { display: grid !important; }
body.mobile-native-layout #statsPsPanel > :first-child > div { display: none; }
@media (orientation: landscape) and (max-height: 500px) {
  body.mobile-native-layout #statsPsPanel { flex-direction: row !important; max-width: none; }
  body.mobile-native-layout #statsPsPanel > :first-child { width: 40% !important; }
  body.mobile-native-layout #statsPsPanel > :last-child { width: 60%; }
}

body.mobile-native-layout .cj-dialog .sc-dialog-header { position: relative; padding-right: 3rem; }
body.mobile-native-layout .mn-jump-close { position: absolute; right: 0; top: 0; }
body.mobile-native-layout .cj-list { max-height: none; overflow: visible; }
body.mobile-native-layout .mn-jump-row { display: flex; align-items: center; gap: .5rem; }
body.mobile-native-layout .mn-jump-row .cj-row { flex: 1; min-width: 0; min-height: 44px; }
body.mobile-native-layout .cj-row-name { white-space: normal; overflow-wrap: anywhere; }
body.mobile-native-layout .pp-table-wrap:has([data-mn-records]) { overflow: visible; }
/* Navigation belongs below dialogs, including the legacy mobile navbar. */
body.mobile-native-layout .navbar { z-index: var(--layer-navbar) !important; }
body.mobile-native-layout .mob-bottom-nav { z-index: var(--layer-navbar); }
body.mobile-native-layout .cj-dialog .sc-dialog-header { display: flex; flex-direction: row; align-items: center; min-height: 44px; }
body.mobile-native-layout #statsModal .rm2-header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; }
body.mobile-native-layout #statsModal .rm2-header-actions { display: contents; }
body.mobile-native-layout #statsPsWrap { grid-column: 1 / -1; grid-row: 2; }
body.mobile-native-layout #statsModal .rm2-header-actions > button { grid-column: 2; grid-row: 1; }

body.mobile-native-layout .pselector-presets { display: none !important; }
body.mobile-native-layout .mn-preset-select { padding: 1rem 1rem 0; }
body.mobile-native-layout .mn-preset-select select { width: 100%; }
body.mobile-native-layout .ps-month-nav { display: flex !important; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }

/* Stable metadata slots: date never competes with contact text for a line. */
body.mobile-native-layout .mn-record-meta { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; }
body.mobile-native-layout .mn-record-meta time { white-space: nowrap; justify-self: end; }
body.mobile-native-layout .mn-lead-record .mn-row-title { min-height: 2.8em; line-height: 1.4; display: flex; align-items: center; }
body.mobile-native-layout .mn-list > .mn-lead-record:first-child { border-top: 1px solid transparent; }

/* Shared compact disclosure: filters remain available without a chip wall. */
body.mobile-native-layout .mn-filter { min-width: 0; width: 100%; }
body.mobile-native-layout .mn-filter > summary { display: flex; width: 100%; justify-content: flex-start; list-style: none; min-height: 44px; }
body.mobile-native-layout .mn-filter > summary::-webkit-details-marker { display: none; }
body.mobile-native-layout .mn-filter > summary > span { flex: 1; min-width: 0; text-align: left; }
body.mobile-native-layout .mn-filter[open] > summary { margin-bottom: .5rem; }
body.mobile-native-layout .mn-filter[open] > summary > svg:last-child { transform: rotate(180deg); }
body.mobile-native-layout .mn-filter :is(.cd-filter-bar,.cq-chips) { gap: .5rem; margin: 0; padding: .25rem; }
body.mobile-native-layout .mn-filter :is(.cd-filter-pill,.cq-chip) { min-height: 44px; }
body.mobile-native-layout .mn-filter .cq-order { margin: .5rem 0 0; display: grid; grid-template-columns: auto minmax(0,1fr); }
body.mobile-native-layout .mn-filter .cq-order select { width: 100%; min-width: 0; font-size: 1rem; }

/* Portals escape the canvas' clipping and stacking context on WebKit as well. */
body.mobile-native-layout > .mn-viewport-overlay { z-index: var(--layer-modal-root); padding: .5rem; }
body.mobile-native-layout > .mn-viewport-overlay.sc-modal-secondary { z-index: calc(var(--layer-modal-root) + 10); }
body.mobile-native-layout .ld-shell { width: 100%; max-width: 40rem; height: calc(100dvh - 1rem); max-height: calc(100dvh - 1rem); gap: .5rem; }
body.mobile-native-layout .ld-shell > div:first-child { flex-shrink: 0; }
body.mobile-native-layout .ld-modal { flex: 1; height: auto; min-height: 0; }
body.mobile-native-layout .ld-header { order: 0; padding: 1rem 1rem .5rem; }
body.mobile-native-layout .ld-pipeline-wrap { order: 1; padding: 0 1rem .5rem; }
body.mobile-native-layout .ld-pipe-track, body.mobile-native-layout .ld-pipe-avanzamento { display: none; }
body.mobile-native-layout .ld-pipe-mobile { display: block; }
body.mobile-native-layout .ld-tabbar { display: none; }
body.mobile-native-layout .mn-section-picker { order: 2; flex-shrink: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .75rem; padding: 0 1rem .75rem; border-bottom: 1px solid var(--border); }
body.mobile-native-layout .mn-section-picker .sc-label { margin: 0; }
body.mobile-native-layout .mn-section-picker select { width: 100%; min-height: 44px; font-size: 1rem; }
body.mobile-native-layout .ld-tabcontent { order: 3; min-height: 0; padding: .75rem 1rem 1rem; overscroll-behavior: contain; }
body.mobile-native-layout .ld-footer { order: 4; }
body.mobile-native-layout .ld-field-card { padding: 0; border: 0; background: none; border-radius: 0; }
body.mobile-native-layout .ld-field-card-title { margin-bottom: .75rem; }
body.mobile-native-layout .ld-field-input { min-height: 44px; font-size: 1rem; }
body.mobile-native-layout .ld-close-btn { background: var(--card); color: var(--foreground); border-color: var(--border); }
body.mobile-native-layout .ld-pipe-elenco { max-height: min(50dvh, 22rem); overflow-y: auto; }
body.mobile-native-layout #statsModal :is(.oc-kpi-grid,.pp-order-kpis) { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.mobile-native-layout .cq-body { height: auto !important; max-height: none !important; overflow: visible; padding: 0; }
body.mobile-native-layout .cq-tools { display: grid; grid-template-columns: minmax(0,1fr); gap: .5rem; }
body.mobile-native-layout .cq-search { width: 100%; max-width: none; min-height: 44px; font-size: 1rem; }
body.mobile-native-layout .cq-list { gap: 0; }
body.mobile-native-layout .cq-row { overflow: visible; padding: .75rem 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; gap: .5rem; }
body.mobile-native-layout .cq-outcomes { justify-content: flex-start; }
body.mobile-native-layout :is(.cq-link,.cq-outcomes .sc-btn,.cq-phone) { min-height: 44px; display: inline-flex; align-items: center; }
body.mobile-native-layout .df-testa .df-sotto { display: none; }
body.mobile-native-layout .cq-summary { margin-bottom: .5rem; }
@media (orientation: landscape) and (max-height: 500px) {
  body.mobile-native-layout .ld-header { padding-block: .5rem; }
  body.mobile-native-layout .ld-meta { display: none; }
}
body.mobile-native-layout .cq-row { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "name attesa" "perche perche" "phone quick" "azioni azioni"; }
body.mobile-native-layout .cq-who { display: contents; }
body.mobile-native-layout .cq-name { grid-area: name; }
body.mobile-native-layout .cq-phone { grid-area: phone; }
body.mobile-native-layout .cq-quick { grid-area: quick; align-self: center; gap: .75rem; }
body.mobile-native-layout .cq-when { align-items: flex-end; }
body.mobile-native-layout .cq-tools { position: sticky; top: 0; padding-block: .5rem; background: var(--card); z-index: 30; }
body.mobile-native-layout .cq-tools::before {
  content: ''; position: absolute;
  inset: 0 calc(-1 * var(--mn-inset));
  background: var(--card); z-index: -1;
}
body.mobile-native-layout .cq-tools.mn-is-stuck::before { top: calc(-1 * var(--mn-inset)); }
body.mobile-native-layout .mn-section-picker select { appearance: auto; }
@media (orientation: landscape) and (max-height: 500px) {
  body.mobile-native-layout :is(.mn-lead-controls,.cq-tools) { position: static; }
  body.mobile-native-layout .ld-modal { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto auto minmax(0,1fr) auto; }
  body.mobile-native-layout :is(.ld-header,.ld-tabcontent,.ld-footer) { grid-column: 1 / -1; }
  body.mobile-native-layout .ld-pipeline-wrap { grid-column: 1; }
  body.mobile-native-layout .mn-section-picker { grid-column: 2; border: 0; }
}
body.mobile-native-layout :is(#stageRequirementsModal,#leadOrderModal) > .sc-dialog-content { display: flex; flex-direction: column; overflow: hidden !important; }
body.mobile-native-layout #stageRequirementsFields { min-height: 0; overflow-y: auto; padding: .25rem; }
body.mobile-native-layout #leadOrderModal .sc-dialog-body { padding: .25rem; }

body.mobile-native-layout [data-mn-detail="leadsheet"] .sc-page-header > :first-child { flex-basis: 0; }

/* ── Decisioni del titolare per il mobile, 08/10/2026 ──────────────────────
   1. Nessuna barra di ricerca: si toglie dalla vista, il markup e i listener
      restano (li usa il desktop e il controller delle schede li sposta).
   2. Periodo e azioni in alto a destra, sulla riga del titolo; se non ci
      stanno vanno a capo restando allineati a destra. */
body.mobile-native-layout :is(.mn-search-row, .ls-toolbar, .cq-search, .orders-filter-search) { display: none !important; }
body.mobile-native-layout .mn-head-top { flex-wrap: wrap; }
body.mobile-native-layout .mn-head-actions {
  display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap;
  gap: .5rem; margin-left: auto; min-width: 0;
}
/* Pagine di dettaglio: titolo e controlli del periodo sulla stessa riga. */
body.mobile-native-layout .mn-detail-root > .sc-page-fixed {
  display: flex; flex-wrap: wrap; align-items: center; column-gap: .5rem; row-gap: .5rem;
}
body.mobile-native-layout .mn-detail-root > .sc-page-fixed > * { flex: 0 0 100%; min-width: 0; order: 2; }
body.mobile-native-layout .mn-detail-root > .sc-page-fixed > .sc-page-header { flex: 1 1 auto; order: 0; margin-bottom: 0; }
body.mobile-native-layout .mn-detail-root > .sc-page-fixed > :is(.performance-period-left, .performance-controls-row) {
  /* !important: piu' su `.performance-period-left` azzera i margini con !important. */
  flex: 0 1 auto; order: 1; margin-left: auto !important; justify-content: flex-end;
}
/* Titolo, periodo e azione devono stare su una riga a 375 px: titolo appena
   piu' piccolo, selettore del periodo senza freccia e con meno margine. */
body.mobile-native-layout .mn-head-top { gap: .5rem; }
body.mobile-native-layout .mn-head-top .mn-title { font-size: 1.4rem; }
body.mobile-native-layout :is(.mn-head-actions, .mn-detail-root > .sc-page-fixed) .pselector-trigger { padding-inline: .625rem; gap: .375rem; }
body.mobile-native-layout :is(.mn-head-actions, .mn-detail-root > .sc-page-fixed) .pselector-trigger > svg:last-child { display: none; }
/* Dashboard cliente: saluto a sinistra, periodo in alto a destra. */
body.mobile-native-layout .cd-header { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: .5rem; }
body.mobile-native-layout .cd-header > :first-child { flex: 1 1 160px; min-width: 0; }
body.mobile-native-layout .cd-header .pselector-trigger { min-height: 44px; padding-inline: .625rem; gap: .375rem; }
body.mobile-native-layout .cd-header .pselector-trigger > svg:last-child { display: none; }
/* Leadsheet: filtro per stato in alto a destra, accanto alle azioni. Il titolo
   tiene la sua larghezza: se titolo e azioni non stanno su una riga, le azioni
   vanno a capo allineate a destra. L'elenco degli stati si apre sotto la
   testata, a tutta larghezza. */
body.mobile-native-layout [data-mn-detail="leadsheet"] .sc-page-header { position: relative; }
body.mobile-native-layout [data-mn-detail="leadsheet"] .sc-page-header > :first-child { flex: 1 1 auto; }
body.mobile-native-layout [data-mn-detail="leadsheet"] .sc-page-header > :last-child { margin-left: auto; }
body.mobile-native-layout .mn-filter[data-mn-filter-head] { width: auto; flex: none; }
body.mobile-native-layout .mn-filter[data-mn-filter-head] > summary { width: auto; max-width: 9.5rem; padding-inline: .625rem; gap: .375rem; }
body.mobile-native-layout .mn-filter[data-mn-filter-head] > summary > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-native-layout .mn-filter[data-mn-filter-head] > summary > svg:last-child { display: none; }
body.mobile-native-layout .mn-filter[data-mn-filter-head][open] > summary { margin-bottom: 0; }
body.mobile-native-layout .mn-filter[data-mn-filter-head][open] > .cd-filter-bar {
  position: absolute; left: 0; right: 0; top: calc(100% + .375rem); z-index: 40;
  padding: .5rem; background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-md);
}
/* Senza ricerca e senza filtro la fascia dei controlli resta vuota. */
body.mobile-native-layout .mn-lead-controls:not(:has(.mn-filter)) { display: none; }
