.equipment-ui-dialog { min-width: 0; width: min(640px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); border-radius: 8px; letter-spacing: 0; }
#buy-confirm-dialog .dialog { min-width: 0; width: min(500px, calc(100vw - 20px)); }
#aircraft-detail-dialog .dialog-footer { flex-wrap: wrap; gap: 8px; }
.equipment-ui-body { min-width: 0; overflow-y: auto; color: #28363b; }
.equipment-ui-aircraft { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-bottom: 16px; }
.equipment-ui-aircraft h4 { font-size: 16px; margin: 0 0 5px; overflow-wrap: anywhere; }
.equipment-ui-aircraft p, #equipment-ui-cash { font-size: 12px; color: #69777c; overflow-wrap: anywhere; }
#equipment-ui-cash { text-align: right; font-variant-numeric: tabular-nums; }
.equipment-ui-options { border: 0; border-top: 1px solid #dfe6e9; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 10px 0 18px; padding: 12px 0 0; min-width: 0; }
.equipment-ui-options legend { font-weight: 600; font-size: 13px; padding-right: 8px; }
.equipment-ui-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; min-height: 34px; min-width: 0; }
.equipment-ui-checkbox input { width: 16px; height: 16px; accent-color: #267565; flex-shrink: 0; }
.equipment-ui-checkbox span { overflow-wrap: anywhere; }
.equipment-ui-checkbox:has(input:disabled) { color: #7a878b; }
.equipment-ui-engine { display: grid; gap: 6px; font-size: 12px; min-width: 0; }
.equipment-ui-engine select { min-height: 34px; width: 100%; padding: 5px 8px; border: 1px solid #ced8db; border-radius: 5px; background: #fff; color: #28363b; }
.equipment-ui-comparison { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12px; }
.equipment-ui-comparison th, .equipment-ui-comparison td { border-bottom: 1px solid #e6ecee; padding: 9px 7px; text-align: right; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.equipment-ui-comparison th:first-child { text-align: left; padding-left: 0; width: 30%; }
.equipment-ui-comparison thead { color: #69777c; font-size: 11px; background: #f4f7f7; }
.equipment-ui-comparison tbody th { font-weight: 500; }
.equipment-ui-changed { color: #267565; font-weight: 600; }
.equipment-ui-quote { padding: 14px 0; }
.equipment-ui-quote dl, .equipment-ui-order dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.equipment-ui-quote dt, .equipment-ui-order dt { color: #69777c; font-size: 11px; margin-bottom: 5px; }
.equipment-ui-quote dd, .equipment-ui-order dd { margin: 0; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.equipment-ui-total, .equipment-ui-factory-price { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #dfe6e9; font-size: 13px; }
.equipment-ui-total strong { font-size: 16px; }
.equipment-ui-order { padding: 13px 0; border-top: 1px solid #dfe6e9; border-bottom: 1px solid #dfe6e9; }
.equipment-ui-order > div { display: flex; justify-content: space-between; margin-bottom: 12px; gap: 12px; font-size: 13px; }
.equipment-ui-order-state { color: #267565; font-size: 12px; }
.equipment-ui-order-state[data-status="in_progress"] { color: #9a6800; }
.equipment-ui-validation, .equipment-ui-feedback { font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.equipment-ui-validation, .equipment-ui-error { color: #ab3f3f; }
.equipment-ui-muted, .equipment-ui-empty { color: #69777c; }
.equipment-ui-empty { font-size: 13px; padding: 12px 0; }
.equipment-ui-affected { margin: 10px 0; }
.equipment-ui-affected h4 { font-size: 12px; margin: 0 0 6px; }
.equipment-ui-affected ul { list-style: none; padding: 0; }
.equipment-ui-affected li { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; font-size: 12px; overflow-wrap: anywhere; }
.equipment-ui-affected li span { color: #69777c; }
.equipment-ui-impact-group { border-top: 1px solid #dfe6e9; padding: 8px 0; }
.equipment-ui-impact-group > summary, .equipment-ui-impact-row > summary { display: flex; justify-content: space-between; gap: 10px; cursor: pointer; font-size: 12px; min-height: 36px; align-items: center; }
.equipment-ui-impact-group > summary::before { content: '+'; flex: 0 0 12px; font-weight: 600; }
.equipment-ui-impact-group[open] > summary::before { content: '-'; }
.equipment-ui-impact-group > summary span { margin-left: auto; color: #69777c; flex-shrink: 0; }
.equipment-ui-impact-search { display: grid; gap: 5px; font-size: 11px; color: #69777c; margin: 8px 0; }
.equipment-ui-impact-search input { border: 1px solid #ced8db; border-radius: 4px; padding: 8px; width: 100%; min-width: 0; font-size: 13px; box-sizing: border-box; }
.equipment-ui-impact-row { border-bottom: 1px solid #e6ecee; }
.equipment-ui-impact-row > summary > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.equipment-ui-impact-row small { display: block; color: #69777c; margin-top: 4px; overflow-wrap: anywhere; }
.equipment-ui-impact-row ul { margin: 8px 0 10px; }
.equipment-ui-impact-row[hidden] { display: none; }
.equipment-ui-protected { color: #ab3f3f; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.equipment-ui-service, .equipment-ui-engine-facts { padding: 12px 0; border-top: 1px solid #dfe6e9; font-size: 12px; min-width: 0; }
.equipment-ui-service h4, .equipment-ui-engine-facts h4 { font-size: 13px; margin: 0 0 8px; }
.equipment-ui-service p, .equipment-ui-engine-facts p { line-height: 1.6; overflow-wrap: anywhere; margin: 6px 0; }
.equipment-ui-service-routes { max-height: 260px; overflow-y: auto; overscroll-behavior: contain; }
.equipment-ui-service-route { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 10px; padding: 9px 0; border-bottom: 1px solid #e6ecee; overflow-wrap: anywhere; }
.equipment-ui-service-route > span:not(:nth-child(2)), .equipment-ui-service-route > small { grid-column: 1 / -1; }
.equipment-ui-service small, .equipment-ui-engine-facts small { display: block; color: #69777c; line-height: 1.6; overflow-wrap: anywhere; }
.equipment-ui-engine-facts dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 10px 0; }
.equipment-ui-engine-facts dt { color: #69777c; font-size: 11px; margin-bottom: 4px; }
.equipment-ui-engine-facts dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.route-service-hardware { min-width: 120px; }
#route-service .route-operations-table { min-width: 720px; }
#route-service .route-operations-table th:nth-child(4) { width: 30%; }
.route-service-hardware small { display: block; margin-top: 4px; white-space: normal; line-height: 1.5; }
.equipment-ui-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border-top: 1px solid #dfe6e9; margin-top: 12px; padding-top: 16px; }
.equipment-ui-actions button { min-height: 36px; white-space: normal; }
.equipment-ui-actions button:disabled { opacity: .5; cursor: default; }
.equipment-ui-feedback { flex: 1 1 160px; color: #267565; }
.equipment-ui-feedback.equipment-ui-error { color: #ab3f3f; }
.equipment-ui-options input:focus-visible, .equipment-ui-options select:focus-visible, .equipment-ui-actions button:focus-visible { outline: 2px solid #267565; outline-offset: 2px; }
@media (max-width: 1180px) {
  .equipment-ui-checkbox, .equipment-ui-engine select, .equipment-ui-actions button { min-height: 44px; }
  .equipment-ui-checkbox input { width: 20px; height: 20px; }
  .equipment-ui-impact-group > summary, .equipment-ui-impact-row > summary, .equipment-ui-impact-search input { min-height: 44px; }
}
@media (max-width: 480px) {
  .equipment-ui-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .equipment-ui-aircraft { flex-wrap: wrap; gap: 6px; }
  #equipment-ui-cash { text-align: left; }
  .equipment-ui-options { column-gap: 10px; }
  .equipment-ui-comparison { font-size: 11px; }
  .equipment-ui-comparison th, .equipment-ui-comparison td { padding: 8px 4px; }
  .equipment-ui-order dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .equipment-ui-order dl > div:last-child { grid-column: 1 / -1; }
  .equipment-ui-affected li { flex-wrap: wrap; gap: 3px; }
  .equipment-ui-engine-facts dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .equipment-ui-service-route { grid-template-columns: minmax(0,1fr); }
}
/* ===== 功能区域色块 ===== */
.equip-zone { border-radius: 8px; padding: 14px 16px; margin-bottom: 14px; min-width: 0; }
.equip-zone-blue { background: rgba(59, 130, 246, 0.15); }
.equip-zone-gray { background: rgba(100, 116, 139, 0.10); }
.equip-zone-green { background: rgba(16, 185, 129, 0.15); }
.equip-zone-orange { background: rgba(245, 158, 11, 0.16); }
.equip-zone-purple { background: rgba(139, 92, 246, 0.16); }
.equip-zone-yellow { background: rgba(234, 179, 8, 0.18); }
.equip-zone-red { background: rgba(239, 68, 68, 0.13); }
/* 色块内部去除重复分隔线/内边距 */
.equip-zone .equipment-ui-aircraft { padding-bottom: 0; }
.equip-zone .equipment-ui-order { border-top: 0; border-bottom: 0; padding: 0; }
.equip-zone .equipment-ui-options { border-top: 0; padding-top: 4px; margin: 0; }
.equip-zone .equipment-ui-service,
.equip-zone .equipment-ui-engine-facts { border-top: 0; padding-top: 0; padding-bottom: 0; }
.equip-zone .equipment-ui-quote { padding: 0; }
.equip-zone .equipment-ui-actions { border-top: 0; margin-top: 0; padding-top: 0; }
