/* V56 — correções de notebook: PDV, orçamento e impressão */

/* PDV: ações de finalização permanecem sempre visíveis */
@media (min-width: 1221px) {
  #pdv .pdv29-pay-panel {
    align-self: stretch !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  #pdv .pdv29-pay-body {
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding-bottom: 6px !important;
  }

  #pdv .pdv29-method-block { min-height: 0; }
  #pdv .pdv29-payment-list {
    min-height: 0 !important;
    max-height: 90px !important;
    overflow-y: auto !important;
  }

  #pdv .pdv29-footer-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(58px, .7fr) minmax(0, 1.15fr) !important;
    gap: 5px !important;
    position: relative !important;
    inset: auto !important;
    z-index: 5 !important;
    align-self: end;
    margin: 0 !important;
    padding: 5px 0 0 !important;
    background: var(--p26-bg) !important;
  }

  #pdv .pdv29-footer-actions .pdv26-btn {
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 6px 7px !important;
    font-size: 10px !important;
    white-space: nowrap;
  }
}

#pdv .pdv56-add-payment {
  border-color: rgba(20,141,255,.55) !important;
  background: rgba(20,141,255,.10) !important;
  color: var(--power-blue) !important;
  font-weight: 900 !important;
}

/* Também em notebook/tablet horizontal: nenhuma ação pode quebrar para outra linha. */
#pdv .pdv29-footer-actions {
  display: grid !important;
  grid-template-columns: minmax(0,1.25fr) minmax(0,.7fr) minmax(0,1.15fr) !important;
  gap: 4px !important;
}
#pdv .pdv29-footer-actions .pdv26-btn {
  min-width: 0 !important;
  padding-inline: 4px !important;
  font-size: clamp(7px, .72vw, 10px) !important;
  white-space: nowrap !important;
}

#pdv .pdv29-payment-form .pdv28-interest {
  margin: 0 !important;
}

#pdv .pdv29-interest > div { gap: 4px !important; }
#pdv .pdv29-interest button {
  min-height: 28px !important;
  padding: 4px 6px !important;
}
#pdv .pdv29-interest button small { display: none !important; }
#pdv .pdv29-helper {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4px 6px !important;
  font-size: 8.5px !important;
  line-height: 1.1 !important;
}

/* Nova OS / orçamento: nenhum filho pode aumentar a largura do modal */
#osWizardModal .os-budget-step,
#osWizardModal .budget-workbench-v17,
#osWizardModal .budget-main-v17,
#osWizardModal .budget-summary-v17,
#osWizardModal .os-budget-summary-v17,
#osWizardModal .summary-total-card,
#osWizardModal .summary-profit-card,
#osWizardModal .summary-line-card {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#osWizardModal .budget-workbench-v17 {
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 300px) !important;
}

#osWizardModal .os-budget-summary-v17 .summary-total-card,
#osWizardModal .os-budget-summary-v17 .summary-profit-card,
#osWizardModal .os-budget-summary-v17 .summary-line-card {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
}

#osWizardModal .os-budget-summary-v17 .summary-line-card p {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-content: space-between !important;
  align-items: center;
  gap: 8px !important;
  white-space: normal !important;
}

#osWizardModal .os-budget-summary-v17 .summary-line-card p span {
  min-width: 0 !important;
  overflow-wrap: anywhere;
}

#osWizardModal .os-budget-summary-v17 .summary-line-card p strong {
  flex: 0 0 auto;
  white-space: nowrap !important;
}

@media (max-width: 1050px) {
  #osWizardModal .budget-workbench-v17 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #osWizardModal .budget-summary-v17 { position: static !important; }
}

/* Fotos pelo celular */
.os-photo-actions-v56 { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.os-mobile-photo-button-v56 { border-color: rgba(20,141,255,.42) !important; background: rgba(20,141,255,.08) !important; }
.os-photo-detail-actions-v56 { display: flex; flex-wrap: wrap; gap: 6px; }
.os-mobile-photo-card-v56 { width: min(720px, calc(100vw - 24px)); padding: 20px; border-radius: 20px; }
.os-mobile-photo-card-v56 > header { display: flex; justify-content: space-between; gap: 16px; }
.os-mobile-photo-card-v56 h2,
.os-mobile-photo-card-v56 p { margin: 0; }
.os-mobile-photo-card-v56 header p:last-child { margin-top: 4px; color: var(--muted); font-size: 12px; }
.os-mobile-photo-content-v56 { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 18px; margin-top: 18px; }
.os-mobile-photo-qr-v56 { display: grid; justify-items: center; align-content: start; gap: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
.os-mobile-photo-qr-v56 img { width: 220px; height: 220px; object-fit: contain; }
.os-mobile-photo-qr-v56 img.unavailable { visibility: hidden; }
.os-mobile-photo-qr-v56 span { color: #475467; font-size: 10px; text-align: center; overflow-wrap: anywhere; }
.os-mobile-photo-instructions-v56 { color: var(--text); }
.os-mobile-photo-instructions-v56 ol { padding-left: 20px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.os-mobile-photo-instructions-v56 > div { padding: 10px; border-radius: 10px; background: rgba(20,141,255,.1); color: var(--power-blue); font-weight: 900; }
.os-mobile-photo-instructions-v56 button { width: 100%; margin-top: 10px; }
.os-mobile-photo-card-v56 > footer { display: flex; justify-content: flex-end; margin-top: 16px; }

.os-mobile-photo-qr-v56 img.unavailable { width: 0; height: 0; }
.os-mobile-photo-qr-v56:has(img.unavailable) { align-content: center; min-height: 220px; background: #fff7ed; border-color: #fdba74; }
.os-mobile-photo-qr-v56:has(img.unavailable) span { color: #9a3412; font-size: 12px; line-height: 1.45; }
.os-mobile-photo-instructions-v56 button.needs-server { border-color: #f59e0b; color: #9a3412; background: #fffbeb; }

/* Ficha da OS: prazo e peça ficam operacionais, não escondidos no formulário lateral */
#order-detail .os-quick-status-v51 {
  grid-template-columns: minmax(105px,.65fr) minmax(155px,.9fr) minmax(140px,.75fr) minmax(150px,.8fr) auto;
}

#order-detail .os-parts-flow-v57 {
  display: grid;
  grid-template-columns: minmax(190px,.7fr) minmax(0,1.6fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(245,158,11,.34);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(245,158,11,.10), rgba(255,255,255,.7));
}
#order-detail .os-parts-flow-v57 > div:first-child { display: grid; gap: 3px; }
#order-detail .os-parts-flow-v57 small { color: #92400e; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
#order-detail .os-parts-flow-v57 strong { font-size: 14px; }
#order-detail .os-parts-flow-v57 span { color: var(--muted); font-size: 9px; line-height: 1.35; }
#order-detail .os-parts-steps-v57 { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 5px; }
#order-detail .os-parts-steps-v57 button { min-width: 0; min-height: 34px; padding: 5px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--muted); font-size: 8px; font-weight: 850; }
#order-detail .os-parts-steps-v57 button.active { border-color: #f59e0b; background: #fff7ed; color: #9a3412; box-shadow: 0 0 0 2px rgba(245,158,11,.12); }

@media (max-width: 1050px) {
  #order-detail .os-quick-status-v51 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #order-detail .os-parts-flow-v57 { grid-template-columns: 1fr; }
  #order-detail .os-parts-steps-v57 { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .os-photo-actions-v56,
  .os-mobile-photo-content-v56 { grid-template-columns: 1fr; }
  .os-mobile-photo-qr-v56 img { width: 190px; height: 190px; }
  .os-mobile-photo-card-v56 { max-height: calc(100dvh - 14px); overflow-y: auto; }
  .os-mobile-photo-card-v56 > footer button { width: 100%; }
  #order-detail .os-quick-status-v51 { grid-template-columns: 1fr; }
  #order-detail .os-parts-steps-v57 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* V58 — a grade pertence ao contêiner interno; o cartão externo cresce com as fotos. */
#order-detail .os-detail-photo-list-v11.os-gallery-v52 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
#order-detail .os-detail-photo-list-v11 .os-photo-gallery-v15 {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(125px, 155px)) !important;
  grid-auto-rows: 118px !important;
  gap: 9px !important;
  align-items: start !important;
  justify-content: start !important;
}
#order-detail .os-detail-photo-list-v11 .os-photo-gallery-v15 > .os-photo-thumb {
  width: 100% !important;
  max-width: none !important;
  height: 118px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  position: relative !important;
}
#order-detail .os-detail-photo-list-v11 .os-photo-gallery-v15 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 700px) {
  #order-detail .os-detail-photo-list-v11 .os-photo-gallery-v15 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 110px !important;
  }
  #order-detail .os-detail-photo-list-v11 .os-photo-gallery-v15 > .os-photo-thumb { height: 110px !important; }
}
