/* This layer is limited to the mobile requirements page, never the quote sheet. */
.mobile-form-control { display: none; }
@media screen and (min-width: 761px) {
  /* Keep the focused original input visible until the breakpoint handler restores it. */
  #mobile-more-settings:focus-within { display: contents; }
  #mobile-more-settings:focus-within > summary { display: none; }
}
@media screen and (max-width: 360px) {
  body:has(#quick-view:not([hidden])) .brand { min-width: 0; flex: 1; }
  body:has(#quick-view:not([hidden])) .brand > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body:has(#quick-view:not([hidden])) .brand-mark,
  body:has(#quick-view:not([hidden])) .top-actions { flex-shrink: 0; }
}
@media screen and (max-width: 760px) {
  #quick-view { padding-bottom: 28px; }
  #quick-view .mobile-form-control:not([hidden]) { display: block; }
  #quick-view button.mobile-form-control, #mobile-price-details {
    min-height: 44px; border: 0; background: transparent; color: #1768df; font: inherit; cursor: pointer;
  }
  #quick-view :is(button, input, select, textarea, summary):focus-visible { outline: 2px solid #1768df; outline-offset: 3px; }
  #quick-view :is(input, select, textarea, details, #live-price-panel, #captured-quotes-panel) { scroll-margin-top: 122px; scroll-margin-bottom: 140px; }
  #quick-view .ai-section { padding: 0 12px; }
  #quick-view #mobile-ai-toggle { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 0; text-align: left; }
  #mobile-ai-toggle strong { flex-shrink: 0; }
  #mobile-ai-toggle strong { display: block; font-size: 17px; line-height: 1.5; }
  #mobile-ai-toggle span { display: block; margin-top: 2px; color: #67758a; font-size: 12px; line-height: 1.6; }
  #quick-view .ai-section:not(.mobile-ai-open) > :not(#mobile-ai-toggle) { display: none; }
  #quick-view .mobile-ai-open { padding-bottom: 12px; }
  #quick-view .mobile-ai-open .section-title, #quick-view .mobile-ai-open .section-help { display: none; }
  #quick-view .quote-title-actions { margin: 0 0 8px; }
  #quick-view .ai-row { margin-top: 0; }
  #quick-view .requirements-main { display: flex; flex-direction: column; gap: 0; padding: 10px 12px 8px; }
  #quick-view .bag-figure { display: none; }
  #quick-view .mobile-dimension-open .bag-figure { display: flex; justify-content: center; order: 1; min-height: 190px; padding: 14px 0 28px; }
  #quick-view .group-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 5px; }
  #quick-view .group-heading > span { display: none; }
  #quick-view #size-group-title { font-size: 18px; line-height: 1.5; }
  #quick-view #mobile-dimension-toggle { flex-shrink: 0; padding: 0 0 0 12px; font-size: 13px; }
  #quick-view .big-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #quick-view .big-field { min-height: 72px; padding: 6px 12px; gap: 2px 8px; align-content: start; }
  #quick-view .big-field:has(#thickness-input), #quick-view .big-field:has(#quantity-input), #quick-view #roll-bag-style-field { grid-column: 1 / -1; }
  #quick-view .big-field label { font-size: 13px; line-height: 1.4; white-space: normal; }
  #quick-view .big-field input { min-width: 0; height: 40px; font-size: 25px; }
  #quick-view .big-field:has(#quantity-input) { min-height: 78px; }
  #quick-view #quantity-input { font-size: 26px; height: 40px; }
  #quick-view .big-field .unit { font-size: 14px; align-self: center; }
  #quick-view #mobile-quantity-hint { grid-column: 1 / -1; margin: 0; color: #60718c; font-size: 12px; font-weight: 400; }
  #quick-view .requirements-config-grid { gap: 0; padding: 0 12px 8px; }
  #quick-view .advanced { padding: 0; margin: 0; border: 0; background: #fff; }
  #quick-view .advanced > summary { display: none; }
  #quick-view .advanced-grid { padding: 0; gap: 0; }
  #quick-view .advanced-grid > .field:not([hidden]) {
    display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center;
    gap: 4px 8px; padding: 4px 0; border-top: 1px solid #e8edf4; font-size: 13px; min-width: 0;
  }
  #quick-view .advanced-grid .field select, #quick-view .advanced-grid .field input { min-width: 0; width: 100%; height: 44px; font-size: 16px; }
  #quick-view .advanced-grid .field select { text-overflow: ellipsis; }
  #quick-view .field-heading-row { display: flex; align-items: flex-start; flex-direction: column; gap: 2px; }
  #quick-view .material-history-toggle { padding: 2px 0; font-size: 11px; min-height: 24px; }
  #quick-view .advanced-grid > .field.mobile-attention { grid-template-columns: 60px minmax(0, 1fr) 36px; }
  #quick-view .field.mobile-attention::after { content: "待确认"; grid-column: 3; grid-row: 1; padding: 3px 0; color: #945800; background: #fff1d7; text-align: center; border-radius: 4px; font-size: 10px; }
  #quick-view .advanced-grid .missing-hint { grid-column: 1 / -1; }
  #quick-view .requirements-secondary { gap: 8px; }
  #quick-view #print-settings { margin: 8px 0; }
  #quick-view #missing-section { border: 0; border-top: 1px solid #e8edf4; border-radius: 0; padding: 0; background: #fff; }
  #quick-view #mobile-choice-toggle { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; text-align: left; font-size: 14px; padding: 4px 0; }
  #mobile-choice-summary { color: #293e5c; }
  #quick-view #missing-title { display: none; }
  #quick-view #missing-section:not(.mobile-choices-open) .question-grid { display: none; }
  #quick-view .mobile-choices-open .question-grid { padding-bottom: 10px; }
  #quick-view #mobile-more-settings { border-top: 1px solid #e8edf4; }
  #quick-view #mobile-more-settings > summary { cursor: pointer; padding: 12px 0; min-height: 44px; font-size: 14px; color: #293e5c; }
  #mobile-more-summary { margin-left: 8px; color: #67758a; font-size: 12px; }
  #mobile-more-fields { display: grid; gap: 12px; padding: 4px 0 12px; }
  #mobile-more-fields .field { gap: 6px; }
  #mobile-more-fields :is(input, select) { min-height: 44px; font-size: 16px; }
  #quick-view #live-price-panel { padding: 10px 12px; }
  #quick-view #live-price-panel .live-price-heading { display: none; }
  #quick-view #live-multi-toggle { margin: 0; min-height: 48px; }
  #quick-view #live-price-panel:not(.mobile-details-open):not(.live-price-multi) :is(#live-price-status, #live-price-summary) { display: none; }
  #quick-view .captured-quote-list { max-height: none; overflow: visible; }
  #quick-view #flow-footer.mobile-form-step { grid-template-columns: minmax(0, 1fr) minmax(0, .88fr); gap: 8px; padding: 10px 12px; min-height: 90px; }
  #quick-view #flow-footer.mobile-form-step .mobile-stage { display: none; }
  #quick-view #flow-footer:not(.mobile-form-step) .mobile-price-bar { display: none; }
  #quick-view .mobile-price-bar { min-width: 0; }
  #mobile-price-status { display: block; color: #6c571f; font-size: 11px; line-height: 1.4; }
  #quick-view .mobile-price-bar > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 4px; }
  #mobile-current-price { color: #1768df; font-size: 25px; line-height: 1.3; }
  #mobile-price-unit { color: #4d6080; font-size: 11px; }
  #mobile-price-details { padding: 0 4px; font-size: 12px; }
  #quick-view #flow-footer.mobile-form-step #next-button { min-height: 48px; height: auto; padding: 10px; white-space: normal; line-height: 1.4; font-size: 14px; }
  #quick-view .footer-actions { min-width: 0; }
}
