.product-image-search-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: none; min-height: 44px; border: 1px solid #cdddef; border-radius: 10px; padding: 9px 13px; color: #164b91; background: #eff5ff; font-weight: 700; white-space: nowrap; }
.product-image-search-button svg { width: 21px; height: 21px; flex: none; }
.workspace > header .search { min-width: 0; }
.gpis-backdrop { position: fixed; z-index: 90; inset: 0; display: flex; align-items: center; justify-content: center; padding: 24px; background: #102542aa; }
.gpis-dialog { display: flex; flex-direction: column; width: min(100%, 1000px); max-height: calc(100dvh - 48px); overflow: hidden; color: #213754; background: #fff; border-radius: 18px; box-shadow: 0 24px 80px #10254245; }
.gpis-header { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; flex: none; padding: 22px 24px 18px; border-bottom: 1px solid #e1e8f2; }
.gpis-header h2 { margin: 0 0 6px; font-size: 22px; }.gpis-header p { margin: 0; color: #697c95; font-size: 13px; }
.gpis-close { flex: none; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 10px; background: #f1f5fa; color: #47617e; font-size: 27px; }
.gpis-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 20px 24px 24px; }
.gpis-guide { margin: 0 0 18px; padding: 12px 14px; background: #f0f6ff; color: #365984; border-radius: 10px; line-height: 1.7; font-size: 14px; }
.gpis-input-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: start; gap: 22px; }
.gpis-query-photo { position: relative; height: 275px; min-width: 0; border: 1px dashed #b7cbe2; border-radius: 12px; background: #f7f9fc; overflow: hidden; }
.gpis-query-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
#gpis-photo-empty { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; color: #6c819b; font-size: 13px; }#gpis-photo-empty span { font-size: 44px; color: #809abd; }
.gpis-controls { min-width: 0; }.gpis-picker-actions,.gpis-query-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.gpis-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; border: 1px solid #cfdaea; border-radius: 9px; background: #fff; color: #2d527f; font-size: 14px; font-weight: 650; cursor: pointer; touch-action: manipulation; }
.gpis-button:hover { background: #f0f5fd; }.gpis-primary { background: #225fd0; color: #fff; border-color: #225fd0; }.gpis-primary:hover { background: #174fb6; }.gpis-button:disabled { opacity: .48; cursor: default; }
.gpis-button:focus-visible,.gpis-close:focus-visible,.gpis-kind-label select:focus-visible,.product-image-search-button:focus-visible { outline: 3px solid #88b4fa; outline-offset: 3px; }
.gpis-hint,.gpis-privacy { font-size: 12px; color: #718199; line-height: 1.7; margin: 10px 0 14px; }.gpis-privacy { color: #557092; }
.gpis-kind-label { display: grid; gap: 7px; color: #344e70; font-size: 13px; font-weight: 650; }.gpis-kind-label select { min-height: 44px; width: 100%; border: 1px solid #cfdaea; border-radius: 8px; background: #fff; color: #213754; padding: 9px; font: inherit; }
.gpis-status { padding: 13px 15px; border-radius: 9px; background: #f1f5f9; color: #49617f; margin: 20px 0 0; font-size: 14px; line-height: 1.6; }.gpis-error { background: #fff0ed; color: #a3432f; }
.gpis-results-title { margin: 24px 0 14px; font-size: 17px; }.gpis-candidates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gpis-candidate { min-width: 0; border: 1px solid #dbe4f0; border-radius: 12px; overflow: hidden; }.gpis-candidate-image { position: relative; height: 175px; background: #f7f9fc; border-bottom: 1px solid #e3eaf3; }.gpis-candidate-image img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 10px 10px 35px; }.gpis-candidate-image > span { position: absolute; bottom: 8px; left: 12px; color: #567095; font-size: 12px; }.gpis-image-missing::before { content: "图片暂时无法加载，可查看产品重试"; position: absolute; inset: 30px 12px; display: grid; place-items: center; font-size: 12px; color: #718199; }
.gpis-candidate-info { padding: 15px; overflow-wrap: anywhere; }.gpis-candidate-info > small { color: #40669c; font-size: 12px; font-weight: 700; }.gpis-candidate-info h4 { margin: 6px 0; font-size: 16px; }.gpis-candidate-info > p { margin: 6px 0 12px; color: #6b7e97; font-size: 13px; line-height: 1.6; }.gpis-candidate-info > button { width: 100%; margin-top: 12px; }
.gpis-prices { max-height: 190px; overflow: auto; list-style: none; padding: 0; margin: 0; border-top: 1px solid #e5ebf3; }.gpis-prices li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #e5ebf3; font-size: 12px; line-height: 1.6; }.gpis-prices strong { flex: none; color: #245991; }
.gpis-empty { padding: 26px 14px; text-align: center; color: #697d97; }.gpis-empty h3 { color: #344f72; font-size: 17px; }.gpis-empty p { font-size: 14px; line-height: 1.7; }
.gpis-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex: none; padding: 14px 24px; border-top: 1px solid #e1e8f2; background: #fafbfd; }.gpis-footer p { color: #6d5e36; margin: 0; font-size: 12px; line-height: 1.6; }.gpis-footer button { flex: none; }
.gpis-backdrop [hidden] { display: none !important; }
@media screen and (max-width: 760px) {
  .workspace > header .search { grid-column: 1 / 3; grid-row: 2; width: 100%; }
  .product-image-search-button { grid-column: 3; grid-row: 2; padding: 9px 10px; font-size: 13px; min-width: 0; gap: 5px; }
  .product-image-search-button svg { width: 19px; height: 19px; }
  .gpis-backdrop { padding: 8px; padding-top: max(8px, env(safe-area-inset-top)); padding-bottom: max(8px, env(safe-area-inset-bottom)); }
  .gpis-dialog { width: 100%; max-height: calc(100dvh - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom))); border-radius: 13px; }
  .gpis-header { padding: 15px; gap: 10px; }.gpis-header h2 { font-size: 20px; }.gpis-header p { font-size: 12px; line-height: 1.5; }
  .gpis-scroll { padding: 14px; }.gpis-guide { font-size: 13px; padding: 10px 12px; }
  .gpis-input-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }.gpis-query-photo { height: 210px; }
  .gpis-picker-actions > button { flex: 1 1 auto; }.gpis-kind-label select { font-size: 16px; }.gpis-query-actions > button { flex: 1 1 auto; }
  .gpis-candidates { grid-template-columns: minmax(0, 1fr); }.gpis-candidate-image { height: 190px; }
  .gpis-footer { padding: 12px 14px; gap: 10px; }.gpis-footer p { font-size: 11px; }.gpis-footer .gpis-button { padding-inline: 12px; }
}
@media print { .gpis-backdrop,.product-image-search-button { display: none !important; } }
