/* OSKAR WHITE CRM 3.1.22 — wspólny kontrakt mobile: najważniejsze dane + zakładka Więcej. */

.ow-mobile-tabbar,
.ow-mobile-content-switcher {
  display: none;
}

@media (max-width: 47.99rem) {
  :root {
    --ow-mobile-topbar-height: 3.75rem;
    --ow-mobile-tabbar-height: 4.35rem;
    --ow-mobile-page-gap: .7rem;
    --ow-mobile-page-inline: .65rem;
  }

  html {
    min-height: 100%;
  }

  body.ow-crm-app-body:not(.ow-worker-app-body):not(.ow-payment-verification-body) {
    min-height: 100dvh;
    overflow: hidden;
    background: #f3f6fa;
  }

  body.ow-crm-app-body:not(.ow-worker-app-body):not(.ow-payment-verification-body) .ow-app-shell {
    min-height: 0;
    height: 100dvh;
    overflow: hidden;
  }

  body.ow-worker-app-body {
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    touch-action: pan-y;
    overscroll-behavior-y: contain;
  }

  body.ow-worker-app-body .ow-app-shell {
    min-height: 100dvh;
    height: auto;
    overflow: visible;
  }

  body.ow-crm-app-body .ow-main {
    min-width: 0;
    min-height: 0;
    height: 100dvh;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    padding: 0;
    overflow: hidden;
  }

  /* Worker portal is a document-scrolling mobile app, not the fixed CRM workspace. */
  body.ow-worker-app-body .ow-main {
    min-height: 100dvh;
    height: auto;
    display: block;
    overflow: visible;
  }

  body.ow-crm-app-body .ow-topbar {
    position: relative;
    top: auto;
    z-index: 310;
    min-height: var(--ow-mobile-topbar-height);
    margin: 0;
    padding: calc(.5rem + env(safe-area-inset-top)) var(--ow-mobile-page-inline) .5rem;
    border-bottom: 1px solid #d9e3ef;
    background: rgba(255,255,255,.97);
    box-shadow: 0 .25rem 1rem rgba(11,35,67,.055);
    backdrop-filter: blur(.8rem);
  }

  body.ow-crm-app-body .ow-operational-topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .5rem;
  }

  body.ow-crm-app-body .ow-mobile-app-menu {
    width: 2.65rem;
    height: 2.65rem;
    min-height: 2.65rem;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #d2deeb;
    border-radius: .82rem;
    background: #fff;
    color: #102a49;
  }

  body.ow-crm-app-body .ow-mobile-app-menu svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  body.ow-crm-app-body .ow-topbar-heading {
    min-width: 0;
  }

  body.ow-crm-app-body .ow-topbar-heading > div {
    min-width: 0;
  }

  body.ow-crm-app-body .ow-topbar-heading .ow-eyebrow {
    display: none;
  }

  body.ow-crm-app-body .ow-topbar-heading h1,
  body.ow-crm-app-body .ow-mobile-app-brand strong,
  body.ow-crm-app-body #ow-mobile-view-label {
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ow-crm-app-body .ow-topbar-heading h1 {
    font-size: 1.02rem;
    line-height: 1.2;
  }

  body.ow-crm-app-body .ow-topbar-actions {
    min-width: 0;
    width: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .2rem;
    overflow: visible;
  }

  body.ow-crm-app-body .ow-topbar-notification {
    width: 2.55rem;
    height: 2.55rem;
    min-height: 2.55rem;
    display: grid;
    place-items: center;
    padding: 0;
  }

  body.ow-crm-app-body .ow-ai-assistant-toggle,
  body.ow-crm-app-body .ow-language-switcher.is-crm,
  body.ow-crm-app-body .ow-sync-status,
  body.ow-crm-app-body .ow-operational-focus-toggle,
  body.ow-crm-app-body .ow-operational-user,
  body.ow-crm-app-body .ow-help-center-toggle,
  body.ow-crm-app-body .ow-interface-profile-switcher,
  body.ow-crm-app-body .ow-topbar-domain,
  body.ow-crm-app-body .ow-global-search-wrap,
  body.ow-crm-app-body .ow-mobile-search-toggle,
  body.ow-crm-app-body .ow-user-menu,
  body.ow-crm-app-body .ow-topbar-icon-button {
    display: none;
  }

  body.ow-crm-app-body #ow-app-alert {
    margin: .5rem var(--ow-mobile-page-inline) 0;
  }

  body.ow-crm-app-body #ow-app-root,
  body.ow-crm-app-body .ow-l-viewport {
    min-width: 0;
    min-height: 0;
    height: 100%;
    align-content: start;
    grid-auto-rows: max-content;
    gap: var(--ow-mobile-page-gap);
    padding: var(--ow-mobile-page-gap) var(--ow-mobile-page-inline) calc(var(--ow-mobile-tabbar-height) + 1rem + env(safe-area-inset-bottom));
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    scroll-padding-top: 3.5rem;
    scroll-padding-bottom: calc(var(--ow-mobile-tabbar-height) + 1rem);
    -webkit-overflow-scrolling: touch;
  }

  body.ow-crm-app-body[data-ow-current-view="mail"] #ow-app-root,
  body.ow-crm-app-body[data-ow-current-view="salesTerritory"] #ow-app-root,
  body.ow-crm-app-body[data-ow-current-view="salesLiveAssist"] #ow-app-root {
    height: 100%;
  }

  body.ow-crm-app-body .ow-mobile-content-switcher {
    position: sticky;
    top: 0;
    z-index: 40;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .25rem;
    padding: .25rem;
    border: 1px solid #d6e1ed;
    border-radius: .9rem;
    background: rgba(255,255,255,.96);
    box-shadow: 0 .25rem .8rem rgba(11,35,67,.06);
    backdrop-filter: blur(.7rem);
  }

  body.ow-crm-app-body .ow-mobile-content-switcher button {
    min-width: 0;
    min-height: 2.65rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .55rem .7rem;
    border: 0;
    border-radius: .7rem;
    background: transparent;
    color: #52677f;
    font-weight: 800;
  }

  body.ow-crm-app-body .ow-mobile-content-switcher button[aria-selected="true"] {
    background: #eaf3ff;
    color: #155aa4;
  }

  body.ow-crm-app-body .ow-mobile-content-switcher b {
    min-width: 1.35rem;
    height: 1.35rem;
    display: inline-grid;
    place-items: center;
    padding: 0 .25rem;
    border-radius: 999px;
    background: #dfeafb;
    font-size: .67rem;
  }

  body.ow-crm-app-body[data-ow-mobile-content="main"] [data-ow-mobile-priority="more"] {
    display: none;
  }

  body.ow-crm-app-body[data-ow-mobile-content="more"] [data-ow-mobile-priority="more"] {
    animation: ow-mobile-more-in .16s ease-out;
  }

  @keyframes ow-mobile-more-in {
    from { opacity: .45; transform: translateY(.2rem); }
    to { opacity: 1; transform: translateY(0); }
  }

  body.ow-crm-app-body .ow-mobile-tabbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 350;
    min-height: calc(var(--ow-mobile-tabbar-height) + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .1rem;
    padding: .35rem .35rem calc(.3rem + env(safe-area-inset-bottom));
    border-top: 1px solid #d5e0ec;
    background: rgba(255,255,255,.97);
    box-shadow: 0 -.45rem 1.3rem rgba(11,35,67,.09);
    backdrop-filter: blur(.9rem);
  }

  body.ow-crm-app-body .ow-mobile-tabbar__item {
    min-width: 0;
    min-height: 3.3rem;
    display: grid;
    grid-template-rows: 1.3rem auto;
    place-items: center;
    gap: .18rem;
    padding: .3rem .12rem;
    border: 0;
    border-radius: .8rem;
    background: transparent;
    color: #65778d;
    font-size: .6rem;
    font-weight: 790;
  }

  body.ow-crm-app-body .ow-mobile-tabbar__item svg {
    width: 1.2rem;
    height: 1.2rem;
  }

  body.ow-crm-app-body .ow-mobile-tabbar__item.is-active,
  body.ow-crm-app-body .ow-mobile-tabbar__item[aria-current="page"] {
    background: #eaf3ff;
    color: #145da8;
  }

  body.ow-crm-app-body .ow-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 410;
    width: min(87vw, 21rem);
    height: 100dvh;
    transform: translateX(-105%);
    overflow-y: auto;
    overscroll-behavior: contain;
    transition: transform .2s ease;
    box-shadow: 1rem 0 2.5rem rgba(4,22,46,.22);
  }

  body.ow-crm-app-body .ow-sidebar.is-mobile-open,
  body.ow-crm-app-body[data-mobile-menu-state="open"] .ow-sidebar {
    transform: translateX(0);
  }

  body.ow-crm-app-body .ow-mobile-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: block;
    border: 0;
    background: rgba(4,18,39,.53);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
  }

  body.ow-crm-app-body[data-mobile-menu-state="open"] .ow-mobile-sidebar-backdrop,
  body.ow-crm-app-body .ow-sidebar.is-mobile-open ~ .ow-mobile-sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  body.ow-crm-app-body .ow-card,
  body.ow-crm-app-body .ow-c-card,
  body.ow-crm-app-body .ow-dashboard-panel,
  body.ow-crm-app-body .ow-dashboard-section,
  body.ow-crm-app-body .ow-c-sales-panel {
    min-width: 0;
    min-height: 0;
    height: auto;
    align-self: start;
    margin: 0;
    padding: .78rem;
    border-radius: .95rem;
    box-shadow: none;
  }

  body.ow-crm-app-body .ow-card-head,
  body.ow-crm-app-body .ow-toolbar,
  body.ow-crm-app-body .ow-page-toolbar,
  body.ow-crm-app-body .ow-c-section-heading {
    min-width: 0;
    gap: .6rem;
  }

  body.ow-crm-app-body :is(.ow-card-head,.ow-toolbar,.ow-page-toolbar,.ow-c-section-heading) h2,
  body.ow-crm-app-body :is(.ow-card-head,.ow-toolbar,.ow-page-toolbar,.ow-c-section-heading) h3 {
    font-size: 1rem;
    line-height: 1.25;
  }

  body.ow-crm-app-body .ow-dashboard-intro {
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
    padding: .85rem;
  }

  body.ow-crm-app-body .ow-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }

  body.ow-crm-app-body .ow-dashboard-metric {
    min-width: 0;
    min-height: 5.25rem;
    height: auto;
    padding: .7rem;
  }

  body.ow-crm-app-body .ow-dashboard-layout,
  body.ow-crm-app-body .ow-dashboard-grid,
  body.ow-crm-app-body .ow-dashboard-sections,
  body.ow-crm-app-body .ow-grid-2,
  body.ow-crm-app-body .ow-grid-3,
  body.ow-crm-app-body .ow-grid-4,
  body.ow-crm-app-body .ow-detail-grid,
  body.ow-crm-app-body .ow-form-grid,
  body.ow-crm-app-body .ow-coordinator-main-grid,
  body.ow-crm-app-body .ow-coordinator-health-grid,
  body.ow-crm-app-body .ow-department-kpis,
  body.ow-crm-app-body .ow-m-sales-task-detail__layout,
  body.ow-crm-app-body .ow-m-sales-task-detail__communication-layout,
  body.ow-crm-app-body .ow-m-sales-task-detail__company-layout,
  body.ow-crm-app-body .ow-m-sales-task-detail__history-layout,
  body.ow-crm-app-body .ow-m-sales-task-page__subtasks-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: .7rem;
  }

  body.ow-crm-app-body input,
  body.ow-crm-app-body select,
  body.ow-crm-app-body textarea,
  body.ow-crm-app-body button,
  body.ow-crm-app-body a.ow-button,
  body.ow-crm-app-body a.ow-secondary,
  body.ow-crm-app-body a.ow-primary {
    min-height: 2.75rem;
  }

  body.ow-crm-app-body .ow-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
  }

  body.ow-crm-app-body .ow-actions > * {
    width: 100%;
    justify-content: center;
  }

  body.ow-crm-app-body .ow-tabs,
  body.ow-crm-app-body [role="tablist"],
  body.ow-crm-app-body .ow-m-sales-task-page__tabs,
  body.ow-crm-app-body .ow-p-inline-tabs,
  body.ow-crm-app-body .ow-p-internal-tabbar {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: .3rem;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  body.ow-crm-app-body :is(.ow-tabs,[role="tablist"],.ow-m-sales-task-page__tabs,.ow-p-inline-tabs,.ow-p-internal-tabbar)::-webkit-scrollbar {
    display: none;
  }

  body.ow-crm-app-body :is(.ow-tabs,[role="tablist"],.ow-m-sales-task-page__tabs,.ow-p-inline-tabs,.ow-p-internal-tabbar) > * {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  body.ow-crm-app-body .ow-grid-toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  body.ow-crm-app-body .ow-grid-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
  }

  body.ow-crm-app-body .ow-grid-sort-control,
  body.ow-crm-app-body .ow-grid-page-size,
  body.ow-crm-app-body .ow-grid-filters {
    grid-template-columns: 1fr;
    width: 100%;
  }

  body.ow-crm-app-body .ow-searchbar,
  body.ow-crm-app-body .ow-grid-search {
    min-width: 0;
    width: 100%;
  }

  body.ow-crm-app-body .ow-searchbar input,
  body.ow-crm-app-body .ow-grid-search input {
    width: 100%;
  }

  body.ow-crm-app-body .ow-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }

  body.ow-crm-app-body .ow-mobile-data-table {
    width: 100%;
    min-width: 0;
  }

  body.ow-crm-app-body .ow-mobile-data-table thead {
    display: none;
  }

  body.ow-crm-app-body .ow-mobile-data-table,
  body.ow-crm-app-body .ow-mobile-data-table tbody,
  body.ow-crm-app-body .ow-mobile-data-table tr,
  body.ow-crm-app-body .ow-mobile-data-table td {
    display: block;
    width: 100%;
  }

  body.ow-crm-app-body .ow-mobile-data-table tbody {
    display: grid;
    gap: .65rem;
  }

  body.ow-crm-app-body .ow-mobile-data-table tr {
    overflow: hidden;
    border: 1px solid #d8e3ef;
    border-radius: .95rem;
    background: #fff;
  }

  body.ow-crm-app-body .ow-mobile-data-table td {
    grid-template-columns: minmax(5.8rem, 34%) minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    padding: .58rem .68rem;
    border: 0;
    border-bottom: 1px solid #e5ebf2;
    text-align: left;
    white-space: normal;
  }

  body.ow-crm-app-body .ow-mobile-data-table td:last-child {
    border-bottom: 0;
  }

  body.ow-crm-app-body .ow-mobile-data-table td::before {
    content: attr(data-label);
    color: #6f8196;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .02em;
    text-transform: uppercase;
  }

  body.ow-crm-app-body .ow-mobile-data-table td[data-label=""]::before {
    display: none;
  }

  body.ow-crm-app-body .ow-grid-footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  body.ow-crm-app-body .ow-grid-pages {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .4rem;
  }

  body.ow-crm-app-body .ow-grid-pages strong {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
  }

  body.ow-crm-app-body .ow-m-sales-task-page {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__breadcrumb {
    padding: .65rem .75rem;
    border-radius: .9rem;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__header {
    display: grid;
    gap: .65rem;
    padding: .85rem;
    border-radius: .95rem .95rem 0 0;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__header h2 {
    font-size: 1.35rem;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__header-meta {
    justify-content: flex-start;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__sales-progress {
    overflow-x: auto;
    padding: .6rem;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .4rem;
    padding: .65rem;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__content {
    padding: .7rem 0 0;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__overview > aside,
  body.ow-crm-app-body .ow-m-sales-task-page__subtask-help,
  body.ow-crm-app-body .ow-m-sales-task-page__composer {
    position: static;
  }

  body.ow-crm-app-body .ow-m-sales-task-detail__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.ow-crm-app-body .ow-m-sales-task-detail__facts article {
    min-width: 0;
  }

  body.ow-crm-app-body .ow-m-sales-task-page__subtask-open {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body.ow-crm-app-body .ow-m-sales-pipeline-board,
  body.ow-crm-app-body .ow-sales-pipeline-board {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(82vw, 1fr);
    gap: .65rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: .5rem;
  }

  body.ow-crm-app-body :is(.ow-m-sales-pipeline-board,.ow-sales-pipeline-board) > * {
    scroll-snap-align: start;
  }

  body.ow-crm-app-body .ow-guided-map-shell,
  body.ow-crm-app-body .ow-l-workbench {
    min-height: 65dvh;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
    border-radius: .95rem;
  }

  body.ow-crm-app-body .ow-guided-map-canvas {
    min-height: 62dvh;
  }

  body.ow-crm-app-body .ow-calendar-grid,
  body.ow-crm-app-body .ow-cal-grid,
  body.ow-crm-app-body .ow-calendar-week,
  body.ow-crm-app-body .ow-planner-map-card {
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }

  body.ow-crm-app-body .ow-mail-shell {
    min-height: 0;
    height: 100%;
    gap: .5rem;
  }

  body.ow-crm-app-body .ow-mail-layout {
    min-height: 0;
    height: 100%;
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  body.ow-crm-app-body .ow-mail-sidebar {
    display: flex;
    gap: .25rem;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid #dce5ef;
  }

  body.ow-crm-app-body .ow-mail-list-scroll,
  body.ow-crm-app-body .ow-mail-message-list {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
  }

  body.ow-crm-app-body .ow-resource-error-notice {
    margin: 0;
  }
}

@media (max-width: 22rem) {
  body.ow-crm-app-body .ow-dashboard-metrics,
  body.ow-crm-app-body .ow-m-sales-task-detail__facts {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ow-crm-app-body .ow-mobile-tabbar__item {
    font-size: .56rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ow-crm-app-body[data-ow-mobile-content="more"] [data-ow-mobile-priority="more"] {
    animation: none;
  }
}


/* v3.1.24 — Android/mobile worker: scroll the worker shell itself.
   This avoids visual-viewport/body locking caused by browser chrome changes. */
@media (max-width: 760px) {
  body.ow-worker-app-body {
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body.ow-worker-app-body .ow-app-shell.ow-worker-app-shell {
    height: 100dvh !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.ow-worker-app-body .ow-worker-shell {
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
  }
}
