/*
  FOODOS_WINDOWS_RESPONSIVE_V84_24
  Scope: فقط ویندوز/دسکتاپ - موبایل زیر 900px دست‌نخورده می‌ماند.
  Target: اشخاص، فرمول تولید، تنظیمات سیستم، انبار و مواد اولیه
*/

@media (min-width: 900px) {
  body:has(.pc-persons-page) main#app-container,
  body:has(.pc-recipes-page) main#app-container,
  body:has(.inv-page:not(.pc-recipes-page)) main#app-container,
  body.pc-settings-active main#app-container {
    width: min(100%, 1380px) !important;
    max-width: 1380px !important;
    margin-inline: auto !important;
    padding: 22px 28px 112px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  body:has(.pc-persons-page) .pc-persons-page,
  body:has(.pc-recipes-page) .pc-recipes-page,
  body:has(.inv-page:not(.pc-recipes-page)) .inv-page:not(.pc-recipes-page),
  body.pc-settings-active .pc-settings-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 120px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body:has(.pc-persons-page) .pc-module-topbar,
  body:has(.pc-recipes-page) .pc-module-topbar,
  body:has(.inv-page:not(.pc-recipes-page)) .pc-module-topbar,
  body.pc-settings-active .pc-module-topbar {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 12px 16px !important;
    border-radius: 24px !important;
    border-top: 1px solid rgba(226, 232, 240, .9) !important;
    position: sticky !important;
    top: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(.pc-persons-page) .pc-module-top-title p,
  body:has(.pc-recipes-page) .pc-module-top-title p,
  body:has(.inv-page:not(.pc-recipes-page)) .pc-module-top-title p,
  body.pc-settings-active .pc-module-top-title p {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.65 !important;
  }

  body:has(.pc-persons-page) .pc-recipes-search-wrap,
  body:has(.pc-recipes-page) .pc-recipes-search-wrap,
  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-search,
  body.pc-settings-active .pc-settings-card input,
  body.pc-settings-active .pc-settings-card select,
  body.pc-settings-active .pc-settings-card textarea {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ===================== اشخاص ===================== */
@media (min-width: 900px) {
  body:has(.pc-persons-page) #pc-persons-summary .pc-person-summary,
  body:has(.pc-persons-page) .pc-person-summary {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 0 16px !important;
  }

  body:has(.pc-persons-page) .pc-person-scard {
    min-height: 112px !important;
    padding: 16px !important;
    border-radius: 24px !important;
  }

  body:has(.pc-persons-page) .pc-person-toolbar {
    display: grid !important;
    grid-template-columns: minmax(320px, 1fr) minmax(360px, .95fr) minmax(190px, auto) !important;
    gap: 14px !important;
    align-items: stretch !important;
    margin: 14px 0 16px !important;
  }

  body:has(.pc-persons-page) .pc-person-search-wrap,
  body:has(.pc-persons-page) .pc-person-search-card,
  body:has(.pc-persons-page) .pc-person-search {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body:has(.pc-persons-page) .pc-filter-dropdown-box {
    margin: 0 !important;
    height: 100% !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
  }

  body:has(.pc-persons-page) .pc-filter-tabs {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:has(.pc-persons-page) .pc-person-add {
    width: auto !important;
    min-width: 190px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding-inline: 18px !important;
    align-self: stretch !important;
  }

  body:has(.pc-persons-page) #pc-persons-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  body:has(.pc-persons-page) #pc-persons-list > .pc-person-card,
  body:has(.pc-persons-page) #pc-persons-list > .pc-person-skeleton,
  body:has(.pc-persons-page) #pc-persons-list > .pc-person-empty {
    margin: 0 !important;
    height: 100% !important;
    min-width: 0 !important;
  }

  body:has(.pc-persons-page) .pc-person-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    min-height: 220px !important;
  }

  body:has(.pc-persons-page) .pc-person-actions {
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body:has(.pc-persons-page) .pc-person-main-card,
  body:has(.pc-persons-page) .pc-person-detail-card {
    max-width: 980px !important;
    margin-inline: auto !important;
  }

  body:has(.pc-persons-page) .pc-person-main-actions,
  body:has(.pc-persons-page) .pc-export-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 10px !important;
  }

  body:has(.pc-persons-page) .pc-person-detail-grid,
  body:has(.pc-persons-page) .pc-form-grid,
  body:has(.pc-persons-page) .pc-person-info-modal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1180px) {
  body:has(.pc-persons-page) #pc-persons-list {
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
  }
}

/* ===================== فرمول تولید ===================== */
@media (min-width: 900px) {
  body:has(.pc-recipes-page) .pc-recipes-top-actions {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    margin: 0 0 14px !important;
  }

  body:has(.pc-recipes-page) .pc-recipes-add-btn {
    width: auto !important;
    min-width: 190px !important;
    height: 52px !important;
    margin: 0 !important;
    padding-inline: 18px !important;
  }

  body:has(.pc-recipes-page) .pc-recipes-search-wrap {
    width: min(720px, 100%) !important;
    max-width: 720px !important;
    margin: 0 auto 14px !important;
  }

  body:has(.pc-recipes-page) .pc-recipes-status {
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  body:has(.pc-recipes-page) .pc-recipes-list,
  body:has(.pc-recipes-page) #recipes-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  body:has(.pc-recipes-page) .pc-rec-card[data-rec-card] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  body:has(.pc-recipes-page) .pc-rec-card-head {
    min-height: 58px !important;
  }

  body:has(.pc-recipes-page) .pc-rec-title-row {
    min-width: 0 !important;
  }

  body:has(.pc-recipes-page) .pc-rec-title {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.pc-recipes-page) .pc-rec-formula-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
  }

  .pc-recipe-sheet {
    width: min(760px, calc(100vw - 56px)) !important;
    max-width: min(760px, calc(100vw - 56px)) !important;
  }

  .pc-recipe-line-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr) 44px !important;
  }

  .pc-recipe-toggle-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1280px) {
  body:has(.pc-recipes-page) .pc-recipes-list,
  body:has(.pc-recipes-page) #recipes-list {
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
  }
}

/* ===================== تنظیمات سیستم ===================== */
@media (min-width: 900px) {
  body.pc-settings-active .pc-settings-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 22px !important;
    overflow: visible !important;
    border-radius: 24px !important;
  }

  body.pc-settings-active .pc-settings-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: start !important;
  }

  body.pc-settings-active .pc-settings-grid > div,
  body.pc-settings-active .pc-settings-credit-card,
  body.pc-settings-active .pc-settings-pos-card,
  body.pc-settings-active .pc-settings-data-card {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.pc-settings-active .pc-settings-data-card {
    grid-column: 1 / -1 !important;
  }

  body.pc-settings-active .pc-settings-actions-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.pc-settings-active .pc-settings-actions-grid .full {
    grid-column: 1 / -1 !important;
  }

  body.pc-settings-active .pc-settings-toggle-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 74px !important;
    gap: 12px !important;
  }

  body.pc-settings-active .pc-settings-toggle-ui {
    width: 74px !important;
    max-width: 74px !important;
    min-width: 74px !important;
    height: 36px !important;
    flex-basis: 74px !important;
  }

  body.pc-settings-active .pc-settings-toggle-knob {
    width: 28px !important;
    height: 28px !important;
    top: 4px !important;
    left: 4px !important;
  }

  body.pc-settings-active .pc-settings-toggle-input:checked + .pc-settings-toggle-ui .pc-settings-toggle-knob {
    left: 40px !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  body.pc-settings-active .pc-settings-grid,
  body.pc-settings-active .pc-settings-actions-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===================== انبار و مواد اولیه ===================== */
@media (min-width: 900px) {
  body:has(.inv-page:not(.pc-recipes-page)) .inv-tabs2 {
    width: min(720px, 100%) !important;
    max-width: 720px !important;
    margin: 0 auto 16px !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .summary-bar {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 0 16px !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .summary-card {
    min-height: 110px !important;
    padding: 16px !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) #inv-panel {
    width: 100% !important;
    max-width: none !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-panel {
    width: 100% !important;
    max-width: none !important;
    padding: 16px !important;
    border-radius: 24px !important;
    overflow: visible !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-add {
    width: auto !important;
    min-width: 190px !important;
    height: 50px !important;
    padding-inline: 16px !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-list-head {
    margin: 16px 2px 10px !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .ing-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .ing-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .pc-ing-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-card-actions {
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body:has(.inv-page.inv-detail-mode) .pc-ing-detail-v3-wrap {
    max-width: 980px !important;
    width: 100% !important;
  }

  body:has(.inv-page.inv-detail-mode) .pc-ing-detail-v3-metrics,
  body:has(.inv-page.inv-detail-mode) .pc-ing-detail-v3-actions {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  }

  body:has(.inv-page:not(.pc-recipes-page)) .inv-table-wrap,
  body:has(.inv-page:not(.pc-recipes-page)) .table-wrap,
  body:has(.inv-page:not(.pc-recipes-page)) table {
    max-width: 100% !important;
  }
}

@media (min-width: 1280px) {
  body:has(.inv-page:not(.pc-recipes-page)) .ing-grid {
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  body:has(.pc-persons-page) .pc-person-toolbar,
  body:has(.inv-page:not(.pc-recipes-page)) .pc-inv-toolbar {
    grid-template-columns: 1fr !important;
  }

  body:has(.pc-persons-page) #pc-persons-summary .pc-person-summary,
  body:has(.pc-persons-page) .pc-person-summary,
  body:has(.inv-page:not(.pc-recipes-page)) .summary-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 899px) {
  /* no-op: موبایل با CSS اصلی خودش کار می‌کند. */
}
