/* v70.0.89 responsive refinement: preserve the ITQAN palette while making
   navigation, forms, dialogs and dense accounting grids usable at every width. */
@media screen {
  body.itqan-v47.itqan-ui80,
  body.itqan-v47.itqan-ui80 * { box-sizing: border-box; }

  body.itqan-v47.itqan-ui80 .itq47-shell,
  body.itqan-v47.itqan-ui80 .itq47-workspace,
  body.itqan-v47.itqan-ui80 .itq47-main,
  body.itqan-v47.itqan-ui80 .itq47-content,
  body.itqan-v47.itqan-ui80 .itq47-page,
  body.itqan-v47.itqan-ui80 .panel { min-width: 0 !important; }

  body.itqan-v47.itqan-ui80 .itq47-main { scrollbar-gutter: stable; }
  body.itqan-v47.itqan-ui80 .itq47-page { width: 100%; }
  body.itqan-v47.itqan-ui80 .itq47-page-head,
  body.itqan-v47.itqan-ui80 .itq47-actions,
  body.itqan-v47.itqan-ui80 .itq47-context,
  body.itqan-v47.itqan-ui80 .itq47-topbar { min-width: 0; }

  /* A spreadsheet-like table keeps its columns; scrolling is contained in its
     own surface so it cannot widen the entire application on phones. */
  body.itqan-v47.itqan-ui80 :is(.table-wrap,.itq49-tablewrap,.itq51-tablewrap,
    .itq60-table-wrap,.v461-grid-wrap,.table-scroll,.table-responsive) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    touch-action: pan-x pan-y;
  }
  body.itqan-v47.itqan-ui80 :is(.table-wrap,.itq49-tablewrap,.itq51-tablewrap,
    .itq60-table-wrap,.v461-grid-wrap,.table-scroll,.table-responsive) > table {
    width: max-content;
    min-width: 100%;
    max-width: none;
  }
  body.itqan-v47.itqan-ui80 :is(table th,table td) { overflow-wrap: anywhere; }
  body.itqan-v47.itqan-ui80 :is(.panel,.panel-body,.panel-head,.desktop-grid,
    .form-grid,.inline-grid,[class*="-grid"]) { min-width: 0; }

  /* Avoid narrow fields and clipped actions in invoice and voucher forms. */
  body.itqan-v47.itqan-ui80 :is(.form-grid,.inline-grid,.v470-form-grid,
    .v490-head-grid,.v491-head-grid,.v477-detail-grid,.v472-item-basic-grid,
    .v473-basic-grid,.v498-trade-grid,.v472-head-main) > * { min-width: 0; }
  body.itqan-v47.itqan-ui80 :is(input:not([type=checkbox]):not([type=radio]),
    select,textarea) { width: 100%; max-width: 100%; }
  body.itqan-v47.itqan-ui80 :is(.itq47-actions,.modal-actions,.modal-foot,
    .v472-record-toolbar,.v472-modal-toolbar,.itq49-actions,.itq51-head-actions,
    .itq60-main-actions) { row-gap: 8px; }
  body.itqan-v47.itqan-ui80 :is(.btn,.itq47-topbar button,.itq47-mobile-menu) {
    touch-action: manipulation;
  }

  /* Laptop-sized viewports often have limited vertical room. Keep the app
     scrollable and reserve scrolling for the workspace and dialog body. */
  @media (min-width: 761px) and (max-height: 820px) {
    body.itqan-v47.itqan-ui80 .itq47-topbar { min-height: 50px !important; }
    body.itqan-v47.itqan-ui80 .itq47-menubar { min-height: 38px !important; }
    body.itqan-v47.itqan-ui80 .itq47-page { padding-block: 12px !important; }
    body.itqan-v47.itqan-ui80 .itq47-page-head { margin-bottom: 8px !important; }
    body.itqan-v47.itqan-ui80 .panel-head { padding-block: 9px; }
  }

  @media (max-width: 900px) {
    body.itqan-v47.itqan-ui80 .itq47-shell { overflow: hidden !important; }
    body.itqan-v47.itqan-ui80 .itq47-workspace {
      height: var(--itqan-available-height, 100dvh) !important;
      min-height: 0 !important;
    }
    body.itqan-v47.itqan-ui80 .itq47-main {
      min-height: 0 !important;
      overflow: auto !important;
      padding: 10px !important;
      padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }
    body.itqan-v47.itqan-ui80 .itq47-page { padding: 10px !important; }
    body.itqan-v47.itqan-ui80 .itq47-menubar {
      flex-wrap: nowrap !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
    }
    body.itqan-v47.itqan-ui80 .itq47-menubar .menu-group { flex: 0 0 auto; }
    body.itqan-v47.itqan-ui80 .itq47-menubar .menu-dropdown {
      position: fixed !important;
      inset-inline: 8px !important;
      top: auto !important;
      width: auto !important;
      max-width: calc(100vw - 16px) !important;
      max-height: min(65dvh, 460px) !important;
      overflow: auto !important;
    }
    body.itqan-v47.itqan-ui80 .itq47-page-head { align-items: center !important; }
    body.itqan-v47.itqan-ui80 :is(.itq47-actions,.modal-actions,.modal-foot) {
      display: flex !important;
      flex-wrap: wrap !important;
    }
    body.itqan-v47.itqan-ui80 .modal-backdrop {
      padding: max(6px, env(safe-area-inset-top)) 6px
        max(6px, env(safe-area-inset-bottom)) !important;
    }
    body.itqan-v47.itqan-ui80 .modal-backdrop > .modal {
      width: 100% !important;
      max-width: 100% !important;
      max-height: var(--itqan-available-height, 100dvh) !important;
      margin: auto !important;
    }
  }

  @media (max-width: 520px) {
    body.itqan-v47.itqan-ui80 .itq47-workspace {
      grid-template-rows: auto auto minmax(0,1fr) !important;
    }
    body.itqan-v47.itqan-ui80 .itq47-topbar {
      min-height: 50px !important;
      padding-inline: 8px !important;
      padding-top: max(6px, env(safe-area-inset-top)) !important;
    }
    body.itqan-v47.itqan-ui80 .itq47-search { flex: 1 1 150px !important; }
    body.itqan-v47.itqan-ui80 .itq47-context { gap: 5px !important; }
    body.itqan-v47.itqan-ui80 .itq47-page-head { gap: 8px !important; }
    body.itqan-v47.itqan-ui80 :is(.itq47-title h2,.modal-head h3) {
      font-size: clamp(16px, 5vw, 20px) !important;
    }
    body.itqan-v47.itqan-ui80 :is(.form-grid,.inline-grid,.v470-form-grid,
      .v490-head-grid,.v491-head-grid,.v477-detail-grid,.v472-item-basic-grid,
      .v473-basic-grid,.v498-trade-grid,.v472-head-main) {
      grid-template-columns: minmax(0,1fr) !important;
    }
    body.itqan-v47.itqan-ui80 :is(.kpis,.kpis6,.itq51-stats,.itq49-kpis,
      .fuel-summary,.fuel-view-summary,.fuel-kpis) {
      grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    body.itqan-v47.itqan-ui80 :is(.itq47-actions,.modal-actions,.modal-foot) > button {
      flex: 1 1 auto;
      min-width: min(100%, 132px);
    }
    body.itqan-v47.itqan-ui80 :is(.modal-head,.modal-foot) {
      padding: 8px !important;
      gap: 8px !important;
    }
    body.itqan-v47.itqan-ui80 .modal-body { padding: 10px !important; }
    body.itqan-v47.itqan-ui80 :is(input:not([type=checkbox]):not([type=radio]),
      select,textarea) { font-size: 16px !important; }
  }

  @media (prefers-reduced-motion: reduce) {
    body.itqan-v47.itqan-ui80 *,
    body.itqan-v47.itqan-ui80 *::before,
    body.itqan-v47.itqan-ui80 *::after {
      scroll-behavior: auto !important;
      animation-duration: .01ms !important;
      transition-duration: .01ms !important;
    }
  }
}
