/* Launch polish for the customer estimator, with mobile treated as a primary layout. */
.estimate-dashboard {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 760px) {
  .main-stage { padding: 10px; }

  .estimate-dashboard {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .dashboard-stat {
    min-width: 0;
    padding: 10px 5px;
    text-align: center;
  }

  .dashboard-stat span {
    font-size: 9px;
    line-height: 1.15;
    margin-bottom: 4px;
    overflow-wrap: anywhere;
  }

  .dashboard-stat strong { font-size: 15px; }

  .estimate-tools { grid-template-columns: 1fr; }
  .estimate-tools .primary-pill { width: 100%; }

  .project-folder-head {
    align-items: start;
    grid-template-columns: 1fr;
    padding: 12px 14px;
  }

  .project-folder-head strong { white-space: normal; }

  .server-detail-head,
  .server-detail-body {
    display: grid;
    grid-template-columns: 1fr;
  }

  .server-detail-actions {
    justify-content: stretch;
  }

  .server-detail-actions button { width: 100%; }

  .server-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wizard-layout { display: block; }

  .estimate-summary {
    margin-bottom: 10px;
    max-height: 170px;
    overflow: auto;
  }

  .question-content {
    min-height: 0;
    padding: 16px 14px 8px;
  }

  .project-details-grid { grid-template-columns: 1fr; }

  .choice-grid.five,
  .choice-grid.three,
  .choice-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .choice-card {
    gap: 7px;
    min-height: 92px;
    padding: 10px 7px;
  }

  .choice-icon { font-size: 27px; }

  .question-actions {
    background: var(--panel);
    flex-wrap: wrap;
    padding: 10px 14px 8px;
    position: sticky;
    bottom: 0;
    z-index: 4;
  }

  .quote-preview { border-radius: 0; }
  .finish-copy { padding: 14px 12px 2px; }

  .quote-paper {
    margin: 8px 0 14px;
    padding: 14px 10px;
  }

  .quote-head,
  .customer-row {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
  }

  .quote-logo {
    font-size: 22px;
    text-align: left;
  }

  .quote-main-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
  }

  .quote-main-summary div {
    min-width: 0;
    padding: 8px 5px;
  }

  .quote-main-summary span {
    font-size: 9px;
    line-height: 1.15;
  }

  .quote-main-summary strong { font-size: 14px; }

  .description-table {
    font-size: 10px;
    margin-top: 14px;
    table-layout: fixed;
  }

  .description-table th,
  .description-table td {
    overflow-wrap: anywhere;
    padding: 9px 3px;
  }

  .description-table th:first-child,
  .description-table td:first-child { width: 38%; }

  .pending-order-section { padding: 12px; }
  .pending-order-grid { grid-template-columns: 1fr; }
  .pending-order-grid .wide { grid-column: auto; }

  .customer-quote-actions {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-quote-actions button {
    min-width: 0;
    width: 100%;
  }

  #saveEstimateToServer,
  #placeOrder { grid-column: 1 / -1; }

  .order-flow-address-card,
  .order-flow-discount-card,
  .order-flow-delivery-warning,
  .order-flow-credit-card {
    padding: 12px !important;
  }
}

@media (max-width: 420px) {
  .dashboard-stat { padding-inline: 3px; }
  .dashboard-stat span { font-size: 8px; }
  .dashboard-stat strong { font-size: 14px; }
  .choice-grid.five,
  .choice-grid.three,
  .choice-grid.two { gap: 8px; }
  .customer-quote-actions { grid-template-columns: 1fr; }
  #saveEstimateToServer,
  #placeOrder { grid-column: auto; }
}
